cc-workspace 4.0.5 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/bin/cli.js +23 -2
- package/global-skills/agents/team-lead.md +13 -3
- package/global-skills/dispatch-feature/SKILL.md +24 -5
- package/global-skills/dispatch-feature/references/anti-patterns.md +3 -0
- package/global-skills/dispatch-feature/references/spawn-templates.md +37 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Claude Code Multi-Workspace Orchestrator v4.0
|
|
1
|
+
# Claude Code Multi-Workspace Orchestrator v4.1.0
|
|
2
2
|
|
|
3
3
|
A system to pilot multi-service projects from Claude Code.
|
|
4
4
|
The orchestrator (Opus) never codes in repos. It clarifies, plans,
|
|
@@ -341,6 +341,18 @@ Both `init` and `update` are safe to re-run:
|
|
|
341
341
|
|
|
342
342
|
---
|
|
343
343
|
|
|
344
|
+
## Changelog v4.0.5 -> v4.1.0
|
|
345
|
+
|
|
346
|
+
| # | Feature | Detail |
|
|
347
|
+
|---|---------|--------|
|
|
348
|
+
| 1 | **Atomic commits** | Plan template splits tasks into commit-sized units (~300 lines max). Teammates commit as they go, not a single giant commit at the end. |
|
|
349
|
+
| 2 | **Progress tracker** | Plan includes a progress tracker table: commits planned vs done per service, visible at a glance. |
|
|
350
|
+
| 3 | **Commit strategy in spawn templates** | All teammate templates (backend, frontend, infra) include a mandatory commit strategy section with layer-by-layer split guidelines. |
|
|
351
|
+
| 4 | **Commit granularity enforcement** | Team-lead checks commit count vs plan, flags giant commits (>400 lines), requires split before accepting a wave. |
|
|
352
|
+
| 5 | **Teammate commit reporting** | Teammates report commits made (hash + message) alongside files and tests. |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
344
356
|
## Changelog v3.5.0 -> v4.0
|
|
345
357
|
|
|
346
358
|
| # | Feature | Detail |
|
package/bin/cli.js
CHANGED
|
@@ -399,7 +399,7 @@ function planTemplateContent() {
|
|
|
399
399
|
## Impacted services
|
|
400
400
|
| Service | Impacted | Branch | Teammate | Status |
|
|
401
401
|
|---------|----------|--------|----------|--------|
|
|
402
|
-
| | yes/no | | | ⏳ |
|
|
402
|
+
| | yes/no | feature/[name] | | ⏳ |
|
|
403
403
|
|
|
404
404
|
## Waves
|
|
405
405
|
- Wave 1: [producers]
|
|
@@ -407,12 +407,33 @@ function planTemplateContent() {
|
|
|
407
407
|
- Wave 3: [infra]
|
|
408
408
|
|
|
409
409
|
## API contract
|
|
410
|
-
[Exact shapes]
|
|
410
|
+
[Exact request/response shapes for each endpoint]
|
|
411
411
|
|
|
412
412
|
## Tasks
|
|
413
413
|
|
|
414
414
|
### [service]
|
|
415
|
+
|
|
416
|
+
#### Commit 1: [data layer — models, migrations, DTOs]
|
|
417
|
+
- ⏳ [task]
|
|
415
418
|
- ⏳ [task]
|
|
419
|
+
> ~N files, ~N lines
|
|
420
|
+
|
|
421
|
+
#### Commit 2: [business logic — use cases, services]
|
|
422
|
+
- ⏳ [task]
|
|
423
|
+
> ~N files, ~N lines
|
|
424
|
+
|
|
425
|
+
#### Commit 3: [API/UI layer — controllers, routes, components]
|
|
426
|
+
- ⏳ [task]
|
|
427
|
+
> ~N files, ~N lines
|
|
428
|
+
|
|
429
|
+
#### Commit 4: [tests]
|
|
430
|
+
- ⏳ [task]
|
|
431
|
+
> ~N files, ~N lines
|
|
432
|
+
|
|
433
|
+
## Progress tracker
|
|
434
|
+
| Service | Commits planned | Commits done | Tests | Status |
|
|
435
|
+
|---------|:-:|:-:|:-:|:-:|
|
|
436
|
+
| | N | 0 | ⏳ | ⏳ |
|
|
416
437
|
|
|
417
438
|
## QA
|
|
418
439
|
- ⏳ Cross-service check
|
|
@@ -78,11 +78,11 @@ The workflow depends on the chosen mode:
|
|
|
78
78
|
- **Mode D**: phases 1-2 then ONE teammate only, no waves
|
|
79
79
|
|
|
80
80
|
1. CLARIFY — ask the missing questions (max 5, formulated as choices)
|
|
81
|
-
2. PLAN — write the plan in markdown, wait for approval
|
|
81
|
+
2. PLAN — write the plan in markdown with commit-sized task units, wait for approval
|
|
82
82
|
3. DISPATCH — send teammates in waves (API/data first, frontend next)
|
|
83
|
-
4. COLLECT — update the plan with results
|
|
83
|
+
4. COLLECT — update the plan with results, verify commit granularity
|
|
84
84
|
5. VERIFY — cross-service check then QA ruthless
|
|
85
|
-
6. REPORT — present the summary, propose fixes
|
|
85
|
+
6. REPORT — present the summary with commit inventory, propose fixes
|
|
86
86
|
|
|
87
87
|
## Dispatch mechanism — Agent Teams
|
|
88
88
|
|
|
@@ -99,12 +99,22 @@ For lightweight read-only tasks (scans, checks), you can use Task
|
|
|
99
99
|
with Explore subagents (Haiku) — faster and cheaper.
|
|
100
100
|
Explore subagents are read-only, they do NOT need a worktree.
|
|
101
101
|
|
|
102
|
+
## Commit granularity enforcement
|
|
103
|
+
|
|
104
|
+
When collecting teammate reports:
|
|
105
|
+
- **Check commit count vs plan** — the plan defines N commit units, the teammate must have N+ commits
|
|
106
|
+
- **Flag giant commits** — any commit >400 lines gets flagged in the session log
|
|
107
|
+
- **If a teammate made a single commit for all tasks**: ask them to split via SendMessage
|
|
108
|
+
before accepting the wave as complete
|
|
109
|
+
- **Progress tracker** in the plan must be updated after each teammate report
|
|
110
|
+
|
|
102
111
|
## What you NEVER do
|
|
103
112
|
- Write code in sibling repos (that's the teammates' job)
|
|
104
113
|
- Modify a file in a repo (delegate via Agent Teams)
|
|
105
114
|
- Guess when you can ask
|
|
106
115
|
- Forget to include the full constitution in spawn prompts
|
|
107
116
|
- Forget UX standards for frontend teammates
|
|
117
|
+
- Accept a single giant commit covering multiple tasks — enforce atomic commits
|
|
108
118
|
- Let the context grow (compact after each cycle)
|
|
109
119
|
- Launch wave 2 before wave 1 has reported
|
|
110
120
|
|
|
@@ -63,6 +63,23 @@ Create `./plans/{feature-name}.md` using `./plans/_TEMPLATE.md`.
|
|
|
63
63
|
Include: context, clarification answers, services impacted, dependency waves,
|
|
64
64
|
detailed tasks per service, API contract (exact shapes), and autonomous choices if applicable.
|
|
65
65
|
|
|
66
|
+
### Commit planning (mandatory)
|
|
67
|
+
|
|
68
|
+
For EACH service, break tasks into **commit-sized units** (~300 lines max each):
|
|
69
|
+
- **Commit 1**: Data layer — models, migrations, DTOs, repositories
|
|
70
|
+
- **Commit 2**: Business logic — use cases, services, validation
|
|
71
|
+
- **Commit 3**: API/UI layer — controllers, routes, components, pages
|
|
72
|
+
- **Commit 4**: Tests for the above
|
|
73
|
+
|
|
74
|
+
Each commit unit in the plan must:
|
|
75
|
+
- Have a descriptive title (becomes the commit message)
|
|
76
|
+
- List the specific tasks it covers
|
|
77
|
+
- Estimate ~N files, ~N lines
|
|
78
|
+
- Be independently compilable and testable
|
|
79
|
+
|
|
80
|
+
The plan also includes a **progress tracker** table summarizing commits planned
|
|
81
|
+
vs done per service, visible at a glance.
|
|
82
|
+
|
|
66
83
|
### Dependency waves
|
|
67
84
|
|
|
68
85
|
- **Wave 1**: Producers — API backend, data/analytics, auth (define contracts)
|
|
@@ -127,11 +144,13 @@ Never mix: one teammate per repo per wave. No two teammates editing the same rep
|
|
|
127
144
|
## Phase 4: Collect and update
|
|
128
145
|
|
|
129
146
|
On each teammate report:
|
|
130
|
-
1. Update `./plans/{feature-name}.md` — statuses ✅ or ❌
|
|
131
|
-
2.
|
|
132
|
-
3.
|
|
133
|
-
4.
|
|
134
|
-
5. If
|
|
147
|
+
1. Update `./plans/{feature-name}.md` — statuses ✅ or ❌ per commit unit
|
|
148
|
+
2. Update the **progress tracker** table (commits done / planned)
|
|
149
|
+
3. Note dead code found
|
|
150
|
+
4. Verify commit count and sizes — flag if a teammate made a single giant commit
|
|
151
|
+
5. If a teammate failed → analyze, correct plan, re-dispatch
|
|
152
|
+
6. **Session log** entry: `[HH:MM] teammate-[service]: [status], [N] commits, [N] files, tests [pass/fail]`
|
|
153
|
+
7. If current wave done → launch next wave
|
|
135
154
|
|
|
136
155
|
## Phase 5: Post-implementation
|
|
137
156
|
|
|
@@ -28,3 +28,6 @@ Reference file for dispatch-feature. Loaded on-demand when Claude needs reminder
|
|
|
28
28
|
| Plan has vague tasks like "implement feature" | Each task should have a clear input→output | Rewrite plan with specific tasks |
|
|
29
29
|
| API contract has `{}` placeholder | Frontend can't build types | Complete the contract shapes before wave 2 |
|
|
30
30
|
| Two teammates on same repo in same wave | Git conflicts guaranteed | Split into separate waves |
|
|
31
|
+
| Giant commit (500+ lines) | PR unreadable, impossible to review | Split into atomic commits (~300 lines max) per logical unit |
|
|
32
|
+
| Single commit at the end | All-or-nothing, no partial rollback | Commit after each logical unit — data, logic, API, tests |
|
|
33
|
+
| Task without commit boundary | Teammate guesses the split | Plan must define commit units per task |
|
|
@@ -27,10 +27,23 @@ You are teammate-[service]. Read the CLAUDE.md in your repo first.
|
|
|
27
27
|
3. Use the LSP tool for code navigation (go-to-definition, find-references)
|
|
28
28
|
4. Run the existing test suite — report pass/fail
|
|
29
29
|
5. List any dead code created or exposed by your changes
|
|
30
|
-
6.
|
|
30
|
+
6. **Atomic commits** — follow the commit plan below
|
|
31
31
|
7. If you hit an architectural decision NOT covered by the plan: STOP and
|
|
32
32
|
report the dilemma instead of guessing
|
|
33
|
-
8. Report back: files created/modified, tests pass/fail, dead code found,
|
|
33
|
+
8. Report back: files created/modified, tests pass/fail, dead code found,
|
|
34
|
+
commits made (hash + message), blockers
|
|
35
|
+
|
|
36
|
+
## Commit strategy (mandatory)
|
|
37
|
+
- **One commit per logical unit** — each task in "Your tasks" = one commit minimum
|
|
38
|
+
- **Max ~300 lines per commit** — if a task produces more, split it:
|
|
39
|
+
1. Data layer first (models, migrations, DTOs, repositories)
|
|
40
|
+
2. Business logic (use cases, services, validation)
|
|
41
|
+
3. API layer (controllers, routes, requests)
|
|
42
|
+
4. Tests for the above
|
|
43
|
+
- **Commit message format**: `feat(domain): description` or `fix(domain): description`
|
|
44
|
+
- **Each commit must compile and pass tests** — no broken intermediate states
|
|
45
|
+
- **Commit as you go** — do NOT accumulate all changes for a single final commit
|
|
46
|
+
- Branch: `feature/[name]` — create it on your first commit
|
|
34
47
|
```
|
|
35
48
|
|
|
36
49
|
## Frontend teammate spawn template
|
|
@@ -57,9 +70,23 @@ You are teammate-[service]. Read the CLAUDE.md in your repo first.
|
|
|
57
70
|
4. Every new component MUST handle 4 states: skeleton loader, empty+CTA, error+retry, success
|
|
58
71
|
5. Run the existing test suite — report pass/fail
|
|
59
72
|
6. List any dead code (unused components, composables, store actions, CSS)
|
|
60
|
-
7.
|
|
73
|
+
7. **Atomic commits** — follow the commit plan below
|
|
61
74
|
8. If you hit an architectural decision NOT covered by the plan: STOP and escalate
|
|
62
|
-
9. Report back: files created/modified, tests pass/fail, dead code found,
|
|
75
|
+
9. Report back: files created/modified, tests pass/fail, dead code found,
|
|
76
|
+
UX compliance, commits made (hash + message), blockers
|
|
77
|
+
|
|
78
|
+
## Commit strategy (mandatory)
|
|
79
|
+
- **One commit per logical unit** — each task = one commit minimum
|
|
80
|
+
- **Max ~300 lines per commit** — if a task produces more, split it:
|
|
81
|
+
1. Types/interfaces and API service layer
|
|
82
|
+
2. Store/composables (state management)
|
|
83
|
+
3. Components (one commit per complex component)
|
|
84
|
+
4. Page integration + routing
|
|
85
|
+
5. Tests for the above
|
|
86
|
+
- **Commit message format**: `feat(domain): description` or `fix(domain): description`
|
|
87
|
+
- **Each commit must compile and pass tests** — no broken intermediate states
|
|
88
|
+
- **Commit as you go** — do NOT accumulate all changes for a single final commit
|
|
89
|
+
- Branch: `feature/[name]` — create it on your first commit
|
|
63
90
|
```
|
|
64
91
|
|
|
65
92
|
## Infra/Config teammate spawn template
|
|
@@ -78,9 +105,12 @@ You are teammate-[service]. Read the CLAUDE.md in your repo first.
|
|
|
78
105
|
2. Implement the configuration changes following the full constitution
|
|
79
106
|
3. Verify consistency with other services (env vars, routes, schemas)
|
|
80
107
|
4. No code changes — only configuration
|
|
81
|
-
5.
|
|
82
|
-
6.
|
|
83
|
-
7.
|
|
108
|
+
5. **Atomic commits** — one commit per logical config change
|
|
109
|
+
6. Commit message format: `chore(service): description`
|
|
110
|
+
7. If you hit an architectural decision NOT covered by the plan: STOP and escalate
|
|
111
|
+
8. Report back: files modified, consistency check results,
|
|
112
|
+
commits made (hash + message), blockers
|
|
113
|
+
- Branch: `feature/[name]`
|
|
84
114
|
```
|
|
85
115
|
|
|
86
116
|
## Explore/Haiku subagent template (read-only)
|
package/package.json
CHANGED