// HACKER NEWS — CYBERSECURITY
Jevmem – automatic project memory for Claude Code, built on Jev
Automatic project memory for Claude Code. Also works with Cursor and Codex.
You need a TypeSafe AI key for Jev (an OpenAI or Anthropic key is optional). Hooks do not read your shell profile reliably, so the simplest place for it is ~/.jevmem/env:
As a Claude Code plugin (hooks and the MCP server, no per-project setup):
It then works in every project you open in Claude Code; JEVMEM.md appears with the first saved line. For one project only, run claude plugin install jevmem@jevmem --scope local inside it. To switch jevmem off in a project, put { "enabled": false } in its jevmem.config.json. The plugin's hooks run through a small POSIX sh launcher that finds Node 20+ (Homebrew, Volta, nvm, fnm, asdf, mise), so on Windows it needs Git for Windows' sh on PATH.
init creates JEVMEM.md, jevmem.config.json and a gitignored .jevmem/ folder, and registers two Claude Code hooks in .claude/settings.local.json, which it adds to .gitignore (details). If a project has both the plugin and init hooks, the plugin's hooks stand down (nothing runs twice) and say so once per session; jevmem init --remove-hooks keeps only the plugin.
Already have a CLAUDE.md? 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; --apply writes them. --from claude-auto-memory also reads Claude Code's own auto memory for the project. The source files are only read.
MCP add_memory goes through the same gate as the hook. Client configs: docs/mcp.md.
Tiers, questions, policy, contradictions, recall and audit: docs/how-it-works.md.
66 held-out turns, all seven deciders given the same state, 2026-09-23 (method, regression set, pricing, p95, retries):
The 0.30 s is the Jev API decision. Since v0.5.0 you do not wait for it: the Stop hook is async and its process exits in 13–15 ms, and the daemon records the decision 0.2–0.4 s after the hook starts (cost and latency).