Skip to content

Harnesses ​

shibbo init <harness> writes the rules, the MCP server entry and any hooks the harness supports into your project. The rules open with a Say it clearly section, then list the writing tells and agent habits to avoid. Run it from the repo root. It merges into existing files, keeps the hooks you already have, and never overwrites a file it can't parse.

bash
npx shibbo init cursor --model claude-opus-5-5   # rules tuned for the model you use in Cursor
npx shibbo init codex --dry-run                   # show what it would write

Support table ​

Checked against each harness's own documentation on 7 November 2026.

Harnessinit idRules fileMCPAfter-edit checkReply check
Claude CodeclaudeCLAUDE.md.mcp.jsonyesyes
OpenAI Codex CLIcodexAGENTS.md.codex/config.tomlyesno
CursorcursorAGENTS.md.cursor/mcp.jsonexperimentalno
GitHub CopilotcopilotAGENTS.md.vscode/mcp.json, .mcp.jsonexperimentalno
Gemini CLIgeminiGEMINI.md.gemini/settings.jsonyesyes
Devin Desktop (Windsurf)devinAGENTS.md.devin/mcp_config.jsonexperimentalno
ClineclineAGENTS.mdsettings UIyesno
Roo CoderooAGENTS.md.roo/mcp.jsonno hooksno
AideraiderCONVENTIONS.mdnot supportedyes, via lint-cmdno
KirokiroAGENTS.md.kiro/settings/mcp.jsonexperimentalno
JetBrains JuniejunieAGENTS.md.junie/mcp/mcp.jsonuser config onlyno
AmpampAGENTS.md.amp/settings.jsonpluginno
OpenCodeopencodeAGENTS.mdopencode mcp addnot confirmedno
GoosegooseAGENTS.mduser confignono
ZedzedAGENTS.mduser settingsno hooksno
Continuecontinue.continue/rules/.continue/mcpServers/no hooksno
WarpwarpAGENTS.md.warp/.mcp.jsonno hooksno

Experimental means the harness documents the hook but not every field shibbo reads. init marks these; if nothing comes back after an edit, fall back to the rules line that asks the agent to call check_text.

One rules file for most of them ​

Codex, Cursor, Copilot, Devin Desktop, Cline, Roo, Amp, Goose, Junie, Kiro, OpenCode and Warp all read AGENTS.md natively. Claude Code reads it when no CLAUDE.md exists, or through an @AGENTS.md line inside CLAUDE.md. Gemini CLI needs context.fileName set to include it; Aider needs read: AGENTS.md. So if your team uses several harnesses, npx shibbo export agents covers most of them at once.

Choosing the model for the rules ​

The rule block ranks tells by what one model over-uses. Pass the model you use most with --model. If your team mixes models, leave it out: the block then covers the tells every measured model shares.

Measurements from Graphite’s AI Tells (2026), CC BY 4.0. Code under MIT.