Context evaporates
New session, blank brain. Every decision you paid tokens to make is gone the moment you close the terminal.
git-native memory for AI agents
Agents forget everything between sessions. mnemo gives them a persistent, versioned, auditable memory that lives inside your project — stored as plain files, committed with git, and recalled on demand.
$ npm i -g mnemo-mem
added 1 package in 1.2s
$ mm init
created .mnemo/
$ mm new "decided: postgres over sqlite" --importance 0.9
wrote main/1a2b3c4d
$ mm log
3bfb2c4 2026-08-11 20:20 mem: add 1a2b3c4d - decided: postgres over sqlite 2e91a77 2026-08-11 19:44 mem: add 7f11d9ab - session ses_00 · picked the database
the problem
You ask your coding agent to pick a database. It does. Then you close the session — and next time it picks something different, because it never remembered.
New session, blank brain. Every decision you paid tokens to make is gone the moment you close the terminal.
“Remember, we already decided on postgres.” You type that sentence dozens of times — wasting tokens and patience.
When your agent “knew” something and when — good luck. There’s no git history for the things that mattered.
the fix
mnemo treats an agent’s memory the way git treats source: versioned, diffable, branchable, and inspectable at any point in time.
At the end of every OpenCode session the plugin summarizes what happened and stores it — automatically.
Ranked BM25 retrieval returns only the top memories that matter — so the agent gets signal, not a dump.
Each memory write is a git commit. Revert a bad one, diff two versions, see exactly when an agent knew what.
Fork the memory like a branch — spin up an experimental timeline and switch back when the experiment fails.
No database, no cloud, no telemetry. A plain folder in your project. Copy it, move it, delete it — it’s yours.
Open a PR for your agent’s memory. Because decisions are data, they can be reviewed like code.
how it works
One command creates a memory store in .mnemo/ — a tiny git repo inside your project.
Via the OpenCode plugin, an MCP tool, or mm new. Every write is auto-committed to git.
At session start the agent gets the highlights; when it needs details, recall fetches the top ranked memories.
live demo
Two sessions, one brain. The agent decides in the first — and recalls the decision in the second.
scripts/demo.tape
get started
$ npm i -g mnemo-mem
$ mm init
created .mnemo/
$ mm setup-opencode
installed plugin → ~/.config/opencode/plugins/mnemo.js
configured MCP → opencode.json
restart OpenCode for the plugin and MCP server to load
// opencode.json
{
"mcp": {
"mnemo": {
"type": "local",
"command": ["mm", "mcp"],
"enabled": true
}
}
}
Every tool your agent needs to persist and recall —remember,recall,search,list,forget,status— exposed over MCP. Works with any agent that speaks MCP.
documentation
How the store, the git layer and the search engine fit together.
Why memory-as-commits is the whole point — branching, reverts, snapshots.
Tokenization, BM25 ranking and the benchmark behind the retrieval.
The tool surface exposed to agents and how to wire any client.
How this project was taken from idea to npm — a small case study.
The full story, quick start, and every CLI command documented.