# Contributing ## Setup ```bash npm install # also installs git hooks (lefthook) via the prepare script ``` ## Before you commit Hooks run automatically (format + lint on commit, typecheck on push). To run the full gate yourself: ```bash npm run ci # format:check + lint + typecheck (client+server) + check:server + tests + build ``` ## Standards All conventions — formatting, error handling, API/wire format, security, logging, testing — live in **[docs/CODE_STANDARDS.md](docs/CODE_STANDARDS.md)**. Follow the canonical pattern for each; new code must pass the CI gate. ## Commits Conventional-commit style (`feat:`, `fix:`, `chore:`, `refactor:`, `ci:`, `style:`, `test:`). Keep mechanical reformatting in its own commit.