# Coding Standards - All game code must include doc comments on public APIs - Every system must have a corresponding architecture decision record in `docs/architecture/` - Gameplay values must be data-driven (external config), never hardcoded - All public methods must be unit-testable (dependency injection over singletons) - Commits must reference the relevant design document or task ID - **Verification-driven development**: Write tests first when adding gameplay systems. For UI changes, verify with screenshots. Compare expected output to actual output before marking work complete. Every implementation should have a way to prove it works. # Design Document Standards - All design docs use Markdown - Each mechanic has a dedicated document in `design/gdd/` - Documents must include these 8 required sections: 1. **Overview** -- one-paragraph summary 2. **Player Fantasy** -- intended feeling and experience 3. **Detailed Rules** -- unambiguous mechanics 4. **Formulas** -- all math defined with variables 5. **Edge Cases** -- unusual situations handled 6. **Dependencies** -- other systems listed 7. **Tuning Knobs** -- configurable values identified 8. **Acceptance Criteria** -- testable success conditions - Balance values must link to their source formula or rationale