Skip to content

Conventional commits

Rand McKinney edited this page Jan 31, 2025 · 3 revisions

This policy applies to all library, application, and configuration repos owned by the CAI team on the Adobe-internal and public GitHub. It's provided in a slightly modified form in the CONTRIBUTING.md file of each open-source repository.

Commit messages

All commit messages that target a long-lived branch such as main or a release-specific branch should follow conventional commits. This means that the first word of the commit message should be one of the following:

  • build
  • chore
  • ci
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

Optionally, but preferred, a scope can be added in parentheses after the type. The scope should be the name of the module or component that the commit affects. For example, feat(api): Introduce a new API to validate 1.0 claims.

If more detail is warranted, add a blank line and then continue with sentences (these sentences should be punctuated as such) and paragraphs as needed to provide that detail. There is no need to word-wrap this message.

For example:

feat(api): Introduce a new API to validate 1.0 claims

Repurpose existing v2 API for 0.8 compatibility (read: no validation) mode.

The Conventional Commit message requirement does not apply to individual commits within a pull request, provided that those commits will be squashed when the PR is merged and the resulting squash commit does follow the Conventional Commit requirement above. (This may require the person merging the PR to verify the commit message syntax when they are performing the squash merge.)

Clone this wiki locally