Treat rules as architecture, not helper notes
A large React repository needs rule files that stay legible as the component tree grows. The mistake is to dump every preference into one flat list and hope the model reconstructs intent from sheer volume.
The better pattern is layered structure: architecture, component patterns, styling constraints, testing defaults, and review rules. When each layer has a job, the file stays useful long after the first sprint.
Optimize for retrieval, not for prose elegance
The best .cursorrules files read like machine-friendly architecture notes. Short headings, explicit imperatives, concrete directory references, and non-overlapping instructions beat long narrative explanations every time.
Once a file crosses a certain length, duplication becomes the real bug. If the same styling rule appears in three places, the assistant will start weighting wording differences as meaning.
Version rule files with the same discipline as code
A rule file is not static documentation. It is a working control surface. That means versioning changes, reviewing regressions, and treating every added instruction as a tradeoff against future clarity.