Conventional Commits format

  • Format: type(scope): imperative description
  • Types: feat, fix, docs, style, refactor, test, chore, perf, ci, revert
  • Breaking change: add ! after type — feat! — and a BREAKING CHANGE: footer
  • Body (optional): explain WHY, not HOW — the diff shows how
  • semver: feat → MINOR bump, fix → PATCH bump, BREAKING CHANGE → MAJOR bump

Question 0 of 5

Which commit message follows the Conventional Commits format correctly?