jdx.usage
5.0.0

A specification for CLIs
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 - Generate type-safe SDK client libraries for TypeScript, Python, and Rust - 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