# Install usage with Homebrew, Nix, pacman

Tool for working with usage-spec CLIs. Version 4.1.0 via Homebrew; verified 2026-07-30. Also installable with nix: nix profile install nixpkgs#usage.

## Install

```sh
sudo av install brew:usage
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install usage
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#usage
```

  Evidence: nixpkgs package indexes: pkgs/by-name/us/usage/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S usage
```

  Evidence: Arch Linux sync databases: usage from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:usage
- **Package manager:** Homebrew
- **Version:** 4.1.0
- **Source summary:** Tool for working with usage-spec CLIs
- **Homepage:** <https://usage.jdx.dev/>
- **Repository:** <https://github.com/jdx/usage>
- **Last updated:** 2026-07-30T13:39:00Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- usage (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.1.0
## Project history and usage

usage is both a specification and a CLI for describing command-line interfaces. The official README compares a Usage spec to OpenAPI for CLIs, covering arguments, flags, environment variables, and config files so downstream tools can generate completions, documentation, man pages, parsers, SDKs, and framework scaffolding.

### Project history

The project grew out of the modern CLI tooling ecosystem around jdx's tools and the KDL document language. Public GitHub releases show early v0.1.x releases in 2024 and v3.x releases in 2026, while the docs describe an expanding scope from shell completions and man pages toward type-safe SDK generation.

### Adoption history

The official CLI docs list installation through mise, Cargo, Homebrew, and Arch Linux. The input metadata also records Homebrew, Nix, and pacman package names, indicating adoption by users who want the same CLI-spec tool available across developer workstations and Linux distributions.

### How it is used

A Usage spec is written in KDL and can describe a CLI's name, binary, about text, version, author, license, flags, arguments, subcommands, config files, environment variables, and defaults. The `usage` CLI then consumes that spec to generate shell completions, Markdown, man pages, JSON, and related artifacts.

### Why package nerds care

Package nerds care about usage because it treats CLI metadata as a portable build artifact. Instead of each package separately hand-maintaining completions, man pages, and docs, maintainers can ship a spec and generate those outputs consistently.

### Timeline

- 2024: Early v0.1.x GitHub releases published.
- 2026-06-23: GitHub release v3.5.3 published.

### Related projects

- The official docs relate Usage to OpenAPI for CLIs, KDL as the spec language, and integrations for CLI frameworks such as clap, Cobra, Click, Typer, yargs, oclif, and Commander.js.

### Sources

- <https://github.com/jdx/usage>
- <https://github.com/jdx/usage/releases>
- <https://usage.jdx.dev/cli/>
- <https://usage.jdx.dev/spec>
- input source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - usage: normalized package name match | nixpkgs package indexes: pkgs/by-name/us/usage/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - usage - 3.5.5-1: normalized package name match | Arch Linux sync databases: usage from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A specification for CLIs | https://github.com/jdx/usage


## Combined YAML source

View the package source record on GitHub. [combined/usage.yml](https://github.com/mxcl/pkgdb/blob/main/combined/usage.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
