A categorization prefix is a short phrase or abbreviation at the beginning of a pull request title that classifies the change quickly. Prefixes such as “fix:” help reviewers adopt the right mindset, search pull requests more easily, and support automated changelog generation. section 2.3.1
Use the category to signal both the change and the review emphasis:
- Use “fix:” for unintended or unwanted behavior, then emphasize whether the problem is actually fixed, whether regression tests exist, and whether relevant edge cases are covered. section 2.3.1
- Match the description to the category: fixes benefit from reproduction steps and before-and-after comparisons, while features may need justification or use cases. section 2.3.1
From vague title to useful signal
“fix: invoice calculates incorrectly because of decimal point being in the wrong place, causing subtotal to be wrong” identifies the problem but is too long. The “fix:” prefix still prepares reviewers to look for the correction, tests, and overlooked edge cases; the title can then be shortened while retaining the essential signal. section 2.3.1
Table 2.1 PR title categorization prefixes
|
Categorization prefix
|
Use for
|
Examples
|
|---|---|---|
feat:
Alternatives:
feat(component or project):
feature:
feature(component or project):
|
Features, ideally complete, atomic, and encapsulated portions or behaviors
When dealing with large projects or multiple components, it can be helpful to specify the affected component or project as part of the prefix.
|
feat: add common timeouts to registry/digest/head fetches
feat: add axis option to slide transition
feat(sidenav): customize width using percentages
feature: add oci image index support via Accepted headers
|
fix:
|
Bug fixes, hot fixes
Code intended to fix unintended or unwanted behavior.
When dealing with large projects or multiple components, it can be helpful to specify the affected component or project as part of the prefix.
|
fix: remove links to nonexistent resources in sitemap
fix: omit a11y warning on <video> when aria-hidden="true"
fix(svelte:element): race condition with transition #7948
fix(flags): detect schedule set from env
fix: blinking cursor in <Select> on IE11
fix: always add missing slashes to link names
fix(registry): image name parsing behavior
|
docs:
|
Anything related to documentation: additions, deprecations, updates to examples, spelling and grammar fixes, improvements to reading flow, etc.
|
docs: add "HTTP API Mode" link to nav menu
docs(js): update Scrollspy documentation example
docs: fix typo in getting started
docs: change wording "finished" to "refined" in context api example
|
chore:
|
Code changes that deal with developer maintenance tasks or ecosystem changes
Think dependency upgrades, fixing lint rules, reorganizing tests, CI/CD pipeline modifications, and other similar changes
|
chore(deps): bump alpine from 3.17.3 to 3.18.0 in /dockerfiles
chore: add missing types to compiler/compile/render_dom functions and variables
chore: upgrade to eslint 8
chore: a11y tests cleanup
chore(ci): run code coverage on main push
chore: move textarea tests to the correct place
|
breaking:
|
Significant code changes that alter core functionality, drift from previous implementations, remove functionality, or change major dependencies
These are code changes that you want to highlight.
|
breaking: make transitions local by default
breaking: set version to 4, remove engines.pnpm and bump engines.node to >=16
breaking: remove legacy package.json files
breaking: remove the deprecated hooks, methods and options for version 13.0.0
breaking: refactor Walkontable Selection rendering module
|
Browse the prefix table for feature and fix categories, component-qualified forms, intended uses, and example titles. section 2.3.1
