Conventions
Commits, branches, git hooks, naming, the Turbo pipeline, and the pre-push a11y audit.
This section documents the conventions the ITU monorepo expects every contributor to follow: how commits are formatted, how branches are named, which git hooks run when, how files / variables / types are named, how Turbo orchestrates tasks across the workspace graph, and how the pre-push accessibility audit keeps UI components honest.
Most of this is enforced automatically — by git hooks, by CI, or by both — so you don't have to remember the rules, and your colleagues don't have to chase you about them. The one partial exception is naming: the patterns (which casing applies to which entity) are held together by code review, but the mechanics of case-only file renames are hook-enforced so you can rename files freely on macOS without losing the change.
Commit messages
Conventional Commits format, enforced by commitlint on every commit.
Branch naming
`<type>/<kebab-case>` pattern, validated on push against a fixed type list.
Git hooks
Husky-managed commit-msg, pre-commit, and pre-push hooks — what each one runs.
Naming conventions
Casing for files, folders, components, variables, types, and constants — what to use where, and why.
Turbo pipeline
The task graph (`build`, `lint`, `type-check`, `test`, `dev`), how `dependsOn` works, and when to prefer pnpm over turbo.
Pre-push a11y audit
Automatic accessibility verification for every UI component you change, wired into the pre-push hook.