Skip to content

Commit 3e5ad45

Browse files
authored
fix(skills): treat internal-scope feat commits as patch in /release (#642)
* fix(skills): treat internal-scope feat commits as patch in /release The release skill's auto-detect logic treated any feat: commit as a minor bump. Internal dev tooling scopes (titan, skills, hooks, ci, bench, dogfood, etc.) are not user-facing features and should not trigger a minor version bump. Add an explicit exclusion list so these scopes count as patch. * fix(skills): clarify minor-bump wording, alphabetize scopes, add patch example (#642)
1 parent b2914bf commit 3e5ad45

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

.claude/skills/release/SKILL.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,15 @@ Scan **every commit message** between the last tag and HEAD. Apply these rules i
4646
| Condition | Bump |
4747
|-----------|------|
4848
| Any commit has a `BREAKING CHANGE:` or `BREAKING-CHANGE:` footer, **or** uses the `!` suffix (e.g. `feat!:`, `fix!:`, `refactor!:`) | **major** |
49-
| Any commit uses `feat:` or `feat(scope):` | **minor** |
49+
| Any `feat:` commit **or** any `feat(scope):` where the scope is **not** in the internal list below | **minor** |
5050
| Everything else (`fix:`, `refactor:`, `perf:`, `chore:`, `docs:`, `test:`, `ci:`, etc.) | **patch** |
5151

52+
**Internal scopes — treat as patch, not minor:** The following scopes represent internal developer tooling and infrastructure, not user-facing features. A `feat:` commit with one of these scopes counts as a **patch**, not a minor bump:
53+
54+
`architect`, `bench`, `ci`, `claude`, `deps-audit`, `dogfood`, `hooks`, `housekeep`, `release`, `review`, `skills`, `test-health`, `titan`
55+
56+
For example, `feat(titan): first full pipeline run` is internal tooling — patch. But `feat(cfg): control-flow graph generation` is user-facing — minor.
57+
5258
Given the current version `MAJOR.MINOR.PATCH` from `package.json`, compute the new version:
5359
- **major**`(MAJOR+1).0.0`
5460
- **minor**`MAJOR.(MINOR+1).0`
@@ -57,6 +63,8 @@ Given the current version `MAJOR.MINOR.PATCH` from `package.json`, compute the n
5763
Print the detected bump reason and the resolved version, e.g.:
5864
> Detected **minor** bump (found `feat:` commits). Version: 3.1.0 → **3.2.0**
5965
66+
> Detected **patch** bump (all `feat` commits use internal scopes: `titan`, `skills`). Version: 3.4.0 → **3.4.1**
67+
6068
Use the resolved version as `VERSION` for all subsequent steps.
6169

6270
If `$ARGUMENTS` was provided, use it directly as `VERSION`.

0 commit comments

Comments
 (0)