Purpose
Machines enforce style so reviewers don't have to.
The standard
Language | Formatter | Linter | Hook |
|---|---|---|---|
TS/JS | Prettier | ESLint |
|
Python | ruff format | ruff, mypy |
|
C# | dotnet format | analyzers | CI only (Windows) |
SQL |
| ||
Markdown | Prettier |
Hooks run on staged files only; CI runs on everything. Hooks never take longer than ~10 s.
Templates ship with hooks configured; do not disable them with
--no-verifyexcept to commit a WIP on anexp/branch.
Procedure — new repo
npx husky init (TS) or uv run pre-commit install (Python) — the templates already did this.
Owner: Matt · Last reviewed: 2026-09