Skip to content

Commit da0b9ec

Browse files
blafourcadeclaude
andcommitted
chore(commitlint): scope-enum back as warning with broader list
Restore the explicit list of encouraged scopes so contributors and the AI pipeline have a clear menu, but keep it at level `warning` (1) instead of `error` (2) so a new scope doesn't block the commit. Adds tooling scopes (`release-please`, `ci`, `deps`, `lefthook`, `commitlint`, `contributing`, `docs`, `security`, `test`) that recently produced false positives. Update `aidd_docs/memory/vcs.md` to point at `commitlint.config.cjs` as the source of truth and mirror the encouraged scope list so the AI follows the same vocabulary when composing commits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 66d5fcf commit da0b9ec

2 files changed

Lines changed: 53 additions & 2 deletions

File tree

aidd_docs/memory/vcs.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ chore/release-please-config
3636

3737
## Commit Convention
3838

39+
### Source of truth
40+
41+
The repo's `commitlint.config.cjs` enforces the format and lists the encouraged scopes (read it before composing a commit message). The summary below mirrors that file; if the two disagree, the config wins.
42+
3943
### Format
4044

4145
```text
@@ -60,6 +64,18 @@ type(scope): description
6064
| `style` | Formatting (no logic change) |
6165
| `ci` | CI/CD configuration |
6266
| `revert` | Revert previous commit |
67+
| `build` | Build system or external deps |
68+
69+
### Scopes
70+
71+
Scope is optional. When provided, it MUST be kebab-case (enforced by `scope-case`). A whitelist of encouraged scopes lives in `commitlint.config.cjs` (`scope-enum`) at the `warning` level: an unknown scope produces a warning but does NOT block the commit. Use a known scope whenever it fits; introduce a new one only when no existing scope describes the change.
72+
73+
Encouraged scopes (kept in sync with `commitlint.config.cjs`):
74+
75+
- **Plugin (long form)**: `aidd-context`, `aidd-dev`, `aidd-vcs`, `aidd-pm`, `aidd-refine`, `aidd-orchestrator`
76+
- **Plugin (short form)**: `context`, `dev`, `vcs`, `pm`, `refine`, `orchestrator`
77+
- **Root**: `framework`, `marketplace` (these bump `marketplace.json` via release-please)
78+
- **Tooling**: `release-please`, `ci`, `deps`, `lefthook`, `commitlint`, `contributing`, `docs`, `security`, `test`
6379

6480
### Description rules
6581

@@ -73,6 +89,8 @@ type(scope): description
7389
feat(orchestrator): per-developer Anthropic account routing
7490
fix(orchestrator): SDLC owns push + PR
7591
refactor(aidd-pm): restructure spec into build and refine actions
92+
chore(release-please): register orchestrator and refine packages
93+
ci(framework): drop version.txt from tarball step
7694
```
7795

7896
### Breaking Change

commitlint.config.cjs

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,42 @@
11
module.exports = {
22
extends: ["@commitlint/config-conventional"],
33
rules: {
4-
// Type still validated by config-conventional (feat, fix, chore, docs, refactor, perf, test, build, ci, revert, style).
5-
// Scope is optional and free-form: any kebab-case slug (or empty) is accepted.
4+
// Type validated by config-conventional (feat, fix, chore, docs, refactor, perf, test, build, ci, revert, style).
5+
// Scope is optional. When provided, must be kebab-case. Known scopes below are encouraged but not required
6+
// (the rule level is `warning` = 1, so a non-listed scope is reported but does NOT block the commit).
67
"scope-case": [2, "always", "kebab-case"],
8+
"scope-enum": [
9+
1,
10+
"always",
11+
[
12+
// Plugin scopes (long + short forms)
13+
"aidd-context",
14+
"aidd-dev",
15+
"aidd-vcs",
16+
"aidd-pm",
17+
"aidd-refine",
18+
"aidd-orchestrator",
19+
"context",
20+
"dev",
21+
"vcs",
22+
"pm",
23+
"refine",
24+
"orchestrator",
25+
// Root scopes (touching marketplace.json or framework-wide config)
26+
"framework",
27+
"marketplace",
28+
// Tooling & infra scopes
29+
"release-please",
30+
"ci",
31+
"deps",
32+
"lefthook",
33+
"commitlint",
34+
"contributing",
35+
"docs",
36+
"security",
37+
"test",
38+
],
39+
],
740
"body-max-line-length": [0, "always"],
841
"footer-max-line-length": [0, "always"],
942
},

0 commit comments

Comments
 (0)