Skip to content

PR Conventional Commit Naming Help

Ryan P. McKinnon edited this page Jan 30, 2026 · 1 revision

Here's a breakdown of the common Conventional Commit types and their typical uses:

Version-bumping types:

feat: - New features or functionality

  • Bumps MINOR version
  • Examples: "feat(all): add user authentication", "feat(gs): support dark mode"

fix: - Bug fixes

  • Bumps PATCH version
  • Examples: "fix(gs): resolve login timeout issue", "fix(dr): correct calculation error"

Non-version-bumping types:

refactor: - Code restructuring without changing behavior

  • No version bump
  • Examples: "refactor(gs): extract helper functions", "refactor(gs): simplify conditional logic"

perf: - Performance improvements

  • No version bump (though some argue these could be fix:)
  • Examples: "perf(all): optimize database queries", "perf(all): reduce memory usage"

docs: - Documentation changes

  • No version bump
  • Examples: "docs(all): update API reference", "docs(all): fix typos in README"

style: - Code style/formatting (not CSS)

  • No version bump
  • Examples: "style(all): fix indentation", "style(all): run prettier"

test: - Adding or updating tests

  • No version bump
  • Examples: "test(all): add unit tests for auth", "test(all): improve coverage"

build: - Build system or dependency changes

  • No version bump
  • Examples: "build(all): upgrade webpack to v5", "build(all): update npm dependencies"

ci: - CI/CD configuration changes

  • No version bump
  • Examples: "ci(all): add GitHub Actions workflow", "ci(all): update deployment script"

chore: - Maintenance tasks

  • No version bump
  • Examples: "chore(all): update .gitignore", "chore(all): bump version numbers"

Breaking changes (any type with ! or BREAKING CHANGE:) bump the MAJOR version regardless of the commit type.

Clone this wiki locally