From bd7177ab5ad9d527f49900a7a3b06f01a9ca73bf Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:39:08 -0300 Subject: [PATCH 1/3] docs(commits): forbid the in-progress type in WIP subjects Close #72 --- conventional-commits.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conventional-commits.md b/conventional-commits.md index a24abbc..c7794e2 100644 --- a/conventional-commits.md +++ b/conventional-commits.md @@ -41,7 +41,7 @@ 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. @@ -124,18 +124,18 @@ 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 *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. From 7f2c60a30134d2bf55466bbfece0a09dc091a5f0 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:39:25 -0300 Subject: [PATCH 2/3] docs(commits): disallow breaking changes in WIP commits Close #74 --- conventional-commits.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conventional-commits.md b/conventional-commits.md index c7794e2..0ee5956 100644 --- a/conventional-commits.md +++ b/conventional-commits.md @@ -47,7 +47,7 @@ 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. @@ -128,6 +128,7 @@ WIP commits are temporary in nature and expected to be replaced by one or more f In order to mark a commit as work-in-progress: - The commit *type* must be `WIP:` (uppercase) +- 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. From bd43b0ae04f689af4f62643c373b77469265f644 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:39:31 -0300 Subject: [PATCH 3/3] chore(commits): update version to 1.0.0-rc.10 Co-Authored-By: Claude Opus 5 (1M context) --- conventional-commits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conventional-commits.md b/conventional-commits.md index 0ee5956..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.