# {{PROJECT_NAME}} — Cursor Rules ## Constructor Pattern 1 file = 1 class = 1 responsibility. Function >30 lines = split. File >200 lines = decompose. ## Core Rules - No patching — fix root cause, not symptoms - Don't rewrite working code without reason - Single Source of Truth — types, routes, enums in ONE place - Root cause first — never fix symptoms ## Project Context - Architecture decisions: see DECISIONS.md - Known issues: see TODO.md (if exists) ## Code Style - Types/interfaces BEFORE implementation - Tests WITH code, never "later" - No mixins, no abstract factories, no DI containers ## Session Protocol - Read DECISIONS.md before making architectural choices - Document new decisions in DECISIONS.md