Supported harnesses
ai-rulez has 52 built-in presets, one per AI coding harness. A preset writes the harness’s native layout: its file
names, frontmatter, directories and settings documents. List the presets you use in config.toml; for a harness that
is not listed, write a provider-backed custom preset.
presets = ["claude", "cursor", "codex", "gemini"]ai-rulez generateWith one path-scoped rule, one always-on rule, a skill, an agent, a command and an MCP server, those four presets write:
AGENTS.md # every rule for codex and gemini (the path-scoped one inlined); imported by CLAUDE.mdCLAUDE.md # @AGENTS.md.mcp.json # MCP servers (Claude Code reads the root file).claude/settings.json # the default [session_start] hook.claude/rules/api.md # path-scoped rule.claude/skills/deploy/SKILL.md.claude/skills/ship/SKILL.md # the command, as a user-invocable skill.claude/agents/reviewer.md.cursor/rules/api.mdc.cursor/commands/ship.md.cursor/agents/reviewer.md.cursor/mcp.json.agents/skills/deploy/SKILL.md # shared by codex, cursor and gemini.agents/skills/ship/SKILL.md # the command, as a codex skill.agents/skills/ship/agents/openai.yaml.codex/agents/reviewer.toml.codex/config.toml # MCP servers.gemini/agents/reviewer.md.gemini/settings.json # MCP serversCodex and Gemini CLI have no rules folder, so the path-scoped rule is also inlined into AGENTS.md, which Claude
Code and Cursor read too; generate warns about it and suggests [rules] scoped_fallback = "skill".
ai-rulez init lists every built-in preset in a comment of the new config.toml. Three more preset names are
not harnesses: mcp (only the root .mcp.json), okf and llms-txt.
Feature matrix
Section titled “Feature matrix”yes means the preset writes that output at project level, - that it does not (the reason is under
Skipped features).
- Rules: a native rules folder.
-means rules are inlined into the root instructions file (lettahas none, so it gets no rules). - Commands: slash commands. Where the harness has no command folder, a command is written as a skill (
claude,codex,antigravity,devin,warp) or as a prompt or workflow file (copilot,pi,cline,kiro). - Hooks and Perms:
yesrenders into a project file;userrenders only withgenerate --user, because the harness reads them from the user configuration only. See Hooks and settings and Permissions. - Checks: code-review guidelines.
copilot-clipermissions cover onlyWebFetchURL rules, andgitlab-duohooks only theSessionStartevent.- User: supported by
generate --user; see User-level configuration.
| Preset | Harness | Rules | Skills | Agents | Commands | MCP | Hooks | Perms | Checks | User |
|---|---|---|---|---|---|---|---|---|---|---|
aiassistant |
JetBrains AI Assistant | yes | yes | - | - | yes | - | - | - | - |
amp |
Sourcegraph Amp | - | yes | - | - | yes | yes | - | yes | yes |
antigravity |
Google Antigravity | yes | yes | yes | yes | yes | yes | - | - | yes |
augment |
Augment Code | yes | yes | yes | yes | yes | yes | yes | yes | yes |
baz |
Baz | - | yes | yes | - | - | - | - | - | - |
bob |
IBM Bob | yes | yes | - | yes | yes | yes | - | - | yes |
claude |
Claude Code | yes | yes | yes | yes | yes | yes | yes | - | yes |
cline |
Cline | yes | yes | yes | yes | - | yes | - | - | yes |
codebuddy |
CodeBuddy Code | yes | yes | yes | yes | yes | yes | yes | - | yes |
codebuff |
Codebuff | - | yes | - | - | yes | - | - | - | - |
codewhale |
Codewhale | yes | yes | - | yes | yes | - | - | - | yes |
codex |
OpenAI Codex | - | yes | yes | yes | yes | yes | yes | - | yes |
commandcode |
Command Code | - | yes | yes | yes | yes | yes | yes | - | yes |
copilot |
GitHub Copilot | yes | yes | yes | yes | yes | yes | yes | - | yes |
copilot-cli |
GitHub Copilot CLI | yes | yes | yes | - | yes | yes | yes | - | yes |
cortex |
Snowflake Cortex Code | - | yes | yes | - | - | yes | - | - | yes |
crush |
Crush | - | yes | - | - | yes | yes | - | - | yes |
cursor |
Cursor | yes | yes | yes | yes | yes | yes | yes | yes | yes |
deepagents |
Deep Agents Code | - | yes | yes | - | yes | yes | - | - | yes |
devin |
Devin CLI | yes | yes | yes | yes | yes | yes | yes | - | yes |
dsh |
DeepSeek Harness | - | yes | - | - | - | - | - | - | yes |
factory |
Factory Droid | - | yes | yes | yes | yes | yes | - | yes | yes |
gemini |
Gemini CLI | - | yes | yes | - | yes | yes | yes | - | yes |
gitlab-duo |
GitLab Duo CLI | - | - | - | yes | yes | yes | - | yes | yes |
goose |
goose | - | yes | yes | - | yes | yes | - | - | yes |
grok |
Grok Build CLI | yes | yes | yes | yes | yes | yes | yes | - | yes |
hermes |
Hermes Agent | - | agents_md |
- | - | - | user | user | - | yes |
junie |
JetBrains Junie | yes | yes | yes | yes | yes | user | - | - | yes |
kilo |
Kilo Code | yes | yes | yes | yes | yes | yes | yes | yes | yes |
kimi |
Kimi Code | - | yes | yes | - | yes | user | user | - | yes |
kiro |
Kiro | yes | yes | yes | yes | yes | yes | - | - | yes |
letta |
Letta Code | - | yes | yes | yes | - | yes | yes | - | yes |
mimocode |
MiMo Code | - | yes | yes | yes | yes | yes | yes | - | yes |
muse |
Meta Muse Code | - | yes | - | - | - | - | - | - | yes |
omp |
oh-my-pi | yes | yes | yes | yes | yes | - | yes | - | yes |
openclaw |
OpenClaw | - | - | - | - | - | - | - | - | yes |
opencode |
OpenCode | - | yes | yes | yes | yes | yes | yes | - | yes |
pi |
pi | - | yes | yes | yes | yes | yes | - | - | yes |
poolside |
Poolside Pool | - | yes | - | - | yes | yes | yes | - | yes |
qoder |
Qoder | yes | yes | yes | yes | yes | yes | yes | - | yes |
qwen |
Qwen Code | yes | yes | yes | yes | yes | yes | yes | yes | yes |
reasonix |
Reasonix | - | yes | yes | yes | yes | yes | - | - | yes |
replit |
Replit Agent | - | yes | - | - | - | - | - | - | - |
rovodev |
Atlassian Rovo Dev | - | yes | yes | - | - | - | - | yes | yes |
takt |
Takt | yes | yes | yes | yes | - | - | - | - | yes |
trae |
Trae | yes | yes | - | - | yes | - | - | - | yes |
vibe |
Mistral Vibe | - | yes | - | - | yes | yes | yes | - | yes |
warp |
Warp | - | yes | - | yes | yes | - | - | - | yes |
xum |
Xum | - | yes | yes | - | yes | - | - | - | - |
zcode |
ZCode | - | yes | yes | yes | yes | user | - | - | yes |
zed |
Zed | - | yes | - | - | yes | - | user | - | yes |
zoocode |
Zoo Code | - | yes | - | yes | yes | - | yes | - | yes |
What each preset writes
Section titled “What each preset writes”The paths below are the project-level outputs with the default agents_md = true: always-on rules and context go
into one shared AGENTS.md and skills into one shared .agents/skills/, which every preset that reads them uses
instead of its own copy (see AGENTS.md and .agents/skills). <id> is the item’s name. Every project
also gets the root .mcp.json, whatever its presets: it carries the ai-rulez MCP server
([mcp] self_server, on by default) and any servers you declare.
Instructions, rules and skills
Section titled “Instructions, rules and skills”A rules folder holds the path-scoped rules; with agents_md = false it also holds the always-on rules, and the
presets marked * write their own root file and skills folder instead (next table).
| Preset | Instructions | Rules | Skills |
|---|---|---|---|
aiassistant |
none | .aiassistant/rules/<id>.md (every rule) |
.agents/skills/ |
amp |
AGENTS.md |
inlined | .agents/skills/ |
antigravity * |
AGENTS.md |
.agents/rules/<id>.md |
.agents/skills/ |
augment * |
AGENTS.md |
.augment/rules/<id>.md |
.agents/skills/ |
baz |
AGENTS.md, <dir>/AGENTS.md (Baz) |
nested AGENTS.md |
.agents/skills/ |
bob |
AGENTS.md |
.bob/rules/<id>.md |
.bob/skills/ |
claude |
CLAUDE.md (imports @AGENTS.md) |
.claude/rules/<id>.md |
.claude/skills/ |
cline * |
AGENTS.md |
.clinerules/<id>.md |
.agents/skills/ |
codebuddy |
CODEBUDDY.md |
.codebuddy/rules/<id>.md (every rule) |
.codebuddy/skills/ |
codebuff |
AGENTS.md |
inlined | .agents/skills/ |
codewhale |
AGENTS.md |
.codewhale/rules/<id>.md |
.codewhale/skills/ |
codex |
AGENTS.md |
inlined | .agents/skills/ |
commandcode |
AGENTS.md |
inlined | .commandcode/skills/ |
copilot, copilot-cli * |
AGENTS.md |
.github/instructions/<id>.instructions.md |
.agents/skills/ |
cortex * |
AGENTS.md |
inlined | .agents/skills/ |
crush * |
AGENTS.md |
inlined | .agents/skills/ |
cursor |
AGENTS.md |
.cursor/rules/<id>.mdc |
.agents/skills/ |
deepagents * |
AGENTS.md |
inlined | .agents/skills/ |
devin * |
AGENTS.md |
.devin/rules/<id>.md |
.agents/skills/ |
dsh * |
AGENTS.md |
inlined | .agents/skills/ |
factory |
AGENTS.md |
inlined | .factory/skills/ |
gemini * |
AGENTS.md |
inlined | .agents/skills/ |
gitlab-duo |
.gitlab/duo/chat-rules.md |
inlined | none |
goose * |
AGENTS.md |
inlined | .agents/skills/ |
grok |
AGENTS.md |
.grok/rules/<id>.md |
.grok/skills/ |
hermes * |
AGENTS.md |
inlined | .agents/skills/ |
junie * |
AGENTS.md |
.junie/rules/<id>.md |
.agents/skills/ |
kilo |
AGENTS.md |
.kilo/rules/<id>.md |
.kilo/skills/ |
kimi * |
AGENTS.md |
inlined | .agents/skills/ |
kiro * |
AGENTS.md |
.kiro/steering/<id>.md |
.agents/skills/ |
letta |
none | not written | .agents/skills/ |
mimocode |
AGENTS.md |
inlined | .mimocode/skills/ |
muse, pi |
AGENTS.md |
inlined | .agents/skills/ |
omp * |
AGENTS.md |
.omp/rules/<id>.md |
.agents/skills/ |
openclaw |
AGENTS.md |
inlined | none |
opencode * |
AGENTS.md |
inlined | .agents/skills/ |
poolside * |
AGENTS.md |
inlined | .agents/skills/ |
qoder |
AGENTS.md |
.qoder/rules/<id>.md |
.qoder/skills/ |
qwen * |
AGENTS.md |
.qwen/rules/<id>.md |
.qwen/skills/ |
reasonix |
REASONIX.md |
inlined | .reasonix/skills/ |
replit |
replit.md |
inlined | .agents/skills/ |
rovodev * |
AGENTS.md |
inlined | .agents/skills/ |
takt |
none | .takt/facets/policies/<id>.md (every rule) |
.takt/facets/knowledge/<id>.md |
trae |
none | .trae/rules/<id>.md (every rule) |
.trae/skills/ |
vibe * |
AGENTS.md |
inlined | .agents/skills/ |
warp * |
AGENTS.md |
inlined | .agents/skills/ |
xum * |
AGENTS.md |
inlined | .agents/skills/ |
zcode |
AGENTS.md |
inlined | .zcode/skills/ |
zed * |
AGENTS.md |
inlined | .agents/skills/ |
zoocode * |
AGENTS.md |
inlined | .agents/skills/ |
With agents_md = false, the presets marked * write:
| Preset | Instructions | Skills |
|---|---|---|
antigravity |
GEMINI.md |
.agents/skills/ |
augment |
AGENTS.md |
.augment/skills/ |
cline |
none (every rule in .clinerules/) |
.cline/skills/ |
copilot, copilot-cli |
.github/copilot-instructions.md |
.github/skills/ |
cortex |
AGENTS.md |
.cortex/skills/ |
crush |
CRUSH.md |
.crush/skills/ |
deepagents |
AGENTS.md |
.deepagents/skills/ |
devin |
none (every rule in .devin/rules/) |
.devin/skills/ |
dsh |
AGENTS.md |
.dsh/skills/ |
gemini |
GEMINI.md |
.agents/skills/ |
goose |
.goosehints |
.agents/skills/ |
hermes |
.hermes.md |
none |
junie |
AGENTS.md |
.junie/skills/ |
kimi |
AGENTS.md |
.kimi-code/skills/ |
kiro |
AGENTS.md |
.kiro/skills/ |
omp |
AGENTS.md |
.omp/skills/ |
opencode |
AGENTS.md |
.opencode/skills/ |
poolside |
AGENTS.md |
.poolside/skills/ |
qwen |
QWEN.md |
.qwen/skills/ |
rovodev |
AGENTS.md |
.rovodev/skills/ |
vibe |
AGENTS.md |
.vibe/skills/ |
warp |
AGENTS.md |
.warp/skills/ |
xum |
AGENTS.md |
.xum/skills/ |
zed |
.rules |
.agents/skills/ |
zoocode |
AGENTS.md |
.roo/skills/ |
Agents, commands, MCP and settings
Section titled “Agents, commands, MCP and settings”Settings files are written only when the project declares hooks or permissions,
except .claude/settings.json, which also holds the [session_start] hook that a claude project
gets by default;
(user) marks a file that only generate --user writes.
| Preset | Agents | Commands | MCP | Hooks and permissions |
|---|---|---|---|---|
aiassistant |
- | - | .ai/mcp/mcp.json |
- |
amp |
- | - | .amp/settings.json |
.amp/plugins/ai-rulez-hooks.ts |
antigravity |
.agents/agents/<id>.md |
.agents/skills/<id>/SKILL.md |
.agents/mcp_config.json |
.agents/hooks.json |
augment |
.augment/agents/<id>.md |
.augment/commands/<id>.md |
.augment/settings.json |
.augment/settings.json |
baz |
.claude/agents/<id>.md |
- | - | - |
bob |
- | .bob/commands/<id>.md |
.bob/mcp.json |
.bob/settings.json |
claude |
.claude/agents/<id>.md |
.claude/skills/<id>/SKILL.md |
.mcp.json |
.claude/settings.json |
cline |
.cline/agents/<id>.yaml |
.clinerules/workflows/<id>.md |
- | .clinerules/hooks/<Event> |
codebuddy |
.codebuddy/agents/<id>.md |
.codebuddy/commands/<id>.md |
.mcp.json |
.codebuddy/settings.json |
codebuff |
- | - | .agents/mcp.json |
- |
codewhale |
- | .codewhale/commands/<id>.md |
.codewhale/mcp.json |
- |
codex |
.codex/agents/<id>.toml |
.agents/skills/<id>/SKILL.md |
.codex/config.toml |
.codex/hooks.json, .codex/rules/ai-rulez.rules |
commandcode |
.commandcode/agents/<id>.md |
.commandcode/commands/<id>.md |
.mcp.json |
.commandcode/settings.json |
copilot |
.github/agents/<id>.agent.md |
.github/prompts/<id>.prompt.md |
.vscode/mcp.json |
.github/hooks/ai-rulez.json, .vscode/settings.json |
copilot-cli |
.github/agents/<id>.agent.md |
- | .github/mcp.json |
.github/hooks/ai-rulez.json, .github/copilot/settings.json |
cortex |
.cortex/agents/<id>.md |
- | - | .cortex/settings.json |
crush |
- | - | crush.json |
crush.json |
cursor |
.cursor/agents/<id>.md |
.cursor/commands/<id>.md |
.cursor/mcp.json |
.cursor/hooks.json, .cursor/cli.json |
deepagents |
.deepagents/agents/<id>/AGENTS.md |
- | .deepagents/.mcp.json |
.deepagents/hooks.json |
devin |
.devin/agents/<id>.md |
.agents/skills/<id>/SKILL.md |
.devin/mcp_config.json |
.devin/hooks.v1.json, .devin/config.json |
dsh |
- | - | - | - |
factory |
.factory/droids/<id>.md |
.factory/commands/<id>.md |
.factory/mcp.json |
.factory/hooks.json |
gemini |
.gemini/agents/<id>.md |
- | .gemini/settings.json |
.gemini/settings.json |
gitlab-duo |
- | .agents/commands/<id>.md |
.gitlab/duo/mcp.json |
.gitlab/duo/hooks.json |
goose |
.goose/agents/<id>.md |
- | .agents/plugins/ai-rulez/.mcp.json |
.agents/plugins/ai-rulez/hooks/hooks.json |
grok |
.grok/agents/<id>.md |
.grok/commands/<id>.md |
.grok/config.toml |
.grok/hooks/ai-rulez.json, .grok/config.toml |
hermes |
- | - | - | ~/.hermes/config.yaml (user) |
junie |
.junie/agents/<id>.md |
.junie/commands/<id>.md |
.junie/mcp/mcp.json |
~/.junie/config.json (user) |
kilo |
.kilo/agents/<id>.md |
.kilo/commands/<id>.md |
kilo.jsonc |
.kilo/plugins/ai-rulez-hooks.js, kilo.jsonc |
kimi |
.kimi-code/agents/<id>.md |
- | .kimi-code/mcp.json |
~/.kimi-code/config.toml (user) |
kiro |
.kiro/agents/<id>.md |
.kiro/prompts/<id>.md |
.kiro/settings/mcp.json |
.kiro/hooks/ai-rulez.json |
letta |
.letta/agents/<id>.md |
.commands/<id>.md |
- | .letta/settings.json |
mimocode |
.mimocode/agents/<id>.md |
.mimocode/commands/<id>.md |
.mimocode/mimocode.jsonc |
.mimocode/plugins/ai-rulez-hooks.js, .mimocode/mimocode.jsonc |
muse |
- | - | - | - |
omp |
.omp/agents/<id>.md |
.omp/commands/<id>.md |
.omp/mcp.json |
.omp/config.yml |
openclaw |
- | - | - | - |
opencode |
.opencode/agents/<id>.md |
.opencode/commands/<id>.md |
opencode.json |
.opencode/plugins/ai-rulez-hooks.js, opencode.json |
pi |
.pi/agents/<id>.md |
.pi/prompts/<id>.md |
.pi/mcp.json |
.pi/extensions/ai-rulez-hooks.ts |
poolside |
- | - | .poolside/settings.yaml |
.poolside/settings.yaml |
qoder |
.qoder/agents/<id>.md |
.qoder/commands/<id>.md |
.mcp.json |
.qoder/settings.json |
qwen |
.qwen/agents/<id>.md |
.qwen/commands/<id>.md |
.qwen/settings.json |
.qwen/settings.json |
reasonix |
.reasonix/skills/<id>/SKILL.md |
.reasonix/commands/<id>.md |
.mcp.json |
.reasonix/settings.json |
replit |
- | - | - | - |
rovodev |
.rovodev/subagents/<id>.md |
- | - | - |
takt |
.takt/facets/personas/<id>.md |
.takt/facets/instructions/<id>.md |
- | - |
trae |
- | - | .trae/mcp.json |
- |
vibe |
- | - | .vibe/config.toml |
.vibe/hooks.toml, .vibe/config.toml |
warp |
- | .agents/skills/<id>/SKILL.md |
.warp/.mcp.json |
- |
xum |
.xum/agents/<id>.md |
- | .xum/mcp.jsonc |
- |
zcode |
.zcode/agents/<id>.md |
.zcode/commands/<id>.md |
.zcode/config.json |
~/.zcode/cli/config.json (user) |
zed |
- | - | .zed/settings.json |
~/.config/zed/settings.json (user) |
zoocode |
- | .roo/commands/<id>.md |
.roo/mcp.json |
.vscode/settings.json |
Checks are written by eight presets: amp (.agents/checks/<id>.md), augment
(.augment/code_review_guidelines.yaml), cursor (.cursor/BUGBOT.md), factory
(.factory/skills/review-guidelines/SKILL.md), gitlab-duo (.gitlab/duo/mr-review-instructions.yaml), kilo
(REVIEW.md), qwen (.qwen/review-rules.md) and rovodev (.rovodev/.review-agent.md).
User-level paths are listed in User-level configuration.
Cross-cutting behavior
Section titled “Cross-cutting behavior”- Shared outputs. Presets that write the same path (
AGENTS.md,.agents/skills/, the root.mcp.json) must render identical bytes.generatefails and names the presets when they diverge. See AGENTS.md and .agents/skills. - Merged documents. Settings files that also hold your own keys (
.claude/settings.json,opencode.json,.codex/config.toml,.qwen/settings.json, …) are merged, not replaced: ai-rulez owns only the keys, array elements and map members it writes, and comments in JSONC, TOML and YAML survive. See Settings document merge behavior. - External plugins.
[[enabled_plugins]]enables a plugin from another marketplace forclaude(enabledPlugins,extraKnownMarketplaces),codex([plugins."<id>"]) andopencode(thepluginarray). The other presets have no equivalent and skip it. See Enable a plugin from another marketplace. - MCP environment references. Where the harness expands
${VAR}-style references itself, the reference is written instead of the secret. See Environment references. - Built-in names. A skill, command or agent named like a harness built-in replaces it, is renamed, or is
unreachable, depending on the harness.
validatechecks every output against the harnesses that load it, including those that only read a shared directory such as.agents/skills/: AR9U0 for a built-in name, AR9U1 for a name the harness refuses to load. See Built-in names of harnesses. - Tool and model names. Frontmatter tool names are translated to each harness’s own names, and bare Claude model
aliases (
sonnet,opus,haiku) are dropped where the harness has no such model.
Skipped features
Section titled “Skipped features”A - in the matrix is a deliberate skip: ai-rulez does not approximate a format the harness does not document.
Instructions, rules, skills and agents
Section titled “Instructions, rules, skills and agents”| Preset | Skipped | Reason |
|---|---|---|
aiassistant |
root file | AI Assistant has no root instructions file; every rule and context item becomes a .aiassistant/rules/ file |
amp |
agents | Amp has no agent file of its own and does not read the .agents/agents format |
baz |
rules folder, commands, MCP | Baz reads only instruction files from the default branch; it ignores .claude/commands and does not read .claude/rules. See Baz |
bob |
agents | Bob’s modes live in an aggregated custom_modes.yaml, not in one file per agent |
codebuff |
rules, agents, commands | Codebuff documents only AGENTS.md, skills and MCP |
codewhale |
agents | Subagents are TOML profiles whose strict schema the preset cannot produce |
crush |
rules folder, agents, commands | Crush has no rules folder, agent or command format |
cline |
MCP | Cline has no project MCP file |
cortex |
rules folder, MCP | Cortex reads only AGENTS.md; MCP servers live in ~/.snowflake/cortex/mcp.json |
dsh |
MCP | Servers live in the home-level cordis.patch.yml |
gemini |
rules folder, commands | Rules stay in the root file; project commands are not generated (see the plugin runtime for commands/<name>.toml) |
gitlab-duo |
skills, rules folder | GitLab documents skills only inside plugins; Duo CLI reads one rules file, .gitlab/duo/chat-rules.md |
goose |
rules folder, commands | goose has no rules folder, and recipes are not slash commands |
hermes |
skills | Skills come only from the shared .agents/skills that agents_md = true writes |
letta |
rules, MCP | Letta documents no instructions, rules or MCP file a project can use |
muse |
MCP | MCP servers live only in the user settings.json |
openclaw |
everything but the root file | Only AGENTS.md is written |
poolside |
agents | Subagents are entries of the settings file, which the preset does not generate |
replit |
rules, agents, commands, MCP | Replit reads replit.md and .agents/skills only |
rovodev |
commands, MCP | Saved prompts need a prompts.yml manifest; .rovodev/mcp.json is inert until config.yml points at it |
takt |
MCP | Takt keeps MCP definitions inside workflow YAML |
trae |
root file | Trae has no root instructions file |
vibe |
agents | A Vibe agent is a TOML profile plus a separate prompt file |
xum |
commands | Xum documents no slash-command file |
zoocode |
agents | Custom modes are one aggregated .roomodes file |
zed |
agents, commands, rules folder | Zed has no rules folder, subagent or command format; rules go to the root file |
amp, codex, commandcode, deepagents, dsh, factory, hermes, kimi, mimocode, muse, opencode, pi, poolside, reasonix, rovodev, vibe, warp, xum, zcode, zoocode |
rules folder | The harness has no rules folder (or one it does not auto-load); rules are inlined into the root file |
aiassistant, dsh, gitlab-duo, hermes, muse, trae, warp |
agents | The harness documents no agent file |
aiassistant, amp, copilot-cli, cortex, deepagents, dsh, hermes, kimi, muse, poolside, trae, vibe |
commands | The harness documents no command file |
hermes |
MCP | The harness documents no project MCP file |
Sixteen presets generate no [[hooks]]: aiassistant, baz, codebuff, codewhale, dsh, muse, omp,
openclaw, replit, rovodev, takt, trae, warp, xum, zed and zoocode. generate names them in one
warning. junie, zcode, hermes and kimi read hooks from the user configuration only, so they get hooks from
generate --user. Events, matchers and timeouts per harness are in
Hooks and settings.
Permissions
Section titled “Permissions”The harnesses without a documented, committable permission file that can hold the rules get nothing from
[permissions], and generate names them in a warning. The reasons are in Permissions.
zed, hermes and kimi read permissions from the user configuration only.
User scope
Section titled “User scope”aiassistant, baz, codebuff, replit and xum have no documented user-level location for anything
generate --user writes, so they are reported and skipped. User-level MCP servers are never generated.
