Skip to content

8. Branching Strategy and Conventional Commits

Date: 2026-05-05

Status

Accepted

Context

The project needs a consistent workflow for implementing the planned steps without committing half-finished work to main, and commit messages should be machine-readable for changelog generation and navigation.

Decision

Use a main-protected branching model with short-lived feature branches (feat/<scope>, fix/<scope>, chore/<scope>, docs/<scope>). Each implementation step from the plan gets its own branch. Commits follow the Conventional Commits standard: <type>(<scope>): <description>, with scopes matching internal package names.

Consequences

main always reflects a stable, working state. Branch history is preserved via no-fast-forward merges. Conventional commit format enables automated changelog generation and makes git log navigable by component. The overhead is one branch-per-step discipline during implementation.