Skip to content

jasisk/usage

 
 

Repository files navigation

Usage

Usage is a spec and CLI for defining CLI tools. Arguments, flags, environment variables, and config files can all be defined in a Usage spec. It can be thought of like OpenAPI (swagger) for CLIs. Here are some potential reasons for defining your CLI with a Usage spec:

  • Generate autocompletion scripts
  • Generate markdown documentation
  • Generate man pages
  • Use an advanced arg parser in any language
  • Scaffold one spec into different CLI frameworks—even different languages
  • [coming soon] Host your CLI documentation on usage.sh

See more at usage.jdx.dev.

Warning

This is beta software and may have breaking changes both with the CLI and schema design. You've been warned.

About

A specification for CLIs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 93.8%
  • Shell 5.6%
  • Dockerfile 0.6%