How it works together
- Mneme HQ stores architectural decisions in
.mneme/project_memory.json— typed, scoped, versioned - A single export command generates a
.cursorrulesfile 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
.cursorrulesfile itself - Conflict resolution happens in Mneme before Cursor ever sees the rules
- Decisions carry
rationale,supersedes, andstatusfields —.cursorrulescarries 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
- Record decisions via
/mneme-record(Claude Code) or editproject_memory.jsondirectly - Re-export before opening Cursor:
mneme export --format cursor-rules > .cursorrules - Commit both files — Mneme corpus is the source,
.cursorrulesis 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
.cursorrulesexport 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 →