Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

usage 6.8.0 download

A specification for CLIs

This is an older version. The current version is 7.0.1. usage 7.0.1 · Released:

Installer files 6.8.0

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit ZIP → Portable — — github.com VirusTotal
ARM64 ZIP → Portable — — github.com VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

This release gives the usage CLI native shell completions (including PowerShell), adds a configurable link extension for Markdown docs, and fixes a batch of synopsis and Markdown rendering issues across docs and man pages.
Added
- (cli) Native shell completions (#1388, @jdx). usage --completions <shell> now emits native scripts that call the installed binary's compiled completion handler instead of caching a spec and relying on the bash-completion helpers. Bash, Zsh, Fish, and a new PowerShell script are all supported, and scripts use command usage so a shell function or alias can no longer shadow the executable. All four scripts are published alongside the CLI spec as signed Packslip resources. General usage generate completion behavior is unchanged.
- (docs) Configurable Markdown link extension (#1394, @jdx). Generated Markdown links previously always ended in .md, forcing consumers who serve HTML or extensionless pages to rewrite links after generation. A new --link-extension flag (and MarkdownRenderer::with_link_extension, default .md) controls the suffix on command and configuration links without changing output filenames:
usage generate markdown --file mycli.usage.kdl --link-extension .html
Custom templates now also receive link_extension and config_link in their context.

Fixed
- (docs) Render optional subcommands and mount synopses (#1393, @jdx). Generated synopses showed <SUBCOMMAND> even when a command could run without one; the shared usage string now honors subcommand_required (using [SUBCOMMAND] when optional) and custom placeholder names, keeping terminal help, Markdown, man pages, JSON, and SDK docs consistent. Unresolved mounts can also declare a display-only synopsis (for example mount run="mycli tasks --usage" synopsis="[TASK] [ARGS]…") to document dynamic arguments without running discovery; parsing and completion are unchanged.
- (docs) Preserve Markdown code blocks and headings (#1392, @jdx). Indented help text was converted to code fences by stripping four spaces from every matching line, which could corrupt nested lists and existing fenced examples. Markdown code-block boundaries are now parsed so only real indented code blocks are converted, fences are chosen longer than any embedded backtick runs, and HTML escaping recognizes longer fences. Hidden subcommands are now filtered out before the Subcommands heading, and the duplicate synopsis line was removed from the multipage index.
- (manpage) Render mount synopses and custom command names (#1395, @jdx). Completes the man-page side of the synopsis fixes above. The man-page renderer now carries declarative mount synopses and custom subcommand names into its own synopsis (instead of hard-coded <COMMAND>/[COMMAND]), includes mount fragments in root and subcommand synopses without running discovery, and emits a detail section for a command whose only documentation is a mount synopsis.

Changed
- (docs) Refreshed guides, navigation, and landing page (#1391, @jdx). A new getting-started guide walks from install through KDL, lint/explain, docs/man, completions, and diff. Navigation is reorganized into guides, framework docs, and references with route-specific sidebars; the landing page is simplified with clearer starting points for Rust apps, existing CLIs, and scripts. Installation commands, Rust and SDK examples, and completion setup were corrected, Go is now labeled a development preview, and broken links across all 171 Markdown files were fixed.

💚 Sponsor usage
usage is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If usage powers CLI specs, docs, or completions for a tool you maintain or use, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep usage fast, free, and independent.

https://github.com/jdx/usage/releases/tag/v6.8.0

Most popular in Terminals & CLI tools

See all
  1. PowerShellPowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.
  2. QPDFQPDF is a command-line tool and C++ library that performs content-preserving transformations on PDF files.
  3. Oh My PoshPrompt theme engine for any shell
  4. Microsoft Azure CLIThe Azure command-line interface (Azure CLI) is a set of commands used to create and manage Azure resources. The Azure CLI is available across Azure services and is designed to get you working quickly with Azure, with an emphasis on automation.
  5. yqyq is a portable command-line YAML, JSON, XML, CSV and properties processor.
  6. AlacrittyAlacritty is a free and open-source GPU accelerated terminal emulator focused on performance and simplicity.
  7. fzfA general-purpose command-line fuzzy finder
  8. PuTTYA free implementation of SSH and Telnet for Windows and Unix platforms, along with an xterm terminal emulator.
  9. cURLCommand line tool and library for transferring data with URLs
  10. TabbyA terminal for a more modern age.

More from jdx

See all

Tags

Share