116 releases (70 stable)

new 3.2.0 Mar 23, 2026
2.18.2 Mar 1, 2026
2.11.0 Dec 31, 2025
2.8.0 Nov 12, 2025
0.1.17 Mar 17, 2024

#1 in #markdown-documentation

Download history 1965/week @ 2025-12-03 3473/week @ 2025-12-10 2619/week @ 2025-12-17 878/week @ 2025-12-24 1769/week @ 2025-12-31 1647/week @ 2026-01-07 4204/week @ 2026-01-14 2606/week @ 2026-01-21 4243/week @ 2026-01-28 2636/week @ 2026-02-04 2544/week @ 2026-02-11 2610/week @ 2026-02-18 3088/week @ 2026-02-25 4454/week @ 2026-03-04 3229/week @ 2026-03-11 4105/week @ 2026-03-18

15,346 downloads per month
Used in 12 crates (5 directly)

MIT license

335KB
9K 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

~10–41MB
~564K SLoC