112 releases (69 stable)

3.3.0 May 3, 2026
3.2.0 Mar 23, 2026
2.18.2 Mar 1, 2026
2.11.0 Dec 31, 2025
0.1.0 Aug 13, 2023

#439 in Caching

Download history 73/week @ 2026-01-22 89/week @ 2026-01-29 50/week @ 2026-02-05 166/week @ 2026-02-12 45/week @ 2026-02-19 58/week @ 2026-02-26 51/week @ 2026-03-05 112/week @ 2026-03-12 77/week @ 2026-03-19 30/week @ 2026-03-26 16/week @ 2026-04-02 12/week @ 2026-04-09 3/week @ 2026-04-16 35/week @ 2026-04-23 26/week @ 2026-04-30 64/week @ 2026-05-07

129 downloads per month

MIT license

450KB
10K SLoC

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.

Dependencies

~20–52MB
~772K SLoC