How do I move from Windsurf to Cursor without losing my rules and memories?
Your code and your AGENTS.md move with the folder: open it in Cursor and Cursor reads
them. Windsurf's workspace rules need converting, from .windsurf/rules/*.md (or
.devin/rules) into Cursor's .cursor/rules/*.mdc. Its auto-generated
memories and chats do not move. They are stored on your Mac, per workspace, so write down anything
you still need before you switch. BuildGist does not work with Windsurf. It does work with Cursor
from the first run.
BuildGist is a Mac app for Claude Code, Cursor and Codex. Download for Mac.
A note on names
Windsurf's documentation now calls the editor Devin Desktop, and its agent Cascade. Paths in
both forms still work: .devin/rules is preferred, and .windsurf/rules
and the single .windsurfrules file are still read.
What moves on its own, and what does not
- Moves: the code, the Git history, and
AGENTS.md. Windsurf treats a rootAGENTS.mdas always on, and one in a subfolder as applying to that folder. Cursor readsAGENTS.mdat the root and in subfolders too. - Needs converting: workspace rules, and the global rules file at
~/.codeium/windsurf/memories/global_rules.md. - Stays behind: memories, which Windsurf keeps in
~/.codeium/windsurf/memories/, tied to the workspace and never committed, and the Cascade conversations.
1. Turn memories into rules first
Windsurf's own documentation recommends rules or AGENTS.md over memories for
anything you want reused. Open the Customizations panel in Cascade, read the memories for this
workspace, and copy the ones that still matter into AGENTS.md. Then both editors have
them.
2. Convert workspace rules
Each Windsurf rule declares a trigger in its frontmatter. Cursor's
.mdc files use alwaysApply, globs and
description. The mapping:
trigger: always_onbecomesalwaysApply: true.trigger: globwithglobs: ...becomesglobs: ...withalwaysApply: false.trigger: model_decisionwith a description becomesdescription: ...withalwaysApply: false.trigger: manualbecomes a rule with neither, used by @-mentioning it.
Save each one with the .mdc extension. Cursor ignores a plain .md file
in .cursor/rules. If a rule needs no frontmatter at all, put it in
AGENTS.md instead. Global rules go into Cursor's User Rules, in Cursor's settings.
3. Carry the task you are in
git status
git diff --stat
Windsurf's checkpoints and reverts stay in Windsurf, so commit or stash anything you might want back. Then open the first Cursor chat with a short note: the task, what is done, what is left, what failed, and the next step. Ask Cursor to repeat the next step before it edits.
4. Check what Cursor loaded
Open Cursor's rules settings and confirm the converted rules are listed with the type you expect. Ask a question one rule should change, and see whether the answer follows it.
Workflows
Windsurf workflows are prompt templates you run with /workflow-name. They do not
convert to rules, since a rule is guidance and a workflow is a set of steps. Save each one as a
Markdown file in the repository, for example docs/workflows/release.md, and in Cursor
mention the file with @ when you want those steps followed. Then the steps are in
version control, and any agent you open in the folder can read them.
Where BuildGist fits after the move
BuildGist works with Claude Code, Cursor and Codex, on Macs with Apple silicon. It does not see Windsurf runs. Once you work in Cursor, it writes a plain-English explanation of each meaningful run in its Inbox, uncommitted work included. If you then start a new chat in Claude Code or Codex in the same project, its card offers the Cursor task and Continue carries the context. How the three share one set of rules is in how to keep context across Claude Code, Cursor and Codex, and how BuildGist compares with those files is in BuildGist vs CLAUDE.md, AGENTS.md and HANDOFF.md.
Questions
Do Windsurf memories transfer to Cursor?
No. They are stored locally in ~/.codeium/windsurf/memories/, per workspace, and are not in the repository. Copy the ones you need into AGENTS.md.
Can Cursor read .windsurfrules or .windsurf/rules?
Not as rules. Convert each file to an .mdc rule in .cursor/rules, or move plain rules into AGENTS.md, which both editors read.
Does BuildGist work with Windsurf?
No. It works with Claude Code, Cursor and Codex.
Do Windsurf checkpoints carry over to Cursor?
No. Named checkpoints and reverts stay in Windsurf. Commit or stash before you switch if you want a point to return to.
Sources
- Windsurf (Devin Desktop) memories and rules and AGENTS.md, checked October 25, 2026.
- Cursor rules, checked October 25, 2026.
What you need
- A Mac with Apple silicon and macOS 12 or later.
- Claude Code, Cursor or Codex.
- A Git project. No commit, push, remote or GitHub repository is needed.
- A GitHub account, to sign in. BuildGist does not access your GitHub repositories.
Codex needs you to approve BuildGist once, in Codex. BuildGist shows the steps. Setup is in Getting started.
To explain a run, your computer sends BuildGist what that run needs, and BuildGist passes it to Anthropic. BuildGist does not keep this material. It does not send your whole repository, files the run did not change, or files named like secrets, such as .env files and keys. It keeps the explanation and short cited excerpts of changed code, at most 12 lines each. Secret masking is best-effort. Privacy has the full list.
Every account gets 7 days of BuildGist Pro free, with no card. The 7 days start at your first explanation or Continue handoff. Nobody is charged when the trial ends. After that, BuildGist Pro is $12 per month, plus any applicable tax shown at checkout. See pricing.
Try BuildGist Download for Mac
Apple silicon, macOS 12 or later. United States, 18 or older.
Related
- What did Claude Code change?
- Switch from Claude Code to Codex
- Understand code an agent wrote
- Hand off Claude Code to Cursor
- Review what Codex changed
- You’ve hit your session limit in Claude Code
- You’ve hit your usage limit in Codex
- Keep context across agents
- Review AI code before merging
- BuildGist or the git diff
- Claude Code session history
- Undo Claude Code changes
- BuildGist vs CLAUDE.md, AGENTS.md and HANDOFF.md
- Keep context from Claude Code to Cursor
- Resume an agent session in another tool
- BuildGist vs Conductor
- Codex context window full
- Undo Codex changes
- Cursor usage limit reached
- Review Cursor agent changes
- Codex session history location
- Your conversation is too long in Cursor
- One default coding agent, or two?
- Tools that summarize agent sessions
- Switch from Codex to Claude Code
- Move from Cursor to Claude Code
- Switch from GitHub Copilot to Claude Code
- Switch from Gemini CLI to Claude Code
- Coding agent crashed mid-task
- Claude Code lost context after compacting
- What commands did the agent run?
- Turn an agent session into a PR description
- Which coding agents read AGENTS.md?
Questions: kayvanandre@gmail.com.