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.
[!CAUTION] This is a work in progress. The usage-cli code is not intended to be used by other people yet. Hopefully that will change soon and people can start testing it. Have a look at the docs and let me know what you think.