Language and Runtime
What language and runtime each CLI library targets.
Commander.js
JavaScript/TypeScript, running on Node.js.
Yargs
JavaScript/TypeScript, running on Node.js.
oclif
JavaScript/TypeScript, running on Node.js, designed with multi-command, plugin-based CLIs in mind.
Click
Python, the most widely used third-party CLI library for the language.
argparse
Python, part of the standard library itself, requiring no external dependency.
Typer
Python, built directly on top of Click, adding a type-hint-driven interface layer over it.
Cobra
Go, compiled to a single static binary along with the rest of the program.
Clap
Rust, compiled to a single static binary with no runtime dependency.
Thor
Ruby, framework-agnostic though most famous for being the engine behind the Rails CLI itself.
picocli
Java (and other JVM languages), distributed as a single dependency-free JAR.
Symfony Console
PHP, usable standalone or as the foundation other PHP tools (most notably Laravel’s Artisan) build their own CLI on top of.