# {{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
