Build a rig
Initialize a rig
rig init — write a manifest by inspecting what's already in the folder.
cd path/to/agent-workspace
rig initBy default this is an interactive wizard. It scans the folder, infers most of the manifest, and asks you to confirm or fill in the rest.
What gets inferred
| From | Into |
|---|---|
| Folder name | [rig].name (you can change it) |
| Your git config | [rig].author (asked, you can override) |
.mcp.json | [mcp].config + [mcp].servers |
.env.example placeholders | [env].required + [env].template |
Shell scripts, package.json, etc. | [tools].required |
.claude/settings.json permissions | [permissions].allow / [permissions].deny |
.claude/settings.json plugin hints | [plugins].required |
| Folder shape (data/, scripts/, …) | [package].include / [local].dirs |
You're shown each inference and asked whether to accept it. Accepting all
defaults is fine; you can refine later by editing rig.toml directly.
What gets written
rig.tomlat the workspace root..claude/skills/rig/SKILL.md— the skill that teaches Claude Code in this workspace how to interpretrig doctorand repair gaps..claude/CLAUDE.md— minimal hint pointing Claude at the skill (created if absent; otherwise left alone)..rigignoreplaceholder (only if you ask for one) — additive excludes beyond the defaults.
Nothing else. rig init is read-mostly: it doesn't install MCP servers, doesn't write env values, doesn't create folders. Setup happens in rig install.
Flags
| Flag | What |
|---|---|
--force | Overwrite an existing rig.toml. Otherwise refuses. |
--author <name> | Set author explicitly (skips the prompt). |
--json | Machine-readable summary of what was written. |
--plain | Non-interactive defaults. |
After init
Read the generated rig.toml. Then:
- Decide what gets shared and opt files in as needed.
- Pack and inspect.
- Publish.
Making it collaborative later
Add a [sync] section to rig.toml (see collab manifest)
and run rig share --enable. You don't need to re-init the rig.