(www.conventionalcommits.org) Conventional Commits

ROAM_REFS: https://www.conventionalcommits.org/en/v1.0.0/

The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages. The commit message should be structured as follows:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

The commit contains the following structural elements, to communicate intent to the consumers of your library:

  1. fix: a commit of the type
    fix
    patches a bug in your codebase (this correlates with
    PATCH
    in Semantic Versioning).
  2. feat: a commit of the type
    feat
    introduces a new feature to the codebase (this correlates with
    MINOR
    in Semantic Versioning).
  3. BREAKING CHANGE: a commit that has a footer
    BREAKING CHANGE:
    , or appends a
    !
    after the type/scope, introduces a breaking API change (correlating with
    MAJOR
    in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.
  4. types other than
    fix:
    and
    feat:
    are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends
    build:
    ,
    chore:
    ,
    ci:
    ,
    docs:
    ,
    style:
    ,
    refactor:
    ,
    perf:
    ,
    test:
    , and others.
  5. footers other than
    BREAKING CHANGE: <description>
    may be provided and follow a convention similar to git trailer format.

Additional types are not mandated by the Conventional Commits specification, and have no implicit effect in Semantic Versioning (unless they include a BREAKING CHANGE). A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g.,

feat(parser): add ability to parse arrays
.

See Also

Local Graph

org-roam 6d29c54a-3a33-4a2f-a0fa-997b2b6db7dc (www.conventionalcommits.org) Convent... 4d3d54e9-bdee-44c2-91c0-45e7fcd18e04 (semver.org) Semantic Versioning 2.0.... 6d29c54a-3a33-4a2f-a0fa-997b2b6db7dc->4d3d54e9-bdee-44c2-91c0-45e7fcd18e04 2cb04117-0df5-424d-8cbb-ad567f660cd6 (github.com) commitlint/@commitlint/c... 6d29c54a-3a33-4a2f-a0fa-997b2b6db7dc->2cb04117-0df5-424d-8cbb-ad567f660cd6 59ebaaca-61b7-4583-8695-5b916b9f7ffd (github.com) angular/CONTRIBUTING.md ... 6d29c54a-3a33-4a2f-a0fa-997b2b6db7dc->59ebaaca-61b7-4583-8695-5b916b9f7ffd 915cfc97-0233-4303-879a-19e23100a04f (git-scm.com) Git - git-interpret-tra... 6d29c54a-3a33-4a2f-a0fa-997b2b6db7dc->915cfc97-0233-4303-879a-19e23100a04f