How it works together

  • Mneme HQ stores architectural decisions in .mneme/project_memory.json — typed, scoped, versioned
  • A single export command generates a .cursorrules file from the active decision corpus
  • Mneme's precedence engine resolves conflicts before export — Cursor sees a clean, non-contradictory rule set
  • You edit decisions in Mneme; re-export to update Cursor Rules

What Mneme adds to the workflow

  • Source of truth is structured JSON — not the .cursorrules file itself
  • Conflict resolution happens in Mneme before Cursor ever sees the rules
  • Decisions carry rationale, supersedes, and status fields — .cursorrules carries none of this
  • When you add Claude Code to the stack, Mneme's hook-level enforcement applies automatically — no migration

Setup

pip install mneme
# Export active decisions to .cursorrules
mneme export --format cursor-rules > .cursorrules

Recommended workflow

  1. Record decisions via /mneme-record (Claude Code) or edit project_memory.json directly
  2. Re-export before opening Cursor: mneme export --format cursor-rules > .cursorrules
  3. Commit both files — Mneme corpus is the source, .cursorrules is the derived surface

If you use Cursor and Claude Code

Running both editors against the same codebase? Mneme keeps them consistent without duplication:

  • Cursor sessions use the .cursorrules export for context injection
  • Claude Code sessions use the PreToolUse hook for enforcement
  • Both draw from the same Mneme corpus — one authoritative source, two surfaces

See how they compare. For a detailed breakdown of what each tool does and where they overlap, read the full comparison: Mneme HQ vs Cursor Rules →