Avinash-jetwani / jevmem
git clone https://github.com/Avinash-jetwani/jevmem.git
v0.7.6 · 1d ago
jevmem saves the decisions, rules and failed approaches from your Claude Code chats to JEVMEM.md in your repo, and brings the relevant ones back next session.
—
stars, 24h
—
stars, 7 days
+129
stars, 30 days · #1,821
129
★ total
9
forks · 5 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseMIT
Created2026-09-22 (28d ago)
Last push1d ago
Watchers1
OwnerUser
GitHub topics
agent-memoryai-memoryclaudeclaude-codeclaude-code-hooksclaude-code-pluginclaude-code-pluginsclaude-code-plugins-marketplaceclaude-plugincodexcoding-agentscursordeveloper-toolsguardrailsjevmcpmcp-serverproject-memorytypesafe
Links
- GitHub: github.com/Avinash-jetwani/jevmem
- Homepage: https://avinash-jetwani.github.io/jevmem/
- Releases · Issues · Hacker News mentions
README excerpt
**Say it once.** jevmem saves the decisions, rules and failed approaches from your Claude Code chats to JEVMEM.md in your repo, and brings the relevant ones back next session. Before Claude runs a command or edits a file, it checks the call against your saved rules. It is open source (MIT), built on TypeSafe AI's Jev, in Anthropic's Claude plugin directory and on the MCP Registry. Since 0.7.4 it saves from Cursor chats the same way, as a Cursor plugin since 0.7.6, and it works with Codex and Claude Desktop over MCP. In Anthropic's Claude plugin directory · On the MCP Registry · Open source, MIT The docs site, one page per question: avinash-jetwani.github.io/jevmem https://github.com/user-attachments/assets/c8a7eced-c427-4ef6-85f2-124eb34ad291 ## Why Each Claude Code session starts with a fresh context, so what you decided last week lives in last week's chat. A `CLAUDE.md` file helps if you keep it up to date. jevmem keeps a file like it up to date for you, as you work. ## In numbers In real Claude Code sessions on three small test projects, with jevmem and without it: - **Claude followed the project's earlier decisions:** in 66 of 72 sessions with jevmem, 28 of 72 without (about 9 in 10, against 4 in 10). - **Tried a change the project forbids:** in 0 of 18 sessions with jevmem, against 10 of 18 without. - **Repeated an approach that had already failed:** in 0 of 15, against 3 of 15. - **Saving:** about 18 cents per 1,000 messages and about a fifth of a second to decide, in the background: Claude doesn't wait for it. - **Bringing lines back:** about a third to half a second on each prompt, which Claude waits for; the time and the cost grow with the file. - **To be fair:** a `CLAUDE.md` you keep up to date by hand did about as well (67 of 72), and better on one convention nothing in the prompt points at (3 of 3 against 0 of 3). jevmem keeps a file like it up to date for you, and since 0.7.1 marks such rules always-on, so they reach every session: 18 of 18 on six held-out tasks written for that gap, against 14 of 18 with 0.7.0. My own test sets, each number from one run; none is an independent benchmark. Method and results ## How it works You chat as usual. When you decide something, jevmem writes it as one line in a file in your repo, and brings the right lines back next session. 1. You decide something in a chat: "We use Postgres." 2. jevmem asks Jev by TypeSafe AI, a model that answers yes/no questions with probabilities, whether it's worth keeping. 3. If it is, jevmem writes one line to `JEVMEM.md` in your repo. 4. Next session, the lines that matter for your prompt go back to Claude. Change your mind, and the old line is crossed out: kept for history, not sent to Claude. Your team gets the same file through git. jevmem keeps **decisions, rules, bugs, to-dos and dead ends** (an approach that was tried and failed, with the reason). [code] About these lines Each line also carries a comment with its id, time and confidence, left out above. The