AthenodeAthenode

Files installed for each AI tool

When you install an agent setup, the Athenode CLI writes its skills, agents, rules and MCP servers to the paths below, one set for each AI tool you selected. An agent setup is a named bundle of what your AI coding tools work with: skills, agents, rules, MCP servers and setup files. The ids of the tools and the way to select them are in Supported AI tools.

Paths for each AI tool

In the paths, <name> is the name of the agent or the skill. A skill's bundle files are written into the skill's folder, next to SKILL.md.

AI tool Agents Skills Rules MCP servers
Claude Code .claude/agents/<name>.md .claude/skills/<name>/SKILL.md Block in CLAUDE.md .mcp.json
GitHub Copilot .github/agents/<name>.agent.md .github/skills/<name>/SKILL.md Block in .github/copilot-instructions.md .vscode/mcp.json and .github/mcp.json
Codex .codex/agents/<name>.toml .agents/skills/<name>/SKILL.md Block in AGENTS.md .codex/config.toml
Cursor .cursor/agents/<name>.md .cursor/skills/<name>/SKILL.md AGENTS.md or .cursor/rules/athenode.mdc .cursor/mcp.json
OpenCode .opencode/agents/<name>.md .opencode/skills/<name>/SKILL.md Block in AGENTS.md opencode.jsonc
Google Antigravity .agents/agents/<name>.md .agents/skills/<name>/SKILL.md Block in AGENTS.md .agents/mcp_config.json
JetBrains Junie .junie/agents/<name>.md .junie/skills/<name>/SKILL.md Block in .junie/AGENTS.md .junie/mcp/mcp.json
Devin .devin/agents/<name>/AGENT.md .devin/skills/<name>/SKILL.md Block in AGENTS.md .devin/mcp_config.json
Kiro .kiro/agents/<name>.md and .kiro/agents/<name>.json .kiro/skills/<name>/SKILL.md Block in AGENTS.md .kiro/settings/mcp.json
Kilo Code .kilo/agents/<name>.md .kilo/skills/<name>/SKILL.md Block in AGENTS.md kilo.jsonc
Qoder .qoder/agents/<name>.md .qoder/skills/<name>/SKILL.md Block in AGENTS.md .mcp.json
Goose .goose/agents/<name>.md .goose/skills/<name>/SKILL.md Block in .goosehints .agents/plugins/rulesync/.mcp.json
Qwen Code .qwen/agents/<name>.md .qwen/skills/<name>/SKILL.md Block in QWEN.md .qwen/settings.json
oh-my-pi .omp/agents/<name>.md .omp/skills/<name>/SKILL.md Block in .omp/AGENTS.md .omp/mcp.json
Mistral Vibe .vibe/agents/<name>.toml and .vibe/prompts/<name>.md .vibe/skills/<name>/SKILL.md Block in AGENTS.md .vibe/config.toml
Augment Code .augment/agents/<name>.md .augment/skills/<name>/SKILL.md .augment/rules/athenode.md .augment/settings.json
Kimi Code .kimi-code/agents/<name>.md .kimi-code/skills/<name>/SKILL.md Block in .kimi-code/AGENTS.md .kimi-code/mcp.json
CodeBuddy Code .codebuddy/agents/<name>.md .codebuddy/skills/<name>/SKILL.md Block in CODEBUDDY.md .mcp.json
Factory Droid .factory/droids/<name>.md .factory/skills/<name>/SKILL.md Block in AGENTS.md .factory/mcp.json
Codewhale .codewhale/agents/<name>.toml .codewhale/skills/<name>/SKILL.md Block in AGENTS.md .codewhale/mcp.json
Reasonix .reasonix/skills/<name>/SKILL.md .reasonix/skills/<name>/SKILL.md Block in REASONIX.md reasonix.toml
Grok CLI .grok/agents/<name>.md .grok/skills/<name>/SKILL.md Block in AGENTS.md .grok/config.toml
Command Code .commandcode/agents/<name>.md .commandcode/skills/<name>/SKILL.md Block in AGENTS.md .mcp.json
Rovo Dev .rovodev/subagents/<name>.md .rovodev/skills/<name>/SKILL.md Blocks in .rovodev/AGENTS.md and AGENTS.md .rovodev/mcp.json
MiMo Code .mimocode/agents/<name>.md .mimocode/skills/<name>/SKILL.md Block in AGENTS.md .mimocode/mimocode.jsonc
ZCode .zcode/agents/<name>.md .zcode/skills/<name>/SKILL.md Block in AGENTS.md .zcode/config.json
deepagents-cli .deepagents/agents/<name>/AGENTS.md .deepagents/skills/<name>/SKILL.md Block in .deepagents/AGENTS.md .deepagents/.mcp.json
Zoo Code Entry in .roomodes .roo/skills/<name>/SKILL.md Block in AGENTS.md .roo/mcp.json
IBM Bob Entry in .bob/custom_modes.yaml .bob/skills/<name>/SKILL.md Block in AGENTS.md .bob/mcp.json
Pool Entry in .poolside/settings.yaml .poolside/skills/<name>/SKILL.md Block in AGENTS.md .poolside/settings.yaml
  • GitHub Copilot in your editor reads .vscode/mcp.json, and Copilot CLI reads .github/mcp.json.
  • Kiro IDE reads the .md agent file, and Kiro CLI reads the .json one.
  • A Codex skill with settings of its own for Codex has a second file, agents/openai.yaml, in the skill's folder.
  • Mistral Vibe keeps each agent in two files: its definition and its instructions.
  • Reasonix receives an agent as a skill, so both columns show the same path.
  • Cursor reads the rules from AGENTS.md when another selected tool has its rules there. Otherwise Athenode writes .cursor/rules/athenode.mdc.

Files written whichever AI tools you select

File What it is What you may edit
.athenode/config.json Your project token, the installed setup and your answers to the questions of init. Athenode remembers here what it installed, so the next run updates or removes only its own files. targets, the list of selected tool ids, and gitignoreGenerated, your answer about .gitignore. The file holds a secret, so keep it out of version control. init adds .athenode/ to .gitignore for you.
.gitignore A block that lists the installed files, when you answered yes to "Add the generated files to .gitignore?". Everything outside the block.

Setup files, including the settings files under settings/, are not written into your repository. They stay with the setup in Athenode, and skills and agents read them from there when they need them. Setup files and settings describes them.

Files that several AI tools share

Athenode writes a shared file once and keeps it for as long as one of the selected tools uses it.

File or folder AI tools that read it What it holds
AGENTS.md Codex, OpenCode, Google Antigravity, Devin, Kiro, Kilo Code, Qoder, Mistral Vibe, Factory Droid, Codewhale, Grok CLI, Command Code, Rovo Dev, MiMo Code, ZCode, Zoo Code, IBM Bob and Pool. Cursor reads it too when one of them is selected. The rules
.mcp.json Claude Code, Qoder, Command Code, CodeBuddy Code The MCP servers, the same for all four
.agents/skills/ Codex, Google Antigravity The skills

When you leave a tool out on a later run of init, Athenode removes that tool's own files, its rules block and its MCP servers. A rules file that held the rules block and nothing else stays as an empty file.

Rules files and the Athenode rules block

In every rules file that the table of paths marks with "Block in", Athenode writes the rules between two marker lines and leaves the rest of the file to you:

<!-- athenode:rules:start -->
<!-- athenode:rules:end -->

Text outside the two lines is yours and is kept on every install. Text between them is replaced on every install, so change the rules in the setup. Keep both marker lines in place, because Athenode finds its block by them.

The two rules files without a block, .cursor/rules/athenode.mdc and .augment/rules/athenode.md, hold the rules and nothing else, and each install overwrites them.

.goosehints is a plain text file, so Goose reads the two marker lines as part of its hints.

Rules in a setup explains how to write the rules and how the block sits next to your own text.

MCP configuration files and your own servers

Athenode merges the setup's MCP servers into each configuration file and keeps the servers and settings you added yourself. An MCP server of yours with the same name as a server of the setup is overwritten, and the plan that init shows warns you first.

  • .qwen/settings.json, .augment/settings.json, .zcode/config.json, .vibe/config.toml, reasonix.toml and .poolside/settings.yaml are those tools' general settings files. Athenode changes the MCP servers in them and nothing else.
  • In .vibe/config.toml, Athenode replaces each of its servers as a whole. A server you disabled in Mistral Vibe is enabled after the next install.
  • For Rovo Dev, init sets mcp.mcpConfigPath: .rovodev/mcp.json in your .rovodev/config.yml and changes nothing else there. If the file names a different path, init leaves it and warns you, and Rovo Dev reads its MCP servers from your path. Leaving Rovo Dev out later keeps .rovodev/config.yml as it is.
  • For Kilo Code and MiMo Code, Athenode writes kilo.jsonc and .mimocode/mimocode.jsonc. A project that keeps kilo.json, .kilo/kilo.jsonc or .mimocode/mimocode.json has a second configuration file after the install.
  • For OpenCode, a project with opencode.json and no opencode.jsonc gets opencode.jsonc next to it, and the plan warns you.
  • For Goose, the file holds the local-command servers of the setup.

After an install, the CLI lists the environment variables that the installed MCP servers need and that are not set. The CLI sees its own environment, so set the variables where your AI tool runs. MCP servers in a setup covers ${VAR} references.

Agents kept as entries in a file of yours

Zoo Code, IBM Bob and Pool keep agents as entries of one file: custom modes in .roomodes and .bob/custom_modes.yaml, agents in .poolside/settings.yaml. Each entry is named after the agent.

Athenode adds its entries to the file and later updates and removes only the entries it added. Your own modes, agents and other settings keep their place. A change you make by hand to one of Athenode's entries is overwritten by the next install.

A mode or agent of yours with the same name as an agent of the setup is kept, and the setup's agent appears under "Not installed" in the plan for that tool. Rename or remove your entry to receive Athenode's.

Leaving the tool out on a later run removes Athenode's entries. If nothing else is left in the file, the file is deleted.

Formats that lose comments and formatting

Format Files When Athenode changes the file
JSON with comments opencode.jsonc, .vscode/mcp.json, kilo.jsonc, .mimocode/mimocode.jsonc, .augment/settings.json, .qwen/settings.json, .zcode/config.json Your comments are kept.
TOML .codex/config.toml, .grok/config.toml, .vibe/config.toml, reasonix.toml The file is rewritten and may lose comments and formatting. The plan warns you first.
YAML .roomodes, .bob/custom_modes.yaml, .poolside/settings.yaml The file is rewritten, loses its comments and may change its quoting. The plan warns you first.

A .roomodes file written as JSON stays JSON. If the CLI cannot read one of these files, the plan stops and nothing is written until you correct or remove the file.

Installed files in .gitignore

When you answer yes to "Add the generated files to .gitignore?", Athenode lists the files it installed between these two lines and keeps the list up to date on every install:

# >>> athenode generated files >>>
# <<< athenode generated files <<<

The block lists the files Athenode writes in full, such as the skill and agent files. It never lists a rules file that holds the Athenode rules block, an MCP configuration file, or .roomodes, .bob/custom_modes.yaml and .poolside/settings.yaml, because those files hold your own content too. Answering no on a later run removes the block. A file that git already tracks stays tracked until you remove it from the index.

Installed skill and agent files are overwritten by the next install. init flags a file you edited locally before it overwrites or removes it. To change a skill or an agent for good, edit it in the setup, as Install a setup describes.