Migrate from .cursorrules to Cursor Rules
Read the field note below to see how we apply this pattern in real Cursor projects.
Turn this cable into a shipping system.
We help teams deploy reliable AI workflows with architecture, implementation, and hardening support.
Migrate from .cursorrules to Cursor Rules
Cursor deprecated the .cursorrules file in favor of .cursor/rules/ in late 2024. The old format still works, but it doesn't support scoping, per-session toggling, or file-pattern matching. If you're still on .cursorrules, the migration takes under ten minutes and you come out with more control than you had before.
What we tried
We had a .cursorrules file that had grown to two hundred lines over six months. It covered stack conventions, testing patterns, commit messages, and a long list of anti-patterns to avoid. The migration forced us to actually read it again. Half of it was outdated. A third of it was things Cursor would have done correctly anyway.
What happened
We deleted the outdated sections, split the rest into three focused rule files, and ended up with something shorter and more effective than what we started with. The migration was also a cleanup.
What we learned
Step 1 — Read your existing file:
Before migrating, read every line of your .cursorrules. Remove anything that:
- Describes your stack in a way Cursor can infer from your files (e.g., "use TypeScript" in a TypeScript project)
- Is outdated and no longer reflects how you work
- You added once and never noticed making a difference
What's left is worth migrating.
Step 2 — Create the rules directory:
mkdir -p .cursor/rules
Step 3 — Split by concern:
Don't migrate everything into one .mdc file — you'll end up with the same problem you had before. Split by concern. A common starting split:
| File | Contains | alwaysApply | globs |
|------|----------|---------------|---------|
| project.mdc | Stack, file placement, naming | true | [] |
| testing.mdc | Test patterns, coverage expectations | false | ["**/*.test.*", "**/*.spec.*"] |
| commits.mdc | Commit message format | false | [] |
Step 4 — MDC format:
---
description: Stack and naming conventions
globs: []
alwaysApply: true
---
Your project conventions here.
Step 5 — Verify, then delete the old file:
Open a Cursor chat, type @rules, confirm your new rules are listed. Run a few sessions. When you're confident the new rules are working, delete .cursorrules:
rm .cursorrules
git rm .cursorrules
Commit the deletion separately from the new rules so the migration is clean in git history.
What .cursorrules can't do that .mdc can:
- Scope rules to file patterns — testing rules apply only to test files
- Toggle rules per-session from the rules picker
- Multiple focused rule files instead of one growing file
- Rule descriptions visible in the UI
Quick answers
What do I get from this cable?
You get a dated field note that explains how we handle this configuration workflow in real Cursor projects.
How much time should I budget?
Typical effort is 10 min. The cable is marked beginner.
How do I install the artifact?
This cable is guidance-only and does not ship an installable artifact.
How fresh is the guidance?
The cable is explicitly last verified on 2026-04-17, and includes source links for traceability.
More from @frenxt
Set up Cursor Rules for your project
Cursor without rules is a capable assistant that doesn't know your project. Cursor with well-written rules is an assistant that already knows your stack, conventions, and constrai…
Team Cursor Rules: shared conventions for multi-developer projects
The problem with AI-assisted teams is not that the tools are inconsistent — it's that each developer's tool has a different idea of what "correct" looks like. One person's Cursor…