If you use both Cursor and Claude Code on the same repo, you have probably noticed both tools support a rules/ directory of persistent instructions. The obvious move is to make them share one directory with a symlink. Don't. The two formats overlap just enough to look compatible and just differently enough to fail silently. This post walks through the exact incompatibilities and a small code generator that keeps both formats in sync from a single source of truth.
The two rule systems
Both tools let you drop markdown files with YAML frontmatter into a project directory. Instructions apply either always or scoped to file globs.
Cursor — .cursor/rules/*.mdc:
description: "Run ESLint after changing TS/JS"






