# Source Directory When writing or editing game code in this directory, follow these standards. ## Engine Version Warning The LLM's training data predates the pinned engine version. **Always check `docs/engine-reference/` before using any engine API.** Do not guess at post-cutoff API signatures — look them up first. ## Coding Standards - All public APIs require doc comments - Gameplay values must be **data-driven** (external config files), never hardcoded - Prefer dependency injection over singletons for testability - Every new system needs a corresponding ADR in `docs/architecture/` - Commits must reference the relevant story ID or design document ## File Routing Match the engine-specialist agent to the file type being written. See `CLAUDE.md` → Technical Preferences → Engine Specialists → File Extension Routing. When in doubt, use the primary engine specialist configured in `CLAUDE.md`. ## Tests Tests live in `tests/` — not in `src/`. Run `/test-setup` to scaffold the test framework if it doesn't exist yet. Every gameplay system should have unit tests covering its formulas and edge cases. ## 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.