MemoryLake
Back to all articles
Pain PointMay 22, 20268 min read

Why does Cursor forget my house conventions?

Your team has conventions that did not make it into a doc. Names for common patterns. The right way to write a migration. How to factor a feature when it gets too big. You taught Cursor most of it across a week of pair programming, and today it forgets the half that mattered most. New code looks like generic React, not your house style.

This is not a Cursor bug. It is the limit of how Rules and Memories encode tacit knowledge, and there is a clean way around it.

The short answer

Cursor forgets your house conventions because conventions live as tacit team knowledge that Rules files cannot fully capture, Memories are auto-generated per workspace and not shared with teammates, and the model falls back to internet-average defaults whenever convention guidance loses prompt weight. The fix is a shared, queryable convention memory that every teammate's Cursor reads from.

Why Cursor forgets your house conventions

Cursor's Project Rules and Memories try to capture per-team norms. The mechanics still miss the unwritten half.

1. Conventions are tacit. Most of what makes house style "house" is not written down. It lives in code review comments, Slack threads, and the implicit choices senior engineers make. Rules files capture the explicit fraction; the rest only shows up when a senior reviewer catches it in PR.

2. Memories are per workspace, per developer. Cursor's Memories feature is workspace-scoped and built from chat history. The conventions you taught Cursor on your machine are not the conventions Cursor sees on your teammate's machine. New hires get a Cursor that has learned nothing about your team yet.

3. Internet defaults are loud. When in-prompt convention guidance loses weight, the model falls back to the dominant patterns it saw in training, which are the patterns of every public React/Node repo on the internet. Your house style does not stand a chance against that signal unless it is actively retrieved.

The result: Cursor mirrors the internet on cold tasks and your team only when it has recently been reminded.

What you lose when Cursor forgets house conventions

Every house-style miss costs you review cycles, and the loss compounds across hires and teammates:

  • New hires get average code. Your Cursor knows your conventions; your new hire's Cursor does not, so their first PRs look like internet React instead of your codebase.
  • Code review re-teaches the same lessons. "Wrap fetches in our useApi hook, not raw SWR" becomes a comment you leave four times a week instead of a rule the AI enforces.
  • Style drift compounds. Each generated file that misses a small convention adds a small inconsistency, and after a quarter the codebase has measurably drifted toward the model's defaults.

The fix is not "write a longer style guide." It is to make the team's conventions queryable memory that every teammate's Cursor reads from automatically.

Cursor's built-in workarounds

Cursor has shipped real features here. Each helps. None of them close the gap.

*Project Rules (`.cursor/rules/.mdc)** capture explicit conventions per project, with frontmatter, globs, and alwaysApply` for scoping. They are good at the rules you have already articulated. They are weak at the tacit ones nobody has written down yet, and they share prompt budget with code.

Memories auto-generate short rules from chat history and scope them to the project. They are useful as a baseline but are summaries of what Cursor inferred you wanted, not a shared team contract, and they live per workspace on one machine.

Native MCP support lets Cursor connect to external memory through .cursor/mcp.json or the Settings UI. This is the cleanest path for shared, team-wide conventions, because MCP returns context on demand from a single source of truth.

You can read Cursor's own breakdown of Rules and Memories in the official Cursor docs.

For solo projects, the natives are fine. For teams, they fragment.

Where Cursor's built-in memory falls short

The deeper issue is that house conventions are a team artifact, not an individual one. They evolve in code review, they get clarified in retrospectives, and they need to apply to every teammate's editor consistently. A .cursor/rules/*.mdc file in the repo helps, but it cannot capture decisions made yesterday in a PR comment, and it cannot be read by Claude Code, Cline, or Windsurf if a teammate uses one of those instead of Cursor.

That is what a cross-tool memory layer fixes: one team convention store, fed by reviews and decisions, retrieved on demand by every AI editor on the team.

How MemoryLake fixes Cursor forgetting house conventions

MemoryLake is a cross-model memory layer that sits between you and every AI you use. Instead of relying on Rules and Memories that live per workspace, your team puts conventions in a shared MemoryLake Project, and every teammate's Cursor reads from that Project through MCP.

  • Shared team memory. Conventions are stored once and accessible to every teammate's editor, so a rule clarified in a PR is enforced in the next AI-generated file on someone else's machine.
  • Tacit knowledge made explicit. Capture review feedback ("we wrap fetches in useApi, not raw SWR") as structured Memories the moment it comes up, and have it enforced from then on.
  • Portable to every other AI coding tool. The same convention memory works in Claude Code, Cline, Windsurf, and any MCP-aware editor. New hires get the team's conventions on day one regardless of which tool they use.

MemoryLake scored 94.03% on the LoCoMo long-context benchmark, the top published result as of 2026, with millisecond retrieval and AES-256 end-to-end encryption.

Connect MemoryLake to Cursor in 3 steps

  1. Create a team project and load your conventions. Sign in to MemoryLake, open Project Management, click Create Project, and name it after the repo and team (for example, "Cursor - web-team house style"). Drop your style guide, ADRs, and a few canonical reference files into the Document Drive. Capture tacit conventions ("we use useApi, not raw SWR", "migrations live in db/migrations/<YYYYMMDD>/") in the Memories tab so they are retrievable by topic.
  2. Generate an MCP Server endpoint. Open the MCP Servers tab inside your project, click Add MCP Server, name it "Cursor integration", and click Generate. MemoryLake returns an API key ID, secret, and endpoint URL. Copy the secret immediately, since it is shown only once. Share the endpoint with the team; each teammate uses their own Bearer token.
  3. Connect Cursor. Cursor has had native MCP support since 2025, which makes this the cleanest path. Each teammate adds a MemoryLake server entry to .cursor/mcp.json at the repo root (or wires it through Cursor Settings > Features > MCP) with their endpoint and Bearer token, then reloads Cursor. House conventions now load on demand in every teammate's editor.

Frequently asked questions

Does Cursor learn my team's house conventions?

Cursor's Memories feature auto-generates short rules from chat history per workspace, and Project Rules let you encode explicit conventions per repo. Neither captures the tacit conventions that live in code review and team chat, and Memories are not shared across teammates.

How do I share Cursor conventions with my whole team?

The cleanest path is an external memory layer like MemoryLake, connected through MCP. Conventions live in a shared Project and every teammate's Cursor reads from it, so a rule clarified once applies to everyone's editor.

Why does Cursor write code that looks like generic React?

Because when in-prompt convention guidance loses weight, the model falls back to the dominant patterns it saw in training, which are the patterns of the public web. Your house style needs to be actively retrieved per turn to override that signal.

Can I capture code-review feedback as Cursor conventions?

Cursor does not have a native "save this review comment as a rule" flow. With MemoryLake, you can add a review insight as a structured Memory in seconds, and it becomes retrievable context in every future edit.

Can the same convention memory work in Claude Code or Windsurf?

Yes, if you use a cross-tool memory layer. MemoryLake stores conventions in a model-neutral Project, accessible through MCP, so the same memory works in Claude Code, Cline, Windsurf, and any MCP-aware editor.