I built a tiny CLI so my AI coding tools stop forgetting everything
I switch between Claude Code, Codex, and Gemini CLI depending on the day and the task. Each one is genuinely good. Each one also has zero idea what the other one knows. I'd explain a decision to Claude Code — "we're using Postgres here because we need concurrent writes, don't suggest SQLite again" — and it'd remember, because it reads CLAUDE.md . Then I'd switch to Codex for the same repo and it would suggest SQLite. Again. Because nothing I told Claude Code ever made it into whatever context Codex was reading. Multiply that by every "we tried X, it didn't work, don't suggest it again" conversation, and you start explaining the same three things to three different tools every week. That got old fast. What I actually built Mythicator is a CLI called mythicator . It does one thing: keeps a single memory file per repo, and pushes it out to whatever context file each AI tool already reads. mythicator init mythicator add "Chose Postgres over SQLite" --type decision --reason "needs concurrent writes from multiple workers" mythicator sync That sync command writes the same memory into CLAUDE.md , AGENTS.md , GEMINI.md , and .cursorrules — wrapped in a marker block so it never touches anything I've written by hand in those files. Update the memory once, every tool gets it. The canonical data lives in .agent-memory/memory.json , committed to the repo. It's not fancy — decisions, rejected approaches, bugs, conventions, notes, each with an optional reason and tags. No vector search, no embeddings, no hosted service. Just a JSON file and a sync step. Why not just use one of the existing memory frameworks There are already solid tools doing "memory for AI" — Mem0, Zep, that kind of thing. I looked at them before building this. They're aimed at developers building agents that need long-term memory at runtime, with similarity search over a big pile of facts. That's a different problem than mine. I didn't need semantic search. I needed "the four tools I personally switch between all