For about a year, working with coding agents meant feeding each one its own dotfile. Cursor read .cursorrules. GitHub Copilot wanted .github/copilot-instructions.md. Claude Code kept its context in CLAUDE.md. Switch tools, or run two at once, and you were maintaining three versions of the same paragraph about how your build works — and watching them drift.

AGENTS.md is the truce. It is a single Markdown file at the root of your repository that tells any coding agent the things it can't infer from the code: the build command, the test command, the lint rules, the architectural constraints, the one directory it must never touch. The format is deliberately boring — no required schema, no YAML front matter, no special syntax. Where a README.md explains a project to a human, AGENTS.md explains it to an agent.

The boring part is the point. But the reason to actually adopt it now is governance.

The file became infrastructure

In December 2025 the Linux Foundation announced the Agentic AI Foundation (AAIF), a neutral home for the plumbing of the agent era. OpenAI donated AGENTS.md. Anthropic donated the Model Context Protocol. Block donated its goose framework. The platinum membership reads like a truce signed by combatants: AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft, OpenAI.

The format war over how you brief a coding agent didn't produce a winner. It produced a foundation — which is the only outcome that makes a config file safe to depend on.

That is the non-obvious shift. A vendor's config file is a bet that the vendor keeps honoring it. A foundation's config file is closer to a standard — the kind of thing the next tool you adopt is likely to read by default, because reading it is table stakes. AGENTS.md now sits in the same governance bucket as MCP, which tells you how the industry has decided to file it: not as a feature, as infrastructure.

The adoption numbers back the bet. By the foundation's own accounting, AGENTS.md is honored by around twenty tools — OpenAI Codex, Cursor, GitHub Copilot, Google's Jules and Gemini CLI, Devin, Factory, Amp, VS Code — across more than 60,000 open-source repositories. When that many agents agree to read the same file, the file stops being a convention and starts being the contract.

So what happens to CLAUDE.md?

This is where most takes get it wrong. AGENTS.md winning does not mean CLAUDE.md losing.

CLAUDE.md is Anthropic's own memory model for Claude Code, and it does more than a flat instruction file: layered project-and-user memory, and file imports that let one memory file pull in others. Per tool documentation and community guides, Claude Code can also fall back to AGENTS.md when no CLAUDE.md is present — so a repo with only the open file still gets briefed.

The right mental model is a superset, not a rivalry. Put the shared brief — the facts true no matter which agent is driving — in AGENTS.md: how to build, how to test, the house style, the forbidden paths. Reserve CLAUDE.md (and .cursorrules, and copilot-instructions.md) for the tool-specific depth that only that tool can act on: Claude's imports, a Cursor-only rule, a Copilot phrasing quirk.

It mirrors a pattern teams already know from the MCP side of the house — see how the protocol layer settled into a shared substrate with tool-specific extensions on top. Briefing files are converging the same way: one neutral base, thin vendor extensions.

What to actually do

The deeper lesson is about where to spend standardization. The shared, boring layer — how this repo builds and tests and what it forbids — is exactly the layer worth writing once and governing in the open. The richness that's specific to one model can stay in that model's file, where it belongs. The agents finally agreed on the boring file. Write it well, and you only write it once.