Open Source Hacker News (Claude)

Jevmem – automatic project memory for Claude Code, built on Jev

Claude Codedeveloper toolsproject memoryJev

Jevmem provides automatic project memory for Claude Code, Cursor, and Codex. It saves decisions, constraints, bugs, and todos from Claude Code chats into a JEVMEM.md file automatically. When a decision changes, the old line is marked superseded rather than deleted, so history stays intact — for example, a "[decision] Use Postgres 16 for the primary store; SQLite locks under load" entry with an id, timestamp, and confidence score, later referenced by a "[superseded] Use SQLite as the primary store → id:k3d9xq" line. On the next session, the relevant lines are added to Claude's context, and lines added by others are checked before Claude sees them.

Version 0.5 introduces plugin installation with opt-in per project — it does nothing until you run `jevmem enable` in a repo. A memory-poisoning check on recall screens lines jevmem did not write on your machine (a teammate's, a pull request's, or your own hand edits) with Jev before Claude sees them; on a 44-line test set it blocked 20 of 22 planted lines with 0 of 22 false blocks on legitimate rules from SECURITY.md. Turns queued during Jev outages are now retried later in order instead of being dropped, and a new `jevmem import` command handles existing CLAUDE.md, AGENTS.md, or Cursor rules files.

Installation takes about 60 seconds and requires a TypeSafe AI key for Jev, with an OpenAI or Anthropic key optional. The recommended route is the Claude Code plugin: `npm install -g jevmem`, then `claude plugin marketplace add Avinash-jetwani/jevmem`, `claude plugin install jevmem@jevmem`, and `jevmem enable` in the project — the plugin runs the npm-installed CLI, so without it the hooks stay silent and the MCP server fails to start (showing as failed in `/mcp`). Claude Code prompts for the key on enable and stores it in the system's secure credential store, and hooks behavior can be reviewed in docs/hooks.md. The npm-only option (`jevmem init --tool claude`) also sets up Cursor and Codex; it creates JEVMEM.md, jevmem.config.json and .jevmem/, registers two Claude Code hooks, and requires the key in ~/.jevmem/env as TYPESAFE_API_KEY since hooks do not read the shell profile reliably.

For existing setups, `jevmem import` splits CLAUDE.md, AGENTS.md, and .cursor/rules/* into statements, puts each through the same gate as a turn, and prints what it would add, with `--apply` writing them and `--from claude-auto-memory` reading Claude Code's own auto memory; source files are only read, never modified. Capture and recall differ by tool: in Claude Code both are automatic — capture every turn via the Stop hook and recall every prompt via UserPromptSubmit — while in Codex capture is automatic only while `jevmem watch` is running.

Read original →

← Back to home