vonage
is the Vonage command line interface. It allows you to manage your account amd numbers, and configure your applications. It is built using oclif.
app app:show app:create (partial - change only, no removal of capabilities) app:update app:delete
- help text is not correct
This is the next generation Node-based Vonage CLI. The goals of this project were to make contributions easier, plugins more flexible, and make the CLI faster.
This project is built with lerna. The core plugins are located in ./packages.
The standard oclif
./bin/run.cjs
script serves as your entry point to the CLI in your local development environment. ./bin/run.cjs
is a symlink to the core package ./packages/cli/bin/run.cjs
.
You can quickly install the Vonage CLI by running the command npm install -g @vonage/cli
.
Clone the repository to your local machine.
This repository requires lerna
and typescript
to be installed globally. To do that:
- Run
npm install -g lerna typescript
Next, install dependencies and post-install will run lerna bootstrap
:
- Run
npm install
You will need to repeat these steps when you change branches or pull fresh code from the repository.
Run bin/run.cjs
to run the tool, in place of the vonage
command that this project uses when packaged.
If anything feels off, or if you feel that some functionality is missing, please check out the [contributing page][CONTRIBUTING.md]. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.
To create an oclif plugin and install it to the core package follow these steps.
Run npx oclif plugin packages/{plugin-name}
to create a plugin in a new directory.
When naming the package, it should be named @vonage/cli-plugin-{plugin-name}
.
To run the plugin in the CLI, you need to configure it with lerna as a local package.
First change directory cd packages/cli
. Next, run lerna add @vonage/cli-plugin-{plugin-name} --scope=@vonage/cli
to add the new package to the core.
Lastly, add it to the @vonage/cli
-> package.json
file.
{
"name": "@vonage/cli",
// ...
"oclif": {
"commands": "./lib/commands",
"bin": "vonage",
"plugins": [
"@oclif/plugin-help",
"@oclif/plugin-plugins",
"@vonage/cli-plugin-numbers",
"@vonage/cli-plugin-auth"
]
}
}