← knowledge.oriz.in

Conventional commits

rule rulesgitcommitsstyle

Conventional commits

Every commit in every repo uses a Conventional Commits prefix. The allowed types in this family are:

Prefix When to use
feat: A new feature for users
fix: A bug fix for users
chore: Tooling, deps, infra, anything not user-facing
docs: Documentation only — README, AGENTS.md, knowledge/
refactor: Code change that neither fixes a bug nor adds a feature
test: Adding or updating tests only

Why

The single-branch (one-branch-only) workflow means there are no PR titles to summarise change intent. The commit message IS the changelog. Without a structured prefix, scrolling git log is unreadable.

Tooling also benefits: release-please, conventional-changelog, and any future automation can parse the log directly.

Optional scope

Add a scope in parentheses when the change is localised:

Body

Optional. Use it when the why is non-obvious. Don't restate the what — the diff already shows that.

Exceptions

None for normal commits. Merge commits (rare in single-branch land, but possible when pulling from a fresh-clone branch) follow git's default format.

See also