Integrations
Export a Usage spec from your existing CLI framework, then use it for completions, reference docs, man pages, and generated clients. The integration reads your application's declaration; your framework continues to parse and run the CLI.
Start with the clap guide or Cobra guide, or choose a community integration below. Each exporter supports a different subset of its framework's features. Check its feature mapping and any loss report before relying on the generated interface.
Available
| Framework | Language | Package |
|---|---|---|
| Cobra | Go | cobra_usage |
| Kong | Go | kong-usage |
| urfave/cli | Go | urfavecli-usage |
| clap | Rust | clap_usage |
| argparse | Python | argparse-usage |
| OptionParser | Ruby | option_parser_usage |
| Commander.js | Node.js | @usage-spec/commander |
| oclif | Node.js | @usage-spec/oclif |
| yargs | Node.js | @usage-spec/yargs |
| Typer | Python | usage-spec-typer |
| Click | Python | usage-spec-click |
| JCommander | Java | jcommander-usage |
| picocli | Java | picocli-usage |
| Clikt | Kotlin | clikt-usage |
Planned
These frameworks are candidates for future integrations, not available packages. See Contributing before starting a new exporter.
High priority
| Framework | Language |
|---|---|
| Spectre.Console | C#/.NET |
| Symfony Console | PHP |
| Thor | Ruby |
| cxxopts | C++ |
| CommandLineParser | C#/.NET |
| CLI11 | C++ |
| Laravel Zero | PHP |
| swift-argument-parser | Swift |
| System.CommandLine | C#/.NET |
Medium priority
| Framework | Language |
|---|---|
| zig-clap | Zig |
| optparse-applicative | Haskell |
| cligen | Nim |
| argparse | Lua |
| Getopt::Long | Perl |
| OptionParser | Elixir |
| getopt | C |