# CLAUDE.md {{PROJECT_DESCRIPTION}} ## Commands ```bash {{BUILD_COMMAND}} # build {{TEST_COMMAND}} # run tests {{LINT_COMMAND}} # lint / format ``` ## Structure ``` {{KEY_DIRECTORY_1}}/ # {{what it holds}} {{KEY_DIRECTORY_2}}/ # {{what it holds}} ``` ## Conventions - {{e.g. runtime/package manager rules: "all Python through uv run"}} - {{e.g. commit style: "conventional commits"}} - {{e.g. branch/PR rules}} ## Coding Principles Trade-off: these bias caution over speed. Skip them for trivial tasks at your discretion. ### 1. Think before coding Don't assume. Don't hide confusion. State assumptions; if unsure, ask. Present competing interpretations instead of silently picking one. If a simpler approach exists, say so. ### 2. Simple first The minimum code that solves the problem. No unrequested features, no abstractions for single-use code, no speculative flexibility, no error handling for impossible scenarios. If 200 lines could be 50, rewrite. ### 3. Surgical changes Touch only what the request requires. Don't "improve" adjacent code or refactor what isn't broken; match the existing style. Delete only what *your* change orphaned. Test: every changed line traces back to the request. ### 4. Goal-driven execution Define success criteria, then loop until verified: "fix the bug" means "write a reproducing test and make it pass". For multi-step work, show a short plan with a verification step per item.