# Contributing
# Getting Started
This CLI is a monorepo managed with Lerna (opens new window). Check out the main repo and bootstrap it to get started with local development:
cd voxable-cli
yarn
lerna bootstrap --scope @voxable/cli
lerna bootstrap --scope @voxable/client
lerna bootstrap --scope @voxable/command
lerna bootstrap
At this point, you can run the CLI from the root directory of the project with: yarn run cli
In order to simplify local development (opens new window), project files are compiled into JavaScript in lib
alongside their TypeScript sources.
# Documentation
This documentation site is built with Vuepress (opens new window). It is housed within the docs
directory of the open source Voxable CLI (opens new window).
To run the docs locally, run the following from the root directory of that project:
yarn run docs:dev
# Developing plugins
To use a plugin with your local checkout of the CLI, link the plugin to your project, then install it:
$ yarn run cli plugins:link packages/plugin-bespoken
This will create a file ~/.local/share/@voxable/cli/package.json
with the following content:
{
"private": true,
"oclif": {
"schema": 1,
"plugins": [
{
"type": "link",
"name": "@voxable/cli",
"root": "/Users/someuser/git/voxable-cli/packages/cli"
}
]
},
"dependencies": {}
}
Edit the name
and root
of the member of the plugins
array with a name of @voxable/cli
to instead point at your plugin:
{
"private": true,
"oclif": {
"schema": 1,
"plugins": [
{
"type": "link",
"name": "@voxable/plugin-bespoken",
"root": "/Users/someuser/git/voxable-cli/packages/plugin-bespoken"
}
]
},
"dependencies": {}
}
# Creating a new plugin
npx oclif plugin newplugin
cd mynewplugin
yarn add @oclif/plugin-plugins @oclif/plugin-help
- Copy an existing plugin's
package.json
and edit appropriately. - From the root directory, run
lerna bootstrap --scope @voxable/plugin-newplugin
- Follow the
plugin:link
steps in the section above for your new plugin. - Run
yarn run cli plugins
to ensure you see your new plugin listed.
β Colang Plugin Community β