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:

ToolUsed for
claudeThe Claude Code CLI (always required for runtime = "claude-code").
uvxRunning Python MCP servers via uv.
uvSame project; sometimes needed standalone.
npxRunning Node-based MCP servers.
nodeDirect Node script execution.
pythonDirect Python execution.
gitSome rigs script git operations.

What rig will and won't do

  • Will check tools are on PATH and surface what's missing via rig doctor.
  • Will include install hints in rig doctor --json when known (e.g. pointing at the install URL for uv or node).
  • 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/uv

See also