The failure: two opposite ones. Either you have no rules, so the AI rewrites your project and calls it done, or you pasted a 200-line rules file from the internet that you don't understand and the AI half-ignores.
The fix: four rules, each one sentence you can explain
Put these in .cursor/rules/ at the top of your project, one file each, with alwaysApply: true in the header.
1. Small diffs. "Make the smallest change that does what I asked. If you need more than 3 files, stop and ask first."
2. Ask before refactor. "Don't rename, move, or rewrite code I didn't ask about. Don't add dependencies or delete files without asking."
3. No fake done. "Don't say it works unless you ran it. Show the command and its output, or say you didn't run it."
4. Explain as you go. "After each change, say what you did in 2 plain sentences."
Example file, .cursor/rules/small-diffs.mdc:
---
description: Keep every change small and reviewable
alwaysApply: true
---
- Make the smallest change that does what I asked.
- Touch as few files as possible. If you need more than 3 files, stop and ask first.
- Do one thing per request. Don't bundle extras.
Check they're on
Open the Command Palette and search Rules. You should see all four. Not there? The folder you opened isn't the folder containing .cursor.
When to add a fifth
Only after the same annoying thing happens twice. Write one sentence that bans it. Never add a rule you can't explain in your own words.
Get them ready-made
The free teaser includes a sample rule and the review card. The pack has all four rules written out, plus the prompts that go with them.