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