Shared memory for AI coding agents
Every AI coding session adds what it learns to one shared memory: your rules, architecture, commands, and past mistakes. The next agent, for anyone on the team, starts already knowing them.
Sign in with GitHub · free for small teams · no credit card
Duplicate-invoice outage in March. Always set an idempotency key on refunds.
Stripe webhooks are the source of truth. Reconcile, don't trust the client.
All money is stored in integer cents, never floats.
Don't bump Prisma to v6. It breaks the migration runner in CI.
one teammate learns it once, every agent on the team gets it
Today
You explain the same conventions again. The agent re-discovers the same landmine. The fix you argued about last week gets undone. Nothing it learns survives the session.
With Memmo
What your team learns while working turns into short, clear memories. Every future session, for every teammate, starts already knowing them.
How it works
Three steps, running quietly in the background of the work you already do.
Memory comes from real work, not from writing docs.
When a Claude Code session ends, Memmo reads what happened: the corrections you gave, the decisions the agent made, the commands that failed. Then it proposes short, single-fact memories. Merged PRs and a one-time repo scan add more.
A human approves. Nothing reaches an agent unreviewed.
Proposals land in an inbox. Approve, edit, or reject them, or set a confidence threshold and let the obvious ones through. A correction replaces the memory it updates, so your knowledge stays current instead of piling up.
Every session starts already knowing.
At session start the agent gets a briefing: rules, architecture, key commands, known risks. When you type a task, the memories that relate to it are pulled in. Before it edits a risky file, it gets a warning.
What the agent sees at session start
Memmo: what this team already knows about this repo.
Project rules & decisions:
- Run lint before every push. CI rejects unformatted code.
- Cache reads only. Writes stay uncached (cart consistency).
Architecture:
- Billing is event-driven off Stripe webhooks → invoice-worker.
Key commands:
- Use make test-billing. The full suite times out on billing.
Known risks, check before touching related code:
- Stripe webhooks must be idempotent. A missing key caused the
March duplicate-invoice outage.What a memory is
Not a wiki page. Each memory is one rule, risk, command or decision. A sentence or two, typed, scoped to the repos it applies to, and optionally pinned to file paths.
Every repo in this project must run `pnpm lint` before pushing. CI rejects unformatted code.
A duplicate-invoice outage came from a webhook without an idempotency key. Check keys before touching handlers.
The full suite times out on billing. Run `make test-billing` instead.
GET responses are cached at the edge; writes stay uncached because carts must be consistent across devices.
Get started
The git remote is the identity. memmo init registers the repo, wires Claude Code, and offers a scan that proposes starter memories. Teammates who clone the repo just sign in.
.mcp.json, CLAUDE.md and hooks, committed once$ npm install -g @memmo/cli
$ memmo login
$ memmo init
Connected acme/billing-api → project "Acme".
- created .mcp.json
- created CLAUDE.md
- registered 4 Memmo hook(s) in .claude/settings.json
Scan this repo now to propose starter memories? (Y/n) y
Deep scan complete in 94s. 23 new memory proposal(s) waiting in your Inbox.Built for teams
Memory, Inbox, Connect, Settings. That's the whole app.
A project is the set of repos that share one memory: one monorepo, or twenty services. A memory can apply to all of them or to specific repos.
“What breaks when I touch webhooks?” finds the idempotency incident. Semantic search runs locally, with no vector database and no extra keys.
When the facts change, a correction replaces the old memory once you approve it. Duplicates are caught before they reach the inbox.
Attach file globs to a risk and the agent gets warned the moment it goes to edit a matching file, instead of it being buried in a doc it never read.
Claude Code gets the full loop (hooks and MCP). Codex, Cursor and Claude Desktop read the same memory over hosted MCP.
Bring your own Anthropic, OpenAI or Google key for extraction. Every approve, edit and replace is logged.
Invite your whole team on every plan. You only pay for how often your agents pull memory.
For solo devs and small teams getting started.
Get started freeFor teams that rely on it every day.
Start free, upgrade in-appFor regulated teams that need control.
Talk to usSign in, connect a repo, and your next Claude Code session starts already knowing.
Sign in with GitHub · free for small teams · no credit card