Cursor starts every session with amnesia: yesterday's architecture discussion, the migration you agreed not to touch, your preference for pnpm, all gone. There are three real ways to fix that. One, use Cursor's built-in Rules and Memories. Two, run a local-first MCP memory server such as Basic Memory, which keeps everything on your machine. Three, connect a managed memory service over MCP so the same memory follows you across tools. Disclosure up front: I'm Edward, co-founder of Mnemoverse, which is one of those managed services, so I'm biased about option three. The other two are genuinely the right choice for plenty of people, and I'll try to show where.

Option 1: Cursor's native Rules and Memories

Rules are instruction files Cursor loads into the model's context. Project rules live in .cursor/rules, and there are global user rules in settings. They are memory in the "sticky note" sense: static text you write and curate by hand. That is exactly right for stable conventions. "Use pnpm." "Tests mirror the src layout." "Never touch the legacy billing module." Write those once and stop repeating yourself.

Memories is Cursor's automatic layer: the editor generates memories from your sessions so context carries forward. I have to be honest here: availability and behavior vary by version. The feature has moved around and changed between releases, so check what your build actually does before relying on it. When it is present and fits your workflow, it is the zero-setup option.