I use Claude, Codex, Cursor, and Gemini on different projects. Each one has its' own md file in its own format. CLAUDE.md, AGENTS.md, .cursorrules, GEMINI.md.
Four files saying roughly the same thing, four chances to get out of sync!
I kept forgetting to update one, then wondering why Cursor was hallucinating my project structure while Claude had it right.
So I built an MCP server that reads a single YAML file (project.faf) and generates all
four formats. 7 bundled parsers handle the differences between them. You edit one file, and bi-sync keeps everything current.
It's an MCP server, so Claude Desktop can use it directly. 61 tools, 351 tests, no CLI dependency.
Try it: npx claude-faf-mcp
Source: https://github.com/Wolfe-Jam/claude-faf-mcp
The .faf format itself is IANA-registered (application/vnd.faf+yaml).
Curious if others are dealing with this multi-AI config problem, or if there's a simpler approach I'm not seeing.