Skip to main content

Conventional Commits

Generate and validate commit messages following Conventional Commits.

Format​

<type>(<scope>): <description>

[optional body]

[optional footer(s)]

Types​

TypeDescriptionVersion Bump
featNew featureMINOR
fixBug fixPATCH
docsDocumentation only-
styleFormatting, no code change-
refactorCode change, no feature/fix-
perfPerformance improvementPATCH
testAdding/updating tests-
buildBuild system changes-
ciCI configuration-
choreMaintenance-
revertRevert previous commitPATCH

Rules​

  1. Type is required, lowercase
  2. Scope is optional, in parentheses
  3. Description is required, lowercase start, no period
  4. Header max 72 characters
  5. Breaking changes: add ! after type or BREAKING CHANGE: footer

Examples​

Simple:

feat: add dark mode support

With scope:

fix(parser): handle empty config files

Breaking change:

feat(api)!: change return type to Promise

BREAKING CHANGE: getProject() now returns Promise<Project>

With body:

fix(config): resolve path handling on Windows

Paths with backslashes were not normalized correctly
when reading pvssInst.conf on Windows systems.

Fixes #123