Setup
Set up Zanei with native integration or printed instructions for manual placement.
Zanei ships one canonical skills/SKILL.md. zanei setup installs it unchanged for agents with native skill support. For opencode and pi, it derives an instruction snippet, prints it to stdout, and leaves placement to you. For MCP, setup prints the registration command to run — only Claude Desktop’s config file is written directly; opencode’s MCP JSON is likewise printed for manual configuration.
zanei setup --agent <claude|codex|opencode|hermes|pi|claude-desktop> [--scope project|user] [--print]
| Flag | Description |
|---|---|
--agent |
Target: claude / codex / opencode / hermes / pi / claude-desktop |
--scope |
project (default; current repository) or user (account-wide). It has no effect on the manual opencode/pi output |
--print |
Preview planned file changes without writing. opencode and pi never write files, with or without this flag |
Per-agent setup
zanei setup --agent claudeThis installs the canonical SKILL.md unchanged where Claude Code discovers skills, and prints the MCP registration command to run:
claude mcp add zanei -- zanei mcpWith --scope user, the skill installs for all your projects instead of the current repository.
zanei setup --agent codexInstalls the canonical SKILL.md unchanged at ~/.codex/skills/zanei/SKILL.md and prints the MCP registration command to run:
codex mcp add zanei -- zanei mcpor in Codex’s config.toml:
[mcp_servers.zanei]
command = "zanei"
args = ["mcp"]Codex skills and MCP registration are user-global, so setup always targets ~/.codex/ regardless of --scope.
zanei setup --agent opencodeThis command does not modify any files. It prints the MCP JSON below and an AGENTS.md snippet derived from the canonical SKILL.md body. Add the JSON to opencode.json, then paste the instruction snippet wherever you prefer in AGENTS.md. The behavior is the same with or without --print.
{
"mcp": {
"zanei": { "type": "local", "command": ["zanei", "mcp"] }
}
}zanei setup --agent hermesHermes has first-class skills and MCP, both user-global under ~/.hermes/. Setup installs the canonical SKILL.md unchanged at ~/.hermes/skills/zanei/SKILL.md and prints the MCP registration command to run:
hermes mcp add zanei --command zanei --args mcpor in ~/.hermes/config.yaml:
mcp_servers:
zanei:
command: "zanei"
args: ["mcp"]Because Hermes configuration is user-global, --scope project does not apply here — setup always targets ~/.hermes/.
zanei setup --agent claude-desktopClaude Desktop has no shell, so MCP is the only surface. The command registers the server in claude_desktop_config.json:
{
"mcpServers": {
"zanei": {
"command": "zanei",
"args": ["mcp"]
}
}
}zanei setup --agent pipi ships without MCP and does not support native skills. This command does not modify any files: it derives an instruction snippet from the canonical SKILL.md body and prints it to stdout. Paste the snippet wherever you prefer in a README or another instruction file that pi reads. The behavior is the same with or without --print; zanei mcp is not used.
Other MCP-capable agents not listed above: register zanei mcp as a stdio server using the client’s standard MCP configuration — the JSON shape is the same as the Claude Desktop snippet.
Verify it works
- Make sure recording is on:
zanei status(agents can check this themselves viaget_status). - Ask your agent something like “check what I was working on in the last hour.”
- The agent should call
get_timeline(MCP) orzanei timeline(CLI) and answer from your actual activity.
If the agent reports that recording is off, run zanei start — and if that complains about permissions, zanei doctor --fix (see the permissions guide).