If you use Claude Code and Cursor, or you work across more than a handful of repos, you have met config drift: the CLAUDE.md in one project says one thing, the .cursor/rules in another says something else, and the AGENTS.md you wrote for Codex is three months behind both. Every agent gets a slightly different briefing, so every agent behaves slightly differently, and nobody can say which copy is the truth.
This post covers the five practical approaches to keeping agent configuration in sync, from zero-dependency symlinks to purpose-built tools.
Disclosure: I work on Blume, which appears as one of the five options. The other four are covered on their merits, and for many setups one of them is all you need.
The problem in one sentence
Every agent invented its own config location: Claude Code reads CLAUDE.md and .claude/ (rules, skills, hooks, settings), Cursor reads .cursor/rules/*.mdc, Codex reads AGENTS.md, and Copilot, Gemini CLI, and the rest have their own variants. The knowledge is 90 percent identical, but it lives in N places times M repos.






