Skip to Content
DevelopersStandardsGit & Commit Conventions

Git & Commit Conventions

Branch naming

Branches must follow one of three prefixes. The pr-validation CI workflow rejects branches that do not match.

feature/<short-description> fix/<short-description> chore/<short-description>

Commit messages

The project follows Conventional Commits . Each commit message must have a type prefix:

feat(dbt): add hmis_facility_monthly model fix(prefect): handle flow timeout on large CRVS extract chore(deps): upgrade ruff to 0.4 docs(contributing): clarify pre-commit setup steps

Allowed types: feat, fix, chore, docs, refactor, test, ci

The pr-validation workflow uses commitlint to enforce this format on every commit in a PR.

Merging to main

All PRs are squash-merged. The squash commit message must itself be a valid conventional commit — GitHub will pre-fill it from the PR title, so keep your PR titles in the same format.

Do not merge with a regular merge commit or rebase merge. Squash only. This keeps main history linear and makes git log --oneline readable.

Last updated on