One .claude Folder, Eighteen Installer Targets: How AgentKits Handles AI-Tool Config Fragmentation
AgentKits' installer supports 18 different AI coding tools from one canonical .claude/ source — generating native launcher files for most, and an actual AGENTS.md for the two that read it. Here's how the config-driven system works, and how it relates to the AGENTS.md standard.
A Problem Every AI Coding Tool Solved Differently
For most of 2024 and 2025, every AI coding tool invented its own way to tell an agent how a codebase works: Claude Code reads CLAUDE.md, Cursor reads .cursorrules (later .cursor/rules), Windsurf reads .windsurfrules, GitHub Copilot reads .github/copilot-instructions.md. A single open-source repo trying to stay usable across tools ended up maintaining several near-identical files side by side. In August 2025, OpenAI proposed a fix — AGENTS.md, a vendor-neutral convention now stewarded by the Linux Foundation’s Agentic AI Foundation and read natively by Codex, Cursor, Gemini CLI, and others. A parallel community effort, Agent Rules, makes the same bet from a different angle: define instructions once, let each tool fold them into its own context.
AgentKits — our open-source, MIT-licensed toolkit of AI agent kits, currently shipping a fully-built Marketing Kit (18 agents, 93 commands, 28 skills) — sits downstream of exactly that fragmentation problem. We looked at how its installer actually handles it, because “adopt AGENTS.md and move on” turns out to be only part of the real answer once a project commits to supporting more than a couple of tools.
Eighteen Platforms, Three of Them Preferred
The installer’s platform support isn’t hardcoded per tool. It’s declared in a single YAML file, platform-codes.yaml, and a generic IdeManager dynamically loads a handler for every entry it finds. Reading that file directly shows 18 declared platforms — not the five named in the npm package description (Claude Code, Cursor, GitHub Copilot, Windsurf, Cline), but also Gemini CLI, Roo Code, Trae, OpenCode, Auggie, QwenCoder, Kilo Code, Codex CLI, Rovo Dev, Google Antigravity, Crush, iFlow, and Kiro. Three are marked preferred and surfaced first in the installer: Claude Code, Cursor, and Windsurf.
Crucially, the full content — every agent and every skill — always gets copied verbatim into .claude/agents/ and .claude/skills/ regardless of which platforms you select. That directory is the one canonical source. What differs per platform is what happens next.
Launchers, Not Copies
For commands, the installer doesn’t duplicate content into 18 different formats. It generates a short “launcher” file, in whatever shape the target tool expects, that points back at the real file in .claude/commands/. The generation logic tries a sequence of template filenames — {type}-command.md, {type}-command.toml, {type}-rule.md, {type}-steering.md, {type}-modes.yaml — falling back to a generic default if none match.
The results genuinely differ in tone and shape per tool, not just filename. Windsurf’s launcher declares cascade: true in its frontmatter and spells out a four-step instruction: load the workflow file, read it fully, follow it step by step, report progress. The generic fallback template is blunter — “IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND” — because it has no tool-specific affordances to lean on. GitHub Copilot gets three separate output targets instead of one (.github/agents/*.agent.md, .github/instructions/, and a root .github file), matching Copilot’s own split between agent definitions and instructions. Roo Code similarly gets two targets — .roo/rules-agentkits/ and a root .roomodes file — reflecting Roo’s own rules-versus-modes distinction. Kilo Code, by contrast, collapses everything into one .kilocodemodes YAML file at the project root rather than per-command files.
Where AGENTS.md Actually Fits
Two of the eighteen platforms — OpenCode and Codex CLI — aren’t wired to a bespoke format at all. Their installer targets set template_type: agents_md, and the platform config literally labels it “AGENTS.md standard format”: a single root AGENTS.md file, updated in place. So AgentKits isn’t ignoring the standard OpenAI proposed — it’s using it exactly where the tool ecosystem already reads it, and using each tool’s own native format everywhere else. It’s a narrower bet than “everyone converges on one file,” and a more defensive one: it doesn’t require the other sixteen platforms to adopt anything for AgentKits to work correctly on them today.
The trade-off shows up in what each platform is allowed to receive. Only Claude Code’s entry has skills: true, memory: true, and journeys: true in its artifact flags — every other platform, AGENTS.md-writing or not, is capped at agents and commands. The richer parts of the kit stay Claude Code-native; every other target gets a functional but shallower installation, on purpose rather than by oversight.
The Irony Worth Naming
AgentKits’ own repository has no AGENTS.md file. It’s developed primarily with Claude Code, so CLAUDE.md and the .claude/ directory are its own source of truth — the same directory the installer treats as canonical for everyone else’s projects. The fragmentation problem the wider ecosystem is still negotiating standards around is, inside this one codebase, resolved by not needing a universal file for the tool actually building it — and by generating whatever file format a downstream user’s tool of choice happens to need.
AgentKits is open source and free forever under the MIT license. Explore the Marketing Kit, install it in your own project, or follow what’s next at agentkits.net, or reach us at hello@aitytech.com.
Explore Our Open Source
We build and maintain open-source tools for developers. Check out our repositories on GitHub.
View on GitHubRelated Articles
Apple and Google Just Started Transcribing Calls for Free. Neither One Touches a Zoom Tab.
iOS 26 and Google's Pixel Recorder now do on-device call transcription and summarization for free. Here's the specific boundary neither platform crosses — and why that's exactly where MinuteAI's Chrome Extension operates.
GuidesJapan's ¥12 Trillion Legacy-System Warning Isn't a COBOL-Skills Story. It's an Encoding Story.
METI's 2025 digital cliff warning gets read as workforce attrition and rip-and-replace math. The failure mode that actually corrupts migrations first is smaller and easier to miss: EBCDIC and Shift-JIS don't even agree on whether letters or numbers sort first. Why Legacy Dragon treats character encoding as a parsing-layer concern, not a pre-processing step bolted on later.
GuidesNo Pricing Page, No API Meter: The Economics Behind PrivateAI's Free Tools
Cloud AI is priced by the token because every query costs the vendor real compute. On-device tools don't have that bill. Here's what that structural difference actually buys — and doesn't — for a product like PrivateAI.