Popular: Data updated November 13, 2026

Categories

Internet1,412
Communication327
Audio & video934
Graphics & design563
Office & productivity1,172
Developer tools3,272
AI tools599
Security & privacy407
System tools3,179
Games543
Education & science240
Network & IT292

usage 7.1.0 download

A specification for CLIs

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

Installer files 7.1.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 adds usage-spec-effect, a new npm package that turns Effect v4 effect/cli command trees into usage specs. It also fixes bash completions from usage-argv, which could pass the command a different value than the one offered when a candidate contained quotes, spaces or other shell syntax.
Added
- (spec) usage-spec-effect exports a usage spec from an Effect v4 effect/cli command tree (#1564, @jdx). Effect still parses and runs the CLI, and the spec drives shell completions, markdown docs and man pages. It requires effect 4.x.
npm install usage-spec-effect
import { generate } from "usage-spec-effect";
if (process.argv.includes("--usage-spec")) {
process.stdout.write(generate(app, { version: "1.0.0" }));
process.exit(0);
}
mycli --usage-spec | usage generate completion bash mycli --file -
The exporter handles nested subcommands, aliases, unlisted commands, examples, shared flags (exported as global), flag aliases, boolean and valued flags, choices, defaults, and optional and variadic args. Some constructs can only be exported approximately: orElse alternatives, file, redacted and key-value types (exported as strings), non-primitive defaults, and flags with an optional value. generateWithReport returns these in an unsupported list so they aren't dropped without notice. Effect's public Command type doesn't expose flags or arguments, so the exporter reads the command's runtime config. If a future Effect release changes that shape, generate throws an error that names the command. See the Effect integration guide.

Fixed
- (bash) usage-argv and usage-dynamic now escape bash completion candidates so the command gets the value that was offered (#1566, @jdx). Before this fix, Readline put candidates on the line unescaped, so a candidate like tasks."hello.sh" reached the command as tasks.hello.sh, and it's here left an unclosed quote on the line. Candidates are now backslash-escaped. When a quote is already open in the word (', " or $'), each candidate is escaped for that quote style instead. Path completions still use Readline's own filename quoting, and zsh and fish were already correct. Hosts handling __complete_word__ should call render_request(&answer, &request) instead of render(&answer, shell) so the open-quote state is used. App::completion_request in usage-dynamic already does this. The script-based bash completions behind usage complete-word are unchanged, since compgen -W can't carry spaces or quotes in candidates.

💚 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/v7.1.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. fzfA general-purpose command-line fuzzy finder
  7. AlacrittyAlacritty is a free and open-source GPU accelerated terminal emulator focused on performance and simplicity.
  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