Throughout a career, specific projects naturally stand out. The Vonage CLI is one of those projects for me, and I can now tell you that the CLI (Command Line Interface) is in beta! The future potential of the CLI and the power of a new plugin architecture have me excited to bring you the news!
How It's Built
When initially planning the new CLI architecture, there were two essential requirements: plugins and modularizing our packages better.
We chose oclif, a CLI framework written by the team at Heroku and used for their own internal project, including the Heroku CLI. Ultimately, the decision came down to its ease of use, and the plugin architecture built into the framework. Both of which satisfied our requirements.
The plugin architecture will help us to build, deliver, and support additional use cases and functionality that would have been otherwise impossible in our current CLI.
Along with being able to create and install plugins, the processes for quickly versioning and deploying them are equally critical. These reasons are why I chose Lerna to support our multi-package repository. Having the ability to link local packages together made versioning and deploying plugins so much easier.
The real power I found was in deployments. The Lerna CLI steps you through the process of versioning packages and offers the option of only releasing new or keeping the same versions of any updated software. In all, I fell in love with Lerna and enjoy this methodology.
How to Help
The beta is currently available for testing and can be installed using npm
:
Once installed, you can get around using the --help
flag on any command to learn more about the arguments and flags available. The first thing you will want to do is get your authentication set up. You can do with the following:
We also have two plugins in beta - In-App Conversations and Users. Once you have the CLI installed, you can also add these:
Both users and conversations will expect you to have an application created:
Feedback
I'm working on getting this to v1.0 as quickly as I can, and I won't get it entirely right without your help as well. Install it, break things, and send me some issues on the Vonage CLI Github repo, ask questions in our Slack community in the #vonage-cli
channel, or email us at devrel@vonage.com
.
Kelly J Andrews is a developer advocate for Nexmo and has been tinkering with computers for over 30 years, using BASIC for the first time at the age of 5.
It wasn't until building his first webpage in 1997, and trying out JavaScript for the first time that he found a true calling. Kelly now fights for JavaScript, testable code, and fast delivery.
You can find him singing karaoke, performing magic, or cheering for the Cubs and Fighting Irish.