Manifest reference
[tools] — required CLIs
CLI commands the rig expects on PATH. rig doctor checks; rig does not install them.
[tools]
required = ["claude", "uvx", "node"]Fields
required (list of strings)
CLI command names. rig doctor runs which <name> (or equivalent) for each
and reports missing ones.
Common entries:
| Tool | Used for |
|---|---|
claude | The Claude Code CLI (always required for runtime = "claude-code"). |
uvx | Running Python MCP servers via uv. |
uv | Same project; sometimes needed standalone. |
npx | Running Node-based MCP servers. |
node | Direct Node script execution. |
python | Direct Python execution. |
git | Some rigs script git operations. |
What rig will and won't do
- Will check tools are on
PATHand surface what's missing viarig doctor. - Will include install hints in
rig doctor --jsonwhen known (e.g. pointing at the install URL foruvornode). - Will not install tools for you. Language runtimes and package managers are out of scope — they're the user's responsibility.
This is by design. A rig declaring python shouldn't trigger a Python
install on the user's machine.
What about versions?
Rig does not currently check tool versions. [tools].required = ["python"]
verifies python is callable, not that it's >= 3.11. If your rig needs a
specific version, document it in the README and check at runtime (e.g. in
your scripts).
This may change — see MVP notes.
Example
[tools]
required = [
"claude", # the agent runtime
"uvx", # for the Python MCP servers
"git" # the data refresh script clones a public repo
]rig doctor output for a missing tool:
✗ tool uvx required, not on PATH
install: https://astral.sh/uvSee also
[mcp]— MCP server declarations often need specific tools.- Troubleshoot — missing tool
- Doctor JSON contract