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 CHANGED
@@ -1,102 +1,103 @@
1
1
  # Claude Code Multi-Workspace Orchestrator v4.0
2
2
 
3
- Un systeme pour piloter des projets multi-services depuis Claude Code.
4
- L'orchestrateur (Opus) ne code jamais dans les repos. Il clarifie, planifie,
5
- delegue a des teammates qui travaillent en parallele dans chaque repo.
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 (fevrier 2026).
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
- ### Prerequis
14
+ ### Prerequisites
15
15
 
16
16
  - **Claude Code** v2.1.47+
17
17
  - **Node.js** 18+
18
- - **jq** (`brew install jq` sur macOS, `apt install jq` sur Linux)
18
+ - **jq** (`brew install jq` on macOS, `apt install jq` on Linux)
19
19
 
20
- ### 1. Setup du workspace
20
+ ### 1. Workspace setup
21
21
 
22
22
  ```bash
23
- cd ~/projets/mon-workspace
24
- npx claude-orchestrator init . "Mon Projet"
23
+ cd ~/projects/my-workspace
24
+ npx cc-workspace init . "My Project"
25
25
  ```
26
26
 
27
- Le CLI :
28
- - Installe skills/rules/agents dans `~/.claude/` (si version plus recente)
29
- - Cree `orchestrator/` avec plans/, templates/, hooks
30
- - Scanne les repos freres (dossiers avec `.git/`)
31
- - Genere `service-profiles.md`
32
- - workspace.md et constitution.md en mode `[UNCONFIGURED]`
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. Initialisation (une seule fois)
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
- L'agent `workspace-init` :
42
- 1. Diagnostique la structure (hooks, settings, templates)
43
- 2. Scanne les repos freres, detecte les types de projet, verifie Claude Code readiness
44
- 3. Propose de generer les CLAUDE.md manquants (optionnel)
45
- 4. Configuration interactive de workspace.md (section par section)
46
- 5. Configuration interactive de constitution.md (regles projet)
47
- 6. Rapport final avec le statut de chaque check
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. Sessions de travail
50
+ ### 3. Work sessions
50
51
 
51
52
  ```bash
52
53
  cd orchestrator/
53
54
  claude --agent team-lead
54
55
 
55
- # Le team-lead propose 4 modes :
56
- # A -- Complet (clarify -> plan -> validate -> dispatch -> QA)
57
- # B -- Plan rapide (specs -> plan -> dispatch)
58
- # C -- Go direct (dispatch immediat)
59
- # D -- Single-service (1 repo, pas de waves)
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
- ### Mise a jour
63
+ ### Update
63
64
 
64
65
  ```bash
65
- npx claude-orchestrator update
66
+ npx cc-workspace update
66
67
  ```
67
68
 
68
- Met a jour les composants globaux (~/.claude/) si la version du package est superieure.
69
- Les fichiers du workspace (workspace.md, constitution.md, plans/) ne sont jamais ecrases.
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 claude-orchestrator doctor
75
+ npx cc-workspace doctor
75
76
  ```
76
77
 
77
- Verifie : version installee, skills, rules, agents, hooks, jq, structure orchestrator/.
78
+ Checks: installed version, skills, rules, agents, hooks, jq, orchestrator/ structure.
78
79
 
79
80
  ---
80
81
 
81
- ## Structure resultante
82
+ ## Resulting structure
82
83
 
83
84
  ```
84
- mon-workspace/
85
- ├── orchestrator/ <- tu cd ici
85
+ my-workspace/
86
+ ├── orchestrator/ <- you cd here
86
87
  │ ├── .claude/
87
- │ │ ├── settings.json <- env vars uniquement
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 <- profil orchestrateur
94
- │ ├── workspace.md <- rempli par workspace-init
95
- │ ├── constitution.md <- rempli par workspace-init
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 pour les CLAUDE.md des repos
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
- ## Comment ca marche
112
+ ## How it works
112
113
 
113
- ### Le probleme
114
+ ### The problem
114
115
 
115
- Tu as un projet avec 3-5 repos (API, frontend, infra, etc.). Quand tu
116
- demandes une feature a Claude Code, il essaie de tout faire lui-meme :
117
- il perd le contexte, il ne peut pas travailler dans plusieurs repos a la
118
- fois, et il devine au lieu de demander.
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
- ### La solution
121
+ ### The solution
121
122
 
122
- L'orchestrateur (Opus) ne touche jamais au code des repos. Il clarifie le besoin,
123
- ecrit un plan en markdown, puis envoie des teammates (Sonnet) bosser en
124
- parallele dans chaque repo via Agent Teams.
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
- ### Qui fait quoi
127
+ ### Who does what
127
128
 
128
- | Role | Modele | Ce qu'il fait |
129
- |------|--------|---------------|
130
- | **Orchestrateur** | Opus 4.6 | Clarifie, planifie, delegue, verifie. Ecrit dans orchestrator/ uniquement. |
131
- | **Init** | Sonnet 4.6 | Diagnostic + configuration interactive du workspace. Se lance une fois. |
132
- | **Teammates** | Sonnet 4.6 | Implementent dans un worktree isole, testent, commitent. |
133
- | **Explorateurs** | Haiku | Read-only. Scannent, verifient la coherence. |
134
- | **QA** | Sonnet 4.6 | Mode hostile. Min 3 problemes trouves par service. |
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
- ### Les 4 modes de session
137
+ ### The 4 session modes
137
138
 
138
- | Mode | Quand l'utiliser |
139
- |------|--------------------|
140
- | **A -- Complet** | Feature complexe, multi-service, besoin de clarification |
141
- | **B -- Plan rapide** | Specs claires, pas de questions |
142
- | **C -- Go direct** | Hotfix, correction rapide, specs evidentes |
143
- | **D -- Single-service** | Bug ou feature isolee dans un seul repo |
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
- ### Le workflow dispatch-feature (Mode A)
146
+ ### The dispatch-feature workflow (Mode A)
146
147
 
147
148
  ```
148
- CLARIFY -> pose max 5 questions si ambiguite
149
- PLAN -> ecrit le plan dans ./plans/, attend validation
150
- SPAWN -> Wave 1 : API/data en parallele
151
- Wave 2 : frontend avec le contrat API valide
152
- Wave 3 : infra/config si applicable
153
- COLLECT -> met a jour le plan avec les resultats
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 -> bilan final
156
+ REPORT -> final summary
156
157
  ```
157
158
 
158
- ### Securite -- ecriture path-aware
159
+ ### Security path-aware writes
159
160
 
160
- L'orchestrateur peut ecrire dans `orchestrator/` (plans, workspace.md, constitution.md)
161
- mais jamais dans les repos freres. Le hook `block-orchestrator-writes.sh` detecte
162
- dynamiquement si le chemin cible est dans un repo (presence de `.git/`).
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
- Couches de protection :
165
- 1. `disallowedTools: Bash` dans le frontmatter agent
166
- 2. `allowed-tools` whitelist dans le frontmatter agent
167
- 3. Hook `PreToolUse` path-aware dans le frontmatter agent
168
- 4. Hook `block-orchestrator-writes.sh` dans .claude/hooks/
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
- ## Les 9 skills
173
+ ## The 9 skills
173
174
 
174
- | Skill | Role | Declencheur |
175
- |-------|------|-------------|
176
- | **dispatch-feature** | 4 modes : Clarifier -> Planifier -> Deleguer -> Suivre | "Implemente X", "nouvelle feature" |
177
- | **qa-ruthless** | QA hostile + audit UX | "QA", "review", "teste" |
178
- | **cross-service-check** | Coherence inter-repos | "cross-service", "pre-merge" |
179
- | **incident-debug** | Diagnostic multi-couche | "Bug", "500", "ca marche pas" |
180
- | **plan-review** | Sanity check du plan (Haiku) | "Review plan" |
181
- | **merge-prep** | Conflits, PRs, ordre de merge | "Merge", "PR" |
182
- | **cycle-retrospective** | Capitalisation post-cycle (Haiku) | "Retro", "retrospective" |
183
- | **refresh-profiles** | Re-scanner les CLAUDE.md (Haiku) | "Refresh profiles" |
184
- | **bootstrap-repo** | Generer un CLAUDE.md (Haiku) | "Bootstrap", "init CLAUDE.md" |
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
- Tous utilisent `context: fork` -- le resultat d'un skill n'est pas dans le
187
- contexte quand le suivant demarre. Le plan sur disque est la source de verite.
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
- ## Les 3 agents
192
+ ## The 3 agents
192
193
 
193
- | Agent | Modele | Usage |
194
- |-------|--------|-------|
195
- | **team-lead** | Opus 4.6 | `claude --agent team-lead` — orchestration multi-service |
196
- | **workspace-init** | Sonnet 4.6 | `claude --agent workspace-init` — diagnostic + config initiale |
197
- | **implementer** | Sonnet 4.6 | Subagent Task avec `isolation: worktree` — implementation isolee |
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
- ## Les 11 hooks
202
+ ## The 11 hooks
202
203
 
203
- Tous les hooks sont **non-bloquants** (exit 0 + warning). Aucun hook ne bloque la session.
204
+ All hooks are **non-blocking** (exit 0 + warning). No hook blocks the session.
204
205
 
205
- | Hook | Event | Effet |
206
- |------|-------|-------|
207
- | **block-orchestrator-writes** | `PreToolUse` Write\|Edit\|MultiEdit | Bloque ecriture dans les repos, autorise orchestrator/ |
208
- | **validate-spawn-prompt** | `PreToolUse` Teammate | Warning si contexte manquant (rules, UX, tasks) |
209
- | **session-start-context** | `SessionStart` | Injecte plans actifs + detection premiere session |
210
- | **user-prompt-guard** | `UserPromptSubmit` | Warning si demande de code dans un repo |
211
- | **subagent-start-context** | `SubagentStart` | Injecte plan actif + constitution |
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 des fichiers modifies |
214
- | **teammate-idle-check** | `TeammateIdle` | Warning si taches restantes |
215
- | **task-completed-check** | `TaskCompleted` | Warning si tests echoues |
216
- | **worktree-create-context** | `WorktreeCreate` | Rappelle de lire CLAUDE.md du repo |
217
- | **notify-user** | `Notification` | Notification desktop |
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
- ## Les 3 templates
222
+ ## The 3 templates
222
223
 
223
224
  | Template | Usage |
224
225
  |----------|-------|
225
- | `workspace.template.md` | Structure du fichier workspace.md (projet, service map, relations, rules, onboarding) |
226
- | `constitution.template.md` | Structure du fichier constitution.md (regles projet 13+) |
227
- | `claude-md.template.md` | Structure standardisee pour les CLAUDE.md des repos (stack, archi, regles, tests, anti-patterns) |
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-decouverte des repos
232
+ ## Auto-discovery of repos
232
233
 
233
- L'orchestrateur scanne automatiquement `../` pour trouver les repos freres :
234
- - Tout dossier avec `.git/` est un repo disponible
235
- - L'orchestrateur s'exclut lui-meme
236
- - Les nouveaux repos sont signales au demarrage
237
- - `/refresh-profiles` relit les CLAUDE.md de tous les repos
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
- ## Portabilite
242
+ ## Portability
242
243
 
243
- Le dossier `orchestrator/` est portable :
244
- 1. Copie-le dans n'importe quel workspace
244
+ The `orchestrator/` directory is portable:
245
+ 1. Copy it into any workspace
245
246
  2. `cd orchestrator && claude --agent workspace-init`
246
- 3. Si `workspace.md` contient `[UNCONFIGURED]`, le flow de config se relance
247
- 4. Les repos freres sont re-decouverts automatiquement
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
- ## La constitution
252
+ ## The constitution
252
253
 
253
- ### Globale (scopee au workspace)
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
- 12 principes universels dans `~/.claude/rules/constitution-en.md`.
256
- Scopee aux fichiers orchestrateur (`workspace.md`, `plans/**`, etc.).
257
- **v4.0** : les teammates ne la recoivent plus automatiquement.
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 apres crash
264
+ ## Recovery after crash
268
265
 
269
- - `claude --resume` reprend la session avec l'agent team-lead
270
- - Le hook SessionStart injecte automatiquement les plans actifs
271
- - Le plan markdown sur disque est la source de verite
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 | Statut |
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 et mise a jour
279
+ ## Versioning and updates
283
280
 
284
- Le package utilise le semver. La version installee est trackee dans `~/.claude/.orchestrator-version`.
281
+ The package uses semver. The installed version is tracked in `~/.claude/.orchestrator-version`.
285
282
 
286
283
  ```bash
287
- npx claude-orchestrator version # affiche la version du package et celle installee
288
- npx claude-orchestrator update # met a jour si version superieure
289
- npx claude-orchestrator doctor # diagnostic complet
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
- A chaque `init` ou `update`, le CLI compare les versions :
293
- - **Version superieure** → override skills, rules, agents, hooks
294
- - **Meme version** → skip (sauf `--force`)
295
- - **Fichiers workspace** (workspace.md, constitution.md, plans/) → jamais ecrases
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
- ## Contenu du package
296
+ ## Package contents
300
297
 
301
298
  ```
302
- claude-orchestrator/
303
- ├── package.json <- npm package, version semver
304
- ├── bin/cli.js <- CLI (npx claude-orchestrator)
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/ <- composants installes dans ~/.claude/
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
- Le setup est safe a relancer :
338
- - Ne reecrit pas `workspace.md` ni `constitution.md` si deja presents
339
- - Regenere toujours `service-profiles.md` (scan frais)
340
- - Regenere toujours `settings.json` et `block-orchestrator-writes.sh` (securite)
341
- - Les templates sont toujours copies
342
- - Les composants globaux ne sont mis a jour que si la version est superieure
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 | **Package NPX** | `npx claude-orchestrator init/update/doctor`. Versioning semver. |
351
- | 2 | **Orchestrator portable** | Toujours dans un sous-dossier `orchestrator/`. Plus de mode child/sibling. |
352
- | 3 | **Agent workspace-init** | Diagnostic + config interactive. Remplace la detection [UNCONFIGURED] du team-lead. |
353
- | 4 | **Template CLAUDE.md** | `claude-md.template.md` — structure standardisee pour les repos. |
354
- | 5 | **Auto-decouverte repos** | Scanne `../` pour les `.git/`. Pas de liste hardcodee. |
355
- | 6 | **4 modes de session** | Complet, Plan rapide, Go direct, Single-service. |
356
- | 7 | **Hooks warning-only** | Plus aucun hook bloquant (exit 2 -> exit 0). |
357
- | 8 | **verify-cycle-complete supprime** | Plus de blocage a la sortie. |
358
- | 9 | **Orchestrateur peut ecrire** | Dans orchestrator/ uniquement. Hook path-aware dynamique. |
359
- | 10 | **Constitution scopee** | `globs: ["*"]` -> fichiers orchestrateur seulement. |
360
- | 11 | **Limite 30 lignes supprimee** | L'orchestrateur adapte sa verbosite au contexte. |
361
- | 12 | **Templates structures** | workspace.template.md + constitution.template.md + claude-md.template.md. |
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:` | Remplace par `disable-model-invocation`. |
372
- | 3 | `argument-hint` sur tous les skills | Autocompletion amelioree. |
373
- | 4 | Hook `SubagentStart` | Injecte plan actif + constitution. |
374
- | 5 | Hook `SubagentStop` (prompt Haiku) | Evalue completude. |
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 | Tracking fichiers modifies. |
377
- | 8 | `hookSpecificOutput` JSON | Migration du pattern. |
378
- | 9 | `$CLAUDE_PROJECT_DIR` | Remplace `jq .cwd`. |
379
- | 10 | `CLAUDE_ENV_FILE` dans SessionStart | Export plan actif. |
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>