cc-workspace 4.0.2 → 4.0.4
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 +187 -191
- package/bin/cli.js +75 -78
- package/global-skills/agents/team-lead.md +91 -91
- package/global-skills/agents/workspace-init.md +148 -148
- package/global-skills/bootstrap-repo/SKILL.md +1 -1
- package/global-skills/cross-service-check/SKILL.md +2 -2
- package/global-skills/cycle-retrospective/SKILL.md +2 -2
- package/global-skills/dispatch-feature/SKILL.md +8 -9
- package/global-skills/dispatch-feature/references/anti-patterns.md +2 -3
- package/global-skills/dispatch-feature/references/frontend-ux-standards.md +47 -47
- package/global-skills/dispatch-feature/references/spawn-templates.md +11 -24
- package/global-skills/incident-debug/SKILL.md +2 -2
- package/global-skills/merge-prep/SKILL.md +2 -2
- package/global-skills/qa-ruthless/SKILL.md +6 -7
- package/global-skills/refresh-profiles/SKILL.md +1 -1
- package/global-skills/templates/claude-md.template.md +21 -21
- package/global-skills/templates/constitution.template.md +33 -9
- package/global-skills/templates/workspace.template.md +1 -1
- package/package.json +2 -2
- package/global-skills/constitution.md +0 -58
- package/global-skills/rules/constitution-en.md +0 -67
package/README.md
CHANGED
|
@@ -1,102 +1,103 @@
|
|
|
1
1
|
# Claude Code Multi-Workspace Orchestrator v4.0
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
A system to pilot multi-service projects from Claude Code.
|
|
4
|
+
The orchestrator (Opus) never codes in repos. It clarifies, plans,
|
|
5
|
+
delegates to teammates who work in parallel in each repo.
|
|
6
6
|
|
|
7
|
-
> Claude Code v2.1.47+ / Opus 4.6 / Sonnet 4.6 (
|
|
7
|
+
> Claude Code v2.1.47+ / Opus 4.6 / Sonnet 4.6 (February 2026).
|
|
8
8
|
> 9 skills, 11 hooks, 3 agents, 3 rules.
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
-
###
|
|
14
|
+
### Prerequisites
|
|
15
15
|
|
|
16
16
|
- **Claude Code** v2.1.47+
|
|
17
17
|
- **Node.js** 18+
|
|
18
|
-
- **jq** (`brew install jq`
|
|
18
|
+
- **jq** (`brew install jq` on macOS, `apt install jq` on Linux)
|
|
19
19
|
|
|
20
|
-
### 1.
|
|
20
|
+
### 1. Workspace setup
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
cd ~/
|
|
24
|
-
npx
|
|
23
|
+
cd ~/projects/my-workspace
|
|
24
|
+
npx cc-workspace init . "My Project"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- workspace.md
|
|
27
|
+
The CLI:
|
|
28
|
+
- Installs skills/rules/agents in `~/.claude/` (if newer version)
|
|
29
|
+
- Creates `orchestrator/` with plans/, templates/, hooks
|
|
30
|
+
- Scans sibling repos (directories with `.git/`)
|
|
31
|
+
- Generates `service-profiles.md`
|
|
32
|
+
- workspace.md and constitution.md in `[UNCONFIGURED]` mode
|
|
33
33
|
|
|
34
|
-
### 2.
|
|
34
|
+
### 2. Initialization (one time only)
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
37
|
cd orchestrator/
|
|
38
38
|
claude --agent workspace-init
|
|
39
|
+
# type "go" to start the diagnostic
|
|
39
40
|
```
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
1.
|
|
43
|
-
2.
|
|
44
|
-
3.
|
|
45
|
-
4.
|
|
46
|
-
5.
|
|
47
|
-
6.
|
|
42
|
+
The `workspace-init` agent:
|
|
43
|
+
1. Diagnoses the structure (hooks, settings, templates)
|
|
44
|
+
2. Scans sibling repos, detects project types, checks Claude Code readiness
|
|
45
|
+
3. Offers to generate missing CLAUDE.md files (optional)
|
|
46
|
+
4. Interactive configuration of workspace.md (section by section)
|
|
47
|
+
5. Interactive configuration of constitution.md (project rules)
|
|
48
|
+
6. Final report with each check's status
|
|
48
49
|
|
|
49
|
-
### 3.
|
|
50
|
+
### 3. Work sessions
|
|
50
51
|
|
|
51
52
|
```bash
|
|
52
53
|
cd orchestrator/
|
|
53
54
|
claude --agent team-lead
|
|
54
55
|
|
|
55
|
-
#
|
|
56
|
-
# A --
|
|
57
|
-
# B --
|
|
58
|
-
# C -- Go direct (dispatch
|
|
59
|
-
# D -- Single-service (1 repo,
|
|
56
|
+
# The team-lead offers 4 modes:
|
|
57
|
+
# A -- Full (clarify -> plan -> validate -> dispatch -> QA)
|
|
58
|
+
# B -- Quick plan (specs -> plan -> dispatch)
|
|
59
|
+
# C -- Go direct (immediate dispatch)
|
|
60
|
+
# D -- Single-service (1 repo, no waves)
|
|
60
61
|
```
|
|
61
62
|
|
|
62
|
-
###
|
|
63
|
+
### Update
|
|
63
64
|
|
|
64
65
|
```bash
|
|
65
|
-
npx
|
|
66
|
+
npx cc-workspace update
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
Updates global components (~/.claude/) if the package version is newer.
|
|
70
|
+
Workspace files (workspace.md, constitution.md, plans/) are never overwritten.
|
|
70
71
|
|
|
71
72
|
### Diagnostic
|
|
72
73
|
|
|
73
74
|
```bash
|
|
74
|
-
npx
|
|
75
|
+
npx cc-workspace doctor
|
|
75
76
|
```
|
|
76
77
|
|
|
77
|
-
|
|
78
|
+
Checks: installed version, skills, rules, agents, hooks, jq, orchestrator/ structure.
|
|
78
79
|
|
|
79
80
|
---
|
|
80
81
|
|
|
81
|
-
##
|
|
82
|
+
## Resulting structure
|
|
82
83
|
|
|
83
84
|
```
|
|
84
|
-
|
|
85
|
-
├── orchestrator/ <-
|
|
85
|
+
my-workspace/
|
|
86
|
+
├── orchestrator/ <- you cd here
|
|
86
87
|
│ ├── .claude/
|
|
87
|
-
│ │ ├── settings.json <- env vars
|
|
88
|
+
│ │ ├── settings.json <- env vars + hooks
|
|
88
89
|
│ │ └── hooks/
|
|
89
90
|
│ │ ├── block-orchestrator-writes.sh
|
|
90
91
|
│ │ ├── session-start-context.sh
|
|
91
92
|
│ │ ├── validate-spawn-prompt.sh
|
|
92
93
|
│ │ └── ... <- 11 scripts
|
|
93
|
-
│ ├── CLAUDE.md <-
|
|
94
|
-
│ ├── workspace.md <-
|
|
95
|
-
│ ├── constitution.md <-
|
|
94
|
+
│ ├── CLAUDE.md <- orchestrator profile
|
|
95
|
+
│ ├── workspace.md <- filled by workspace-init
|
|
96
|
+
│ ├── constitution.md <- filled by workspace-init
|
|
96
97
|
│ ├── templates/
|
|
97
98
|
│ │ ├── workspace.template.md
|
|
98
99
|
│ │ ├── constitution.template.md
|
|
99
|
-
│ │ └── claude-md.template.md <- template
|
|
100
|
+
│ │ └── claude-md.template.md <- template for repo CLAUDE.md files
|
|
100
101
|
│ └── plans/
|
|
101
102
|
│ ├── _TEMPLATE.md
|
|
102
103
|
│ └── service-profiles.md
|
|
@@ -108,169 +109,165 @@ mon-workspace/
|
|
|
108
109
|
|
|
109
110
|
---
|
|
110
111
|
|
|
111
|
-
##
|
|
112
|
+
## How it works
|
|
112
113
|
|
|
113
|
-
###
|
|
114
|
+
### The problem
|
|
114
115
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
You have a project with 3-5 repos (API, frontend, infra, etc.). When you
|
|
117
|
+
ask Claude Code for a feature, it tries to do everything itself:
|
|
118
|
+
it loses context, can't work in multiple repos at once, and guesses
|
|
119
|
+
instead of asking.
|
|
119
120
|
|
|
120
|
-
###
|
|
121
|
+
### The solution
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
The orchestrator (Opus) never touches repo code. It clarifies the need,
|
|
124
|
+
writes a plan in markdown, then sends teammates (Sonnet) to work in
|
|
125
|
+
parallel in each repo via Agent Teams.
|
|
125
126
|
|
|
126
|
-
###
|
|
127
|
+
### Who does what
|
|
127
128
|
|
|
128
|
-
| Role |
|
|
129
|
-
|
|
130
|
-
| **
|
|
131
|
-
| **Init** | Sonnet 4.6 | Diagnostic +
|
|
132
|
-
| **Teammates** | Sonnet 4.6 |
|
|
133
|
-
| **
|
|
134
|
-
| **QA** | Sonnet 4.6 |
|
|
129
|
+
| Role | Model | What it does |
|
|
130
|
+
|------|-------|-------------|
|
|
131
|
+
| **Orchestrator** | Opus 4.6 | Clarifies, plans, delegates, verifies. Writes in orchestrator/ only. |
|
|
132
|
+
| **Init** | Sonnet 4.6 | Diagnostic + interactive workspace configuration. Run once. |
|
|
133
|
+
| **Teammates** | Sonnet 4.6 | Implement in an isolated worktree, test, commit. |
|
|
134
|
+
| **Explorers** | Haiku | Read-only. Scan, verify consistency. |
|
|
135
|
+
| **QA** | Sonnet 4.6 | Hostile mode. Min 3 problems found per service. |
|
|
135
136
|
|
|
136
|
-
###
|
|
137
|
+
### The 4 session modes
|
|
137
138
|
|
|
138
|
-
| Mode |
|
|
139
|
-
|
|
140
|
-
| **A --
|
|
141
|
-
| **B --
|
|
142
|
-
| **C -- Go direct** | Hotfix,
|
|
143
|
-
| **D -- Single-service** | Bug
|
|
139
|
+
| Mode | When to use |
|
|
140
|
+
|------|-------------|
|
|
141
|
+
| **A -- Full** | Complex feature, multi-service, needs clarification |
|
|
142
|
+
| **B -- Quick plan** | Clear specs, no questions |
|
|
143
|
+
| **C -- Go direct** | Hotfix, quick fix, obvious specs |
|
|
144
|
+
| **D -- Single-service** | Bug or isolated feature in a single repo |
|
|
144
145
|
|
|
145
|
-
###
|
|
146
|
+
### The dispatch-feature workflow (Mode A)
|
|
146
147
|
|
|
147
148
|
```
|
|
148
|
-
CLARIFY ->
|
|
149
|
-
PLAN ->
|
|
150
|
-
SPAWN -> Wave 1
|
|
151
|
-
Wave 2
|
|
152
|
-
Wave 3
|
|
153
|
-
COLLECT ->
|
|
149
|
+
CLARIFY -> ask max 5 questions if ambiguity
|
|
150
|
+
PLAN -> write the plan in ./plans/, wait for approval
|
|
151
|
+
SPAWN -> Wave 1: API/data in parallel
|
|
152
|
+
Wave 2: frontend with validated API contract
|
|
153
|
+
Wave 3: infra/config if applicable
|
|
154
|
+
COLLECT -> update the plan with results
|
|
154
155
|
VERIFY -> cross-service-check + qa-ruthless
|
|
155
|
-
REPORT ->
|
|
156
|
+
REPORT -> final summary
|
|
156
157
|
```
|
|
157
158
|
|
|
158
|
-
###
|
|
159
|
+
### Security — path-aware writes
|
|
159
160
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
The orchestrator can write in `orchestrator/` (plans, workspace.md, constitution.md)
|
|
162
|
+
but never in sibling repos. The `block-orchestrator-writes.sh` hook dynamically
|
|
163
|
+
detects if the target path is in a repo (presence of `.git/`).
|
|
163
164
|
|
|
164
|
-
|
|
165
|
-
1. `disallowedTools: Bash`
|
|
166
|
-
2. `allowed-tools` whitelist
|
|
167
|
-
3.
|
|
168
|
-
4.
|
|
165
|
+
Protection layers:
|
|
166
|
+
1. `disallowedTools: Bash` in agent frontmatter
|
|
167
|
+
2. `allowed-tools` whitelist in agent frontmatter
|
|
168
|
+
3. `PreToolUse` path-aware hook in agent frontmatter
|
|
169
|
+
4. `block-orchestrator-writes.sh` hook in .claude/hooks/
|
|
169
170
|
|
|
170
171
|
---
|
|
171
172
|
|
|
172
|
-
##
|
|
173
|
+
## The 9 skills
|
|
173
174
|
|
|
174
|
-
| Skill | Role |
|
|
175
|
-
|
|
176
|
-
| **dispatch-feature** | 4 modes
|
|
177
|
-
| **qa-ruthless** | QA
|
|
178
|
-
| **cross-service-check** |
|
|
179
|
-
| **incident-debug** |
|
|
180
|
-
| **plan-review** |
|
|
181
|
-
| **merge-prep** |
|
|
182
|
-
| **cycle-retrospective** |
|
|
183
|
-
| **refresh-profiles** | Re-
|
|
184
|
-
| **bootstrap-repo** |
|
|
175
|
+
| Skill | Role | Trigger |
|
|
176
|
+
|-------|------|---------|
|
|
177
|
+
| **dispatch-feature** | 4 modes: Clarify -> Plan -> Delegate -> Track | "Implement X", "new feature" |
|
|
178
|
+
| **qa-ruthless** | Hostile QA + UX audit | "QA", "review", "test" |
|
|
179
|
+
| **cross-service-check** | Inter-repo consistency | "cross-service", "pre-merge" |
|
|
180
|
+
| **incident-debug** | Multi-layer diagnostic | "Bug", "500", "not working" |
|
|
181
|
+
| **plan-review** | Plan sanity check (Haiku) | "Review plan" |
|
|
182
|
+
| **merge-prep** | Conflicts, PRs, merge order | "Merge", "PR" |
|
|
183
|
+
| **cycle-retrospective** | Post-cycle learning (Haiku) | "Retro", "retrospective" |
|
|
184
|
+
| **refresh-profiles** | Re-scan repo CLAUDE.md files (Haiku) | "Refresh profiles" |
|
|
185
|
+
| **bootstrap-repo** | Generate a CLAUDE.md (Haiku) | "Bootstrap", "init CLAUDE.md" |
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
|
|
187
|
+
All use `context: fork` — a skill's result is not in context when the
|
|
188
|
+
next one starts. The plan on disk is the source of truth.
|
|
188
189
|
|
|
189
190
|
---
|
|
190
191
|
|
|
191
|
-
##
|
|
192
|
+
## The 3 agents
|
|
192
193
|
|
|
193
|
-
| Agent |
|
|
194
|
-
|
|
195
|
-
| **team-lead** | Opus 4.6 | `claude --agent team-lead` —
|
|
196
|
-
| **workspace-init** | Sonnet 4.6 | `claude --agent workspace-init` — diagnostic + config
|
|
197
|
-
| **implementer** | Sonnet 4.6 |
|
|
194
|
+
| Agent | Model | Usage |
|
|
195
|
+
|-------|-------|-------|
|
|
196
|
+
| **team-lead** | Opus 4.6 | `claude --agent team-lead` — multi-service orchestration |
|
|
197
|
+
| **workspace-init** | Sonnet 4.6 | `claude --agent workspace-init` — diagnostic + initial config |
|
|
198
|
+
| **implementer** | Sonnet 4.6 | Task subagent with `isolation: worktree` — isolated implementation |
|
|
198
199
|
|
|
199
200
|
---
|
|
200
201
|
|
|
201
|
-
##
|
|
202
|
+
## The 11 hooks
|
|
202
203
|
|
|
203
|
-
|
|
204
|
+
All hooks are **non-blocking** (exit 0 + warning). No hook blocks the session.
|
|
204
205
|
|
|
205
|
-
| Hook | Event |
|
|
206
|
-
|
|
207
|
-
| **block-orchestrator-writes** | `PreToolUse` Write\|Edit\|MultiEdit |
|
|
208
|
-
| **validate-spawn-prompt** | `PreToolUse` Teammate | Warning
|
|
209
|
-
| **session-start-context** | `SessionStart` |
|
|
210
|
-
| **user-prompt-guard** | `UserPromptSubmit` | Warning
|
|
211
|
-
| **subagent-start-context** | `SubagentStart` |
|
|
206
|
+
| Hook | Event | Effect |
|
|
207
|
+
|------|-------|--------|
|
|
208
|
+
| **block-orchestrator-writes** | `PreToolUse` Write\|Edit\|MultiEdit | Blocks writes in repos, allows orchestrator/ |
|
|
209
|
+
| **validate-spawn-prompt** | `PreToolUse` Teammate | Warning if missing context (rules, UX, tasks) |
|
|
210
|
+
| **session-start-context** | `SessionStart` | Injects active plans + first session detection |
|
|
211
|
+
| **user-prompt-guard** | `UserPromptSubmit` | Warning if code requested in a repo |
|
|
212
|
+
| **subagent-start-context** | `SubagentStart` | Injects active plan + constitution |
|
|
212
213
|
| **permission-auto-approve** | `PermissionRequest` | Auto-approve Read/Glob/Grep |
|
|
213
|
-
| **track-file-modifications** | `PostToolUse` (async) | Log
|
|
214
|
-
| **teammate-idle-check** | `TeammateIdle` | Warning
|
|
215
|
-
| **task-completed-check** | `TaskCompleted` | Warning
|
|
216
|
-
| **worktree-create-context** | `WorktreeCreate` |
|
|
217
|
-
| **notify-user** | `Notification` |
|
|
214
|
+
| **track-file-modifications** | `PostToolUse` (async) | Log of modified files |
|
|
215
|
+
| **teammate-idle-check** | `TeammateIdle` | Warning if remaining tasks |
|
|
216
|
+
| **task-completed-check** | `TaskCompleted` | Warning if tests failed |
|
|
217
|
+
| **worktree-create-context** | `WorktreeCreate` | Reminder to read repo CLAUDE.md |
|
|
218
|
+
| **notify-user** | `Notification` | Desktop notification |
|
|
218
219
|
|
|
219
220
|
---
|
|
220
221
|
|
|
221
|
-
##
|
|
222
|
+
## The 3 templates
|
|
222
223
|
|
|
223
224
|
| Template | Usage |
|
|
224
225
|
|----------|-------|
|
|
225
|
-
| `workspace.template.md` | Structure
|
|
226
|
-
| `constitution.template.md` | Structure
|
|
227
|
-
| `claude-md.template.md` |
|
|
226
|
+
| `workspace.template.md` | Structure for workspace.md (project, service map, relationships, rules, onboarding) |
|
|
227
|
+
| `constitution.template.md` | Structure for constitution.md (your engineering principles) |
|
|
228
|
+
| `claude-md.template.md` | Standardized structure for repo CLAUDE.md files (stack, arch, rules, tests, anti-patterns) |
|
|
228
229
|
|
|
229
230
|
---
|
|
230
231
|
|
|
231
|
-
## Auto-
|
|
232
|
+
## Auto-discovery of repos
|
|
232
233
|
|
|
233
|
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
- `/refresh-profiles`
|
|
234
|
+
The orchestrator automatically scans `../` to find sibling repos:
|
|
235
|
+
- Any directory with `.git/` is an available repo
|
|
236
|
+
- The orchestrator excludes itself
|
|
237
|
+
- New repos are flagged at startup
|
|
238
|
+
- `/refresh-profiles` re-reads all repo CLAUDE.md files
|
|
238
239
|
|
|
239
240
|
---
|
|
240
241
|
|
|
241
|
-
##
|
|
242
|
+
## Portability
|
|
242
243
|
|
|
243
|
-
|
|
244
|
-
1.
|
|
244
|
+
The `orchestrator/` directory is portable:
|
|
245
|
+
1. Copy it into any workspace
|
|
245
246
|
2. `cd orchestrator && claude --agent workspace-init`
|
|
246
|
-
3.
|
|
247
|
-
4.
|
|
247
|
+
3. If `workspace.md` contains `[UNCONFIGURED]`, the config flow restarts
|
|
248
|
+
4. Sibling repos are re-discovered automatically
|
|
248
249
|
|
|
249
250
|
---
|
|
250
251
|
|
|
251
|
-
##
|
|
252
|
+
## The constitution
|
|
252
253
|
|
|
253
|
-
|
|
254
|
+
`constitution.md` in orchestrator/. You define **all** your engineering
|
|
255
|
+
principles here — security, UX, code quality, process, project-specific rules.
|
|
256
|
+
The `workspace-init` agent helps you write it interactively.
|
|
254
257
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
L'orchestrateur l'inclut dans chaque spawn prompt.
|
|
259
|
-
|
|
260
|
-
### Projet (a personnaliser)
|
|
261
|
-
|
|
262
|
-
`constitution.md` dans orchestrator/. Contient **uniquement** les regles
|
|
263
|
-
specifiques au projet (numerotees 13+).
|
|
258
|
+
There is no global constitution imposed by the package. Each workspace
|
|
259
|
+
defines its own rules. The orchestrator includes the full constitution
|
|
260
|
+
in every teammate spawn prompt (teammates don't receive it automatically).
|
|
264
261
|
|
|
265
262
|
---
|
|
266
263
|
|
|
267
|
-
## Recovery
|
|
264
|
+
## Recovery after crash
|
|
268
265
|
|
|
269
|
-
- `claude --resume`
|
|
270
|
-
-
|
|
271
|
-
-
|
|
266
|
+
- `claude --resume` resumes the session with the team-lead agent
|
|
267
|
+
- The SessionStart hook automatically injects active plans
|
|
268
|
+
- The markdown plan on disk is the source of truth
|
|
272
269
|
|
|
273
|
-
| Emoji |
|
|
270
|
+
| Emoji | Status |
|
|
274
271
|
|-------|--------|
|
|
275
272
|
| ⏳ | TODO |
|
|
276
273
|
| 🔄 | IN PROGRESS |
|
|
@@ -279,34 +276,33 @@ specifiques au projet (numerotees 13+).
|
|
|
279
276
|
|
|
280
277
|
---
|
|
281
278
|
|
|
282
|
-
## Versioning
|
|
279
|
+
## Versioning and updates
|
|
283
280
|
|
|
284
|
-
|
|
281
|
+
The package uses semver. The installed version is tracked in `~/.claude/.orchestrator-version`.
|
|
285
282
|
|
|
286
283
|
```bash
|
|
287
|
-
npx
|
|
288
|
-
npx
|
|
289
|
-
npx
|
|
284
|
+
npx cc-workspace version # shows package and installed versions
|
|
285
|
+
npx cc-workspace update # updates if newer version
|
|
286
|
+
npx cc-workspace doctor # full diagnostic
|
|
290
287
|
```
|
|
291
288
|
|
|
292
|
-
|
|
293
|
-
- **
|
|
294
|
-
- **
|
|
295
|
-
- **
|
|
289
|
+
On each `init` or `update`, the CLI compares versions:
|
|
290
|
+
- **Newer version** → overrides skills, rules, agents, hooks
|
|
291
|
+
- **Same version** → skip (unless `--force`)
|
|
292
|
+
- **Workspace files** (workspace.md, constitution.md, plans/) → never overwritten
|
|
296
293
|
|
|
297
294
|
---
|
|
298
295
|
|
|
299
|
-
##
|
|
296
|
+
## Package contents
|
|
300
297
|
|
|
301
298
|
```
|
|
302
|
-
|
|
303
|
-
├── package.json <- npm package, version
|
|
304
|
-
├── bin/cli.js <- CLI (npx
|
|
299
|
+
cc-workspace/
|
|
300
|
+
├── package.json <- npm package, semver version
|
|
301
|
+
├── bin/cli.js <- CLI (npx cc-workspace)
|
|
305
302
|
├── README.md
|
|
306
303
|
├── LICENSE
|
|
307
304
|
│
|
|
308
|
-
└── global-skills/ <-
|
|
309
|
-
├── constitution.md <- 12 principes (FR)
|
|
305
|
+
└── global-skills/ <- components installed in ~/.claude/
|
|
310
306
|
├── templates/
|
|
311
307
|
│ ├── workspace.template.md
|
|
312
308
|
│ ├── constitution.template.md
|
|
@@ -334,12 +330,12 @@ claude-orchestrator/
|
|
|
334
330
|
|
|
335
331
|
## Idempotence
|
|
336
332
|
|
|
337
|
-
|
|
338
|
-
-
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
333
|
+
The setup is safe to re-run:
|
|
334
|
+
- Does not overwrite `workspace.md` or `constitution.md` if already present
|
|
335
|
+
- Always regenerates `service-profiles.md` (fresh scan)
|
|
336
|
+
- Always regenerates `settings.json` and `block-orchestrator-writes.sh` (security)
|
|
337
|
+
- Templates are always copied
|
|
338
|
+
- Global components are only updated if the version is newer
|
|
343
339
|
|
|
344
340
|
---
|
|
345
341
|
|
|
@@ -347,18 +343,18 @@ Le setup est safe a relancer :
|
|
|
347
343
|
|
|
348
344
|
| # | Feature | Detail |
|
|
349
345
|
|---|---------|--------|
|
|
350
|
-
| 1 | **
|
|
351
|
-
| 2 | **
|
|
352
|
-
| 3 | **
|
|
353
|
-
| 4 | **
|
|
354
|
-
| 5 | **Auto
|
|
355
|
-
| 6 | **4 modes
|
|
356
|
-
| 7 | **
|
|
357
|
-
| 8 | **verify-cycle-complete
|
|
358
|
-
| 9 | **
|
|
359
|
-
| 10 | **
|
|
360
|
-
| 11 | **
|
|
361
|
-
| 12 | **
|
|
346
|
+
| 1 | **NPX package** | `npx cc-workspace init/update/doctor`. Semver versioning. |
|
|
347
|
+
| 2 | **Portable orchestrator** | Always in an `orchestrator/` subdirectory. No more child/sibling mode. |
|
|
348
|
+
| 3 | **workspace-init agent** | Diagnostic + interactive config. Replaces [UNCONFIGURED] detection in team-lead. |
|
|
349
|
+
| 4 | **CLAUDE.md template** | `claude-md.template.md` — standardized structure for repos. |
|
|
350
|
+
| 5 | **Auto repo discovery** | Scans `../` for `.git/`. No hardcoded list. |
|
|
351
|
+
| 6 | **4 session modes** | Full, Quick plan, Go direct, Single-service. |
|
|
352
|
+
| 7 | **Warning-only hooks** | No more blocking hooks (exit 2 -> exit 0). |
|
|
353
|
+
| 8 | **verify-cycle-complete removed** | No more exit blocking. |
|
|
354
|
+
| 9 | **Orchestrator can write** | In orchestrator/ only. Dynamic path-aware hook. |
|
|
355
|
+
| 10 | **Per-workspace constitution** | No global constitution — each workspace defines its own rules. |
|
|
356
|
+
| 11 | **30-line limit removed** | The orchestrator adapts verbosity to context. |
|
|
357
|
+
| 12 | **Structured templates** | workspace.template.md + constitution.template.md + claude-md.template.md. |
|
|
362
358
|
|
|
363
359
|
---
|
|
364
360
|
|
|
@@ -368,15 +364,15 @@ Le setup est safe a relancer :
|
|
|
368
364
|
| # | Fix/Feature | Detail |
|
|
369
365
|
|---|-------------|--------|
|
|
370
366
|
| 1 | Dual-mode setup | `--mode child\|sibling`. Auto-detection. |
|
|
371
|
-
| 2 | Fix frontmatter `invocation:` |
|
|
372
|
-
| 3 | `argument-hint`
|
|
373
|
-
| 4 | Hook `SubagentStart` |
|
|
374
|
-
| 5 | Hook `SubagentStop` (prompt
|
|
367
|
+
| 2 | Fix frontmatter `invocation:` | Replaced by `disable-model-invocation`. |
|
|
368
|
+
| 3 | `argument-hint` on all skills | Improved autocompletion. |
|
|
369
|
+
| 4 | Hook `SubagentStart` | Injects active plan + constitution. |
|
|
370
|
+
| 5 | Hook `SubagentStop` (Haiku prompt) | Evaluates completeness. |
|
|
375
371
|
| 6 | Hook `PermissionRequest` | Auto-approve Read/Glob/Grep. |
|
|
376
|
-
| 7 | Hook `PostToolUse` async |
|
|
377
|
-
| 8 | `hookSpecificOutput` JSON |
|
|
378
|
-
| 9 | `$CLAUDE_PROJECT_DIR` |
|
|
379
|
-
| 10 | `CLAUDE_ENV_FILE`
|
|
372
|
+
| 7 | Hook `PostToolUse` async | Modified files tracking. |
|
|
373
|
+
| 8 | `hookSpecificOutput` JSON | Pattern migration. |
|
|
374
|
+
| 9 | `$CLAUDE_PROJECT_DIR` | Replaces `jq .cwd`. |
|
|
375
|
+
| 10 | `CLAUDE_ENV_FILE` in SessionStart | Exports active plan. |
|
|
380
376
|
| 11 | 14 hooks / 12 events | +4 hooks vs v3.4.2. |
|
|
381
377
|
|
|
382
378
|
</details>
|