hero

Build Awesome CLI with Node.js

A full-featured framework for building Command Line Applications with Node.js

Get Started →

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:

Matthias Etienne
Michael Inthilith
Andreas Håkansson
Fabio Spampinato
@Szpadel

...but also Alex Sears, Bart Busscots, Bobby Earl, Brayden Winterton, Daniel Ruf, Drew J. Sonne, Francisco Javier, George Cox, Ihor Halchevskyi, Ilyar, Jacob Horbulyk, Jorge Bucaran, Krzysztof Budnik, Kévin Berthommier, Köble István. See full list.