# CLAUDE.md ## Development methodology Apply these as much as the task reasonably allows; skip only for changes too trivial to warrant them (e.g. a one-line config tweak). - **TDD** — write a failing test before the implementation code for any new behavior; keep red-green-refactor tight. - **BDD** — state acceptance criteria as Given/When/Then before implementing a feature; use an executable BDD framework where the stack has one, otherwise plain test names/comments. - **DDD** — model code around the domain's real concepts and language (entities, value objects, aggregates, bounded contexts), not around technical/CRUD structure. Keep domain logic isolated from infrastructure/framework code. ## Git - Use [Conventional Commits](https://www.conventionalcommits.org/) for every commit: `(): `. - Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `build`, `ci`, `perf`. - One logical change per commit.