Build Awesome CLI with Node.js
A full-featured framework for building Command Line Applications with Node.js
Easy to use
Clean documented API to write simple or complex programs in Javascript or Typescript.
Multi commands
Build mono-command programs as well as multi-commands program like git.
Colorful
Uses the chalk package to bring colors and joy to your programs.
Validation
Validate arguments and options using ready to use flags or bring you own.
Auto-completion
Supercharge your programs with built-in shell autocompletion in bash, zsh and fish.
Inquirer integration
Integrates with inquirer to power up users interactions & UI
Built with Typescript
Harder. Better. Stronger. Battle tested with more than 200 unit tests.
Typo suggestions
Let users know about their mistakes and suggest them some solutions.
Auto generated help
Beautiful yet customizable help auto generated for you.
They are using Caporal
More than 360 packages are using Caporal for their CLI, among which:
- es-check: Checks the EcamScript version of .js glob against a specified version of EcamScript with a shell command.
- eslint-generate-todo: Tool for generating eslint todo files.
- balanceofsatoshis: Lightning balance CLI.
- icon-font-buildr: Build custom icon fonts, it supports remote and local icons sources.
- node-appletv-x: A Node.js library for communicating with an Apple TV.
- handel: Orchestrates your AWS deployments so you don't have to.
- mume-cli: markdown toolkit powered by mume.
- @fabiospampinato/bump: Bump updates the project's version, updates/creates the changelog, makes the bump commit, tags the bump commit and makes the release to GitHub. Opinionated but configurable.
- project-snippets: Keep code snippets directly in your project repository and let anyone create files easily and quickly.
- node-appletv: A Node.js library for communicating with an Apple TV.
- citc-cli: Develop React projects with ease.
- @nodebrick/nodebrick-cli: Nodebrick Command-Line Interface (CLI).
Contributors
Thanks goes to these wonderful people for contributing to Caporal: