- Python 3.11 or newer
- One or more supported hosts. Codex, Claude Code, Oh My Pi (OMP), Grok Build, and Kimi Code are live-verified for the current local candidate; GitHub Copilot, Cursor Agent, and Goose are experimental.
uvis recommended for isolated tool installation
Brief-Spec has no runtime Python dependencies and performs no network calls from hooks.
The public GitHub release is currently v0.2.0. The source checkout is a
v0.5.0 candidate and must not be described as published until hosted CI,
GitHub Release, and PyPI evidence all pass. The five required local live-host
gates are green.
Install the public release:
uv tool install git+https://github.com/luanmorenommaciel/brief-spec.git@v0.2.0
briefspec install all --scope user
briefspec doctor all --probeThose commands intentionally use the legacy v0.2.0 interface. The briefspec
alias remains supported throughout 0.x, but new installations use brief-spec.
Dogfood the candidate from its checkout:
uv tool install --force --reinstall . \
--with ./packages/briefspec-renderer-pdf \
--with ./packages/briefspec-renderer-audio
brief-spec setup all --scope user --require codex,claude,omp,grok,kimi
brief-spec doctor all --scope user --probe --all-scopesAfter v0.5.0 is published to PyPI, replace the candidate with immutable,
version-pinned distributions:
uv tool install --force "brief-spec==0.5.0" \
--with "brief-spec-renderer-pdf==0.5.0" \
--with "brief-spec-renderer-audio==0.5.0"
brief-spec setup all --scope user --require codex,claude,omp,grok,kimi
brief-spec doctor all --scope user --probe --all-scopesInstall or inspect one host:
brief-spec setup codex
brief-spec setup claude
brief-spec setup omp
brief-spec setup grok
brief-spec setup kimi
brief-spec doctor all --probeThe portable installer copies the three skills, creates a self-contained runtime zipapp, merges host
hook configuration, and writes a receipt. It does not require a host executable to be present;
doctor reports a missing executable as a warning so configuration can be prepared ahead of time.
setup all installs detected harnesses only; use --require when named absences must fail.
Upgrade ownership requires both a receipt path and its prior hash; a
Brief-Spec-looking marker is not ownership. If a receipt-owned skill was edited
locally, setup preserves it and stages the new bytes beside it as
*.brief-spec-new. Doctor reports the drift. After reviewing the difference,
replacement requires explicit doctor --fix --replace-modified flags.
Preview without writing:
brief-spec setup all --dry-runbrief-spec setup copilot --scope project --project .
brief-spec doctor copilot --scope project --project . --probeCommit the generated .github/brief-spec/, .github/hooks/,
.github/instructions/, and .agents/skills/ files when a Copilot cloud job must discover them.
The bridge is network-free and stores only ephemeral counters during the job.
Codex and Claude also support project scope:
brief-spec setup codex --scope project
brief-spec setup claude --scope projectA Codex project install resolves .codex/brief-spec/brief-spec.pyz from
git rev-parse --show-toplevel at hook execution time, so starting a task in a
nested repository directory does not change the bundle location. Windows
installs receive the equivalent commandWindows PowerShell override.
A Claude Code project install writes skills to .claude/skills/ so the host discovers
outcome-brief and session-checkpoint natively, and anchors hook commands on
$CLAUDE_PROJECT_DIR so they keep working when a session's working directory moves.
brief-spec doctor resolves scope automatically: it reports the project install when one
exists for the current directory and the user install otherwise; pass --scope to force one.
OMP supports skills and lifecycle extensions at user and project scope. Grok Build receives native
.grok/skills assets and a receipt-owned .grok/hooks/brief-spec.json. Kimi project setup installs
skills only; lifecycle automation requires the user-wide managed Brief-Spec plugin, and doctor
reports that boundary instead of claiming project-scoped hooks.
The PDF and audio packages are injected into the isolated Brief-Spec tool environment. The core package remains dependency-free.
For candidate testing from this checkout:
uv tool install --force . \
--with ./packages/briefspec-renderer-pdf \
--with ./packages/briefspec-renderer-audio
brief-spec capabilities all --json
brief-spec doctor codex --fixdoctor --fix may download Playwright Chromium when the PDF renderer is
installed. It reports missing ffmpeg, ffprobe, or Poppler tools rather than
silently installing system packages. The audio renderer uses local macOS
say by default; OpenAI speech requires --audio-provider openai and
--consent-network on the export or bundle command.
The portable user-scope installation is the authoritative global integration. Do not also install Brief-Spec through native Codex or Claude plugin systems; duplicating lifecycle hooks makes ownership and rollback ambiguous. The native commands below are retained for users who deliberately choose the plugin-only path instead of portable setup.
The repository ships native manifests in addition to the portable installer.
codex plugin marketplace add luanmorenommaciel/brief-spec --ref v0.5.0
codex plugin add brief-spec@brief-specclaude plugin marketplace add luanmorenommaciel/brief-spec
claude plugin install brief-spec@brief-spec --scope userFor local development, pass the absolute checkout path to each marketplace command.
copilot plugin marketplace add luanmorenommaciel/brief-spec
copilot plugin install brief-spec@brief-specVS Code can discover plugins installed by Copilot CLI. Agent plugins and hooks in VS Code are currently Preview features and may be disabled by organization policy.
Native plugin installation gives the host its normal plugin inventory experience. It does not replace the portable runtime, receipts, drift detection, or transactional multi-host setup.
uv tool upgrade brief-spec
brief-spec setup all --scope user
brief-spec doctor all --probe --all-scopesInstallation is idempotent. Brief-Spec-owned assets are refreshed; foreign or locally modified files cause a conflict instead of being overwritten. If any write fails during one runtime installation, the installer restores every managed path to its exact pre-install content.
brief-spec uninstall all --scope userProject installations require the same scope and project path used during installation. Uninstall removes only matching receipt-owned files. Shared files still used by another runtime and modified files are preserved with warnings.