diff --git a/conventional-commits.md b/conventional-commits.md index a24abbc..1c4d4d5 100644 --- a/conventional-commits.md +++ b/conventional-commits.md @@ -1,4 +1,4 @@ -## Flowing Code Commit Message Guidelines / 1.0.0-rc.9 +## Flowing Code Commit Message Guidelines / 1.0.0-rc.10 The following guidelines are an extension of the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/), which provides an easy set of rules for creating an explicit commit history and dovetails with [SemVer](https://semver.org/spec/v2.0.0.html) by describing the features, fixes, and breaking changes made in commit messages. @@ -41,13 +41,13 @@ Required. The following types are defined. Additional types may be introduced on - Other commits: - `revert:` Reverts a previous commit - `chore:` Changes, not covered by other types - - `WIP:` Incomplete changes ("work in progress"). Note that `WIP:` commits are necessarily not atomical. + - `WIP:` Incomplete or incremental changes on top of other commits ("work in progress"). Note that `WIP:` commits are necessarily not atomical. Type values are lowercase. Additional types may be defined on a per-project basis when the change is semantically distinct from all built-in types and that distinction is meaningful enough to warrant a dedicated label in the project's history. Custom types must be documented in the project's contributing guide, including their intended meaning and the semantic versioning increment they correlate with (if any). -An **exclamation mark** `!` following the **type** (and **scope**, if present) indicates a breaking change (correlating with MAJOR in semantic versioning). A breaking change can be part of commits of any type, except `deprecate:`, `test:`, `ci:`, `style:` and `docs:`, which are not allowed to include breaking changes. Additional details on the breaking change, if needed, can be provided in the footer section. +An **exclamation mark** `!` following the **type** (and **scope**, if present) indicates a breaking change (correlating with MAJOR in semantic versioning). A breaking change can be part of commits of any type, except `deprecate:`, `test:`, `ci:`, `style:`, `docs:` and `WIP:`, which are not allowed to include breaking changes. Additional details on the breaking change, if needed, can be provided in the footer section. ### 2. Scope Optional. Provides additional contextual info. The scope (if any) is written surrounded by parenthesis. A scope name consists of a noun describing a section of the codebase. @@ -124,18 +124,19 @@ Revert commit b3befad91a6e39288ea53d540a4a483b0898fb49. ### WIP commits -WIP commits are temporary in nature and expected to be replaced by a final logically atomic commit. +WIP commits are temporary in nature and expected to be replaced by one or more final logically atomic commits. In order to mark a commit as work-in-progress: - The commit *type* must be `WIP:` (uppercase) -- The commit *subject* must begin with the *type* of the in-progress commit, followed by the *subject* of the in-progress commit. +- The commit header must not include the breaking change indicator `!`. +- The commit *subject* must describe the change introduced by the commit. - The commit message body may describe the current status of the implementation, in addition to other information that is intended for the final commit message. #### Example An initial commit was added with a partial fix: ``` -WIP: fix: prevent orders with negative amount of items +WIP: prevent orders with negative amount of items Validation was added in the creation form. Need to consider the case of editing an existing orders.