Conventional Commits

Convention for meaningful & machine-readable Commit Messages

Conventional Commits Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Subset of possible Labels

LabelsDescription
featpatch a bug (related to PATCH in Semantic Versioning)
choreintroduce a feature (related to MINOR in Semantic Versioning)
docschanges to documentation
stylenon-functional changes to appearance
refactornon-functional changes

Remarks

  • I’ve adopted the Convention Angular uses, without conforming to Semantic Versioning
  • Having to think which Label to use trains yourself to think about your commints
  • And enforces separation of different types of changes

Examples

docs(REAMDME): add CI badges
fix(backend): Spring 6 CSRF
chore(frontend): update weblate to 0.8

# commit with a breaking change
feat(app): revamp order process

BREAKING CHANGE: public interface changes for api v1 /orders

References