@atlashub/smartstack-cli 2.1.0 → 2.3.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.
Files changed (38) hide show
  1. package/.documentation/business-analyse.html +1503 -1058
  2. package/dist/index.js +92 -55
  3. package/dist/index.js.map +1 -1
  4. package/package.json +10 -7
  5. package/templates/agents/ba-reader.md +250 -0
  6. package/templates/agents/ba-writer.md +210 -0
  7. package/templates/agents/docs-context-reader.md +51 -33
  8. package/templates/skills/_shared.md +2 -0
  9. package/templates/skills/business-analyse/SKILL.md +120 -108
  10. package/templates/skills/business-analyse/_shared.md +136 -146
  11. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +478 -0
  12. package/templates/skills/business-analyse/questionnaire/01-context.md +3 -15
  13. package/templates/skills/business-analyse/questionnaire/03-scope.md +7 -7
  14. package/templates/skills/business-analyse/questionnaire/08-performance.md +7 -21
  15. package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -13
  16. package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -13
  17. package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
  18. package/templates/skills/business-analyse/questionnaire.md +72 -76
  19. package/templates/skills/business-analyse/react/components.md +317 -154
  20. package/templates/skills/business-analyse/react/i18n-template.md +167 -106
  21. package/templates/skills/business-analyse/react/schema.md +474 -107
  22. package/templates/skills/business-analyse/schemas/feature-schema.json +860 -0
  23. package/templates/skills/business-analyse/steps/step-00-init.md +395 -285
  24. package/templates/skills/business-analyse/steps/step-01-analyse.md +523 -0
  25. package/templates/skills/business-analyse/steps/step-02-specify.md +899 -0
  26. package/templates/skills/business-analyse/steps/step-03-validate.md +1009 -0
  27. package/templates/skills/business-analyse/steps/step-04-handoff.md +1802 -0
  28. package/templates/skills/business-analyse/templates/tpl-handoff.md +49 -64
  29. package/templates/skills/business-analyse/steps/step-01-discover.md +0 -737
  30. package/templates/skills/business-analyse/steps/step-02-analyse.md +0 -299
  31. package/templates/skills/business-analyse/steps/step-03-specify.md +0 -472
  32. package/templates/skills/business-analyse/steps/step-04-validate.md +0 -335
  33. package/templates/skills/business-analyse/steps/step-05-handoff.md +0 -741
  34. package/templates/skills/business-analyse/steps/step-06-doc-html.md +0 -320
  35. package/templates/skills/business-analyse/templates/00-context.md +0 -105
  36. package/templates/skills/business-analyse/templates/tpl-brd.md +0 -97
  37. package/templates/skills/business-analyse/templates/tpl-discovery.md +0 -78
  38. package/templates/skills/business-analyse/tracking/change-template.md +0 -30
@@ -26,10 +26,12 @@
26
26
  <span class="breadcrumb-separator">&#8250;</span>
27
27
  <span class="breadcrumb-current">Business Analyse</span>
28
28
  </nav>
29
+ <!-- Language Select -->
29
30
  <select class="lang-select" id="lang-select" onchange="setLanguage(this.value); localStorage.setItem('doc-language', this.value);">
30
31
  <option value="fr">FR</option>
31
32
  <option value="en">EN</option>
32
33
  </select>
34
+ <!-- Search -->
33
35
  <div class="header-search">
34
36
  <div class="search-input-wrapper">
35
37
  <span class="search-icon">&#128269;</span>
@@ -95,31 +97,31 @@
95
97
  </a>
96
98
  <nav class="sidebar-toc">
97
99
  <a href="#introduction" class="sidebar-toc-link">Introduction</a>
98
- <a href="#workflow" class="sidebar-toc-link">Workflow</a>
99
- <a href="#automatic-mode" class="sidebar-toc-link">
100
- <span data-lang="fr">Mode Automatique</span>
101
- <span data-lang="en">Automatic Mode</span>
100
+ <a href="#architecture" class="sidebar-toc-link">
101
+ <span data-lang="fr">Architecture JSON-First</span>
102
+ <span data-lang="en">JSON-First Architecture</span>
102
103
  </a>
103
- <a href="#phases" class="sidebar-toc-link">
104
- <span data-lang="fr">Les 8 Phases</span>
105
- <span data-lang="en">The 8 Phases</span>
104
+ <a href="#quick-start" class="sidebar-toc-link">Quick Start</a>
105
+ <a href="#use-cases" class="sidebar-toc-link">
106
+ <span data-lang="fr">4 Cas d'usage</span>
107
+ <span data-lang="en">4 Use Cases</span>
106
108
  </a>
107
- <a href="#phase-0" class="sidebar-toc-link">0. Orchestrate</a>
108
- <a href="#phase-1" class="sidebar-toc-link">1. Init</a>
109
- <a href="#phase-2" class="sidebar-toc-link">2. Discover</a>
110
- <a href="#phase-3" class="sidebar-toc-link">3. Analyse</a>
111
- <a href="#phase-4" class="sidebar-toc-link">4. Specify</a>
112
- <a href="#phase-5" class="sidebar-toc-link">5. Validate</a>
113
- <a href="#phase-6" class="sidebar-toc-link">6. Handoff</a>
114
- <a href="#phase-7" class="sidebar-toc-link">7. Doc-HTML</a>
115
- <a href="#utilities" class="sidebar-toc-link">
116
- <span data-lang="fr">Utilitaires</span>
117
- <span data-lang="en">Utilities</span>
109
+ <a href="#flags" class="sidebar-toc-link">
110
+ <span data-lang="fr">Flags &amp; Modes</span>
111
+ <span data-lang="en">Flags &amp; Modes</span>
118
112
  </a>
113
+ <a href="#workflow" class="sidebar-toc-link">Workflow</a>
114
+ <a href="#step-00" class="sidebar-toc-link">00. Init</a>
115
+ <a href="#step-01" class="sidebar-toc-link">01. Analyse</a>
116
+ <a href="#step-02" class="sidebar-toc-link">02. Specify</a>
117
+ <a href="#step-03" class="sidebar-toc-link">03. Validate</a>
118
+ <a href="#step-04" class="sidebar-toc-link">04. Handoff</a>
119
+ <a href="#questionnaire" class="sidebar-toc-link">Questionnaire</a>
120
+ <a href="#versioning" class="sidebar-toc-link">Versioning</a>
119
121
  <a href="#agents" class="sidebar-toc-link">Agents</a>
120
- <a href="#files" class="sidebar-toc-link">
121
- <span data-lang="fr">Fichiers</span>
122
- <span data-lang="en">Files</span>
122
+ <a href="#output" class="sidebar-toc-link">
123
+ <span data-lang="fr">Sorties</span>
124
+ <span data-lang="en">Output</span>
123
125
  </a>
124
126
  <a href="#example" class="sidebar-toc-link">
125
127
  <span data-lang="fr">Exemple</span>
@@ -152,6 +154,10 @@
152
154
  <span class="icon">&#128279;</span>
153
155
  <span class="nav-text">Hooks</span>
154
156
  </a>
157
+ <a href="test-web.html" class="nav-item">
158
+ <span class="icon">&#127760;</span>
159
+ <span class="nav-text">Test Web</span>
160
+ </a>
155
161
  </div>
156
162
  </nav>
157
163
  </aside>
@@ -160,14 +166,16 @@
160
166
  <main class="main-content">
161
167
  <div class="content-full">
162
168
 
163
- <!-- Introduction -->
169
+ <!-- ============================================ -->
170
+ <!-- INTRODUCTION -->
171
+ <!-- ============================================ -->
164
172
  <section id="introduction">
165
173
  <h2>Introduction</h2>
166
174
  <p data-lang="fr">
167
- Le workflow <strong>Business Analyse v2</strong> est un systeme complet en <strong>7 phases</strong> pour transformer une demande utilisateur vague en une implementation precise et documentee. Il separe clairement l'analyse du besoin (WHAT) de la specification technique (HOW).
175
+ Le skill <strong>Business Analyse v3.0</strong> est un workflow VibeCoding en <strong>5 etapes</strong> qui transforme un besoin utilisateur en specification fonctionnelle complete, prete pour l'implementation. Il repose sur une <strong>architecture JSON-First</strong> ou un unique fichier <code>feature.json</code> est enrichi progressivement a chaque etape.
168
176
  </p>
169
177
  <p data-lang="en">
170
- The <strong>Business Analyse v2</strong> workflow is a complete <strong>7-phase</strong> system to transform a vague user request into a precise documented implementation. It clearly separates need analysis (WHAT) from technical specification (HOW).
178
+ The <strong>Business Analyse v3.0</strong> skill is a VibeCoding workflow in <strong>5 steps</strong> that transforms a user need into a complete functional specification, ready for implementation. It relies on a <strong>JSON-First architecture</strong> where a single <code>feature.json</code> file is progressively enriched at each step.
171
179
  </p>
172
180
 
173
181
  <div class="alert alert-warning">
@@ -176,10 +184,10 @@
176
184
  <h5 data-lang="fr">Principe fondamental</h5>
177
185
  <h5 data-lang="en">Core Principle</h5>
178
186
  <p data-lang="fr">
179
- <strong>Comprendre avant de specifier.</strong> Les phases 1-3 se concentrent sur le BESOIN (langage utilisateur), les phases 4-6 sur la SOLUTION (langage technique).
187
+ <strong>Comprendre avant de specifier.</strong> Les etapes 00-01 se concentrent sur la DECOUVERTE (langage utilisateur), les etapes 02-04 sur la SPECIFICATION et le HANDOFF (langage technique).
180
188
  </p>
181
189
  <p data-lang="en">
182
- <strong>Understand before specifying.</strong> Phases 1-3 focus on the NEED (user language), phases 4-6 on the SOLUTION (technical language).
190
+ <strong>Understand before specifying.</strong> Steps 00-01 focus on DISCOVERY (user language), steps 02-04 on SPECIFICATION and HANDOFF (technical language).
183
191
  </p>
184
192
  </div>
185
193
  </div>
@@ -189,1314 +197,1751 @@
189
197
  <div class="alert-content">
190
198
  <h5>ULTRATHINK</h5>
191
199
  <p data-lang="fr">
192
- Les phases critiques (0, 2, 3, 4, 6) utilisent <strong>ULTRATHINK</strong> pour une reflexion approfondie. Les phases simples (1, 5, 7) utilisent des modeles plus legers. La phase 7 genere la documentation HTML.
200
+ Les etapes critiques (01 Analyse, 02 Specify, 04 Handoff) utilisent <strong>ULTRATHINK</strong> avec le modele Opus pour une reflexion approfondie. Les etapes simples (00 Init, 03 Validate) utilisent Haiku pour la rapidite.
193
201
  </p>
194
202
  <p data-lang="en">
195
- Critical phases (0, 2, 3, 4, 6) use <strong>ULTRATHINK</strong> for deep reasoning. Simple phases (1, 5, 7) use lighter models. Phase 7 generates HTML documentation.
203
+ Critical steps (01 Analyse, 02 Specify, 04 Handoff) use <strong>ULTRATHINK</strong> with the Opus model for deep reasoning. Simple steps (00 Init, 03 Validate) use Haiku for speed.
196
204
  </p>
197
205
  </div>
198
206
  </div>
199
- </section>
200
207
 
201
- <!-- Automatic Mode -->
202
- <section id="automatic-mode">
203
- <h2>
204
- <span data-lang="fr">Mode Automatique</span>
205
- <span data-lang="en">Automatic Mode</span>
206
- </h2>
207
-
208
- <div class="command-card">
209
- <div class="command-header">
210
- <code class="command-name">/business-analyse</code>
211
- <span class="badge badge-purple">ORCHESTRATE</span>
212
- </div>
213
- <div class="command-body">
208
+ <div class="alert alert-info">
209
+ <span class="alert-icon">&#128202;</span>
210
+ <div class="alert-content">
211
+ <h5 data-lang="fr">4 cas d'usage</h5>
212
+ <h5 data-lang="en">4 Use Cases</h5>
214
213
  <p data-lang="fr">
215
- Lancez le <strong>workflow complet automatique</strong> de l'analyse metier a la documentation. La phase 0 orchestre l'execution de toutes les phases successives avec une granularite configurable.
214
+ Le skill supporte 4 modes : <strong>Nouvelle feature</strong> (workflow complet), <strong>Question</strong> (interroger une feature existante), <strong>Refactoring</strong> (creer une version delta), <strong>Micro-feature</strong> (analyse minimale).
216
215
  </p>
217
216
  <p data-lang="en">
218
- Launch the <strong>complete automatic workflow</strong> from business analysis to documentation. Phase 0 orchestrates execution of all successive phases with configurable granularity.
217
+ The skill supports 4 modes: <strong>New feature</strong> (full workflow), <strong>Question</strong> (query an existing feature), <strong>Refactoring</strong> (create a delta version), <strong>Micro-feature</strong> (minimal analysis).
219
218
  </p>
220
-
221
- <div class="code-block">
222
- <button class="copy-btn">Copy</button>
223
- <pre><code>/business-analyse [feature-name] [options]</code></pre>
224
- </div>
225
-
226
- <h4>
227
- <span data-lang="fr">Niveaux de granularite</span>
228
- <span data-lang="en">Granularity Levels</span>
229
- </h4>
230
- <table class="reference-table">
231
- <thead>
232
- <tr>
233
- <th>
234
- <span data-lang="fr">Niveau</span>
235
- <span data-lang="en">Level</span>
236
- </th>
237
- <th>
238
- <span data-lang="fr">Couverture</span>
239
- <span data-lang="en">Coverage</span>
240
- </th>
241
- <th>Description</th>
242
- </tr>
243
- </thead>
244
- <tbody>
245
- <tr>
246
- <td><strong>Muscles</strong></td>
247
- <td>
248
- <span data-lang="fr">Phases principales</span>
249
- <span data-lang="en">Main phases</span>
250
- </td>
251
- <td>
252
- <span data-lang="fr">Phases 0-6, haute vue d'ensemble</span>
253
- <span data-lang="en">Phases 0-6, high overview</span>
254
- </td>
255
- </tr>
256
- <tr>
257
- <td><strong>Section</strong></td>
258
- <td>
259
- <span data-lang="fr">Toutes phases</span>
260
- <span data-lang="en">All phases</span>
261
- </td>
262
- <td>
263
- <span data-lang="fr">Phases 0-7 avec details complets</span>
264
- <span data-lang="en">Phases 0-7 with full details</span>
265
- </td>
266
- </tr>
267
- <tr>
268
- <td><strong>Resources</strong></td>
269
- <td>
270
- <span data-lang="fr">Etendu</span>
271
- <span data-lang="en">Extended</span>
272
- </td>
273
- <td>
274
- <span data-lang="fr">Phases 0-7 + agents, hooks, ressources</span>
275
- <span data-lang="en">Phases 0-7 + agents, hooks, resources</span>
276
- </td>
277
- </tr>
278
- </tbody>
279
- </table>
280
-
281
- <h4>Workflow Complet</h4>
282
- <div class="svg-diagram" style="max-width: 100%; overflow-x: auto;">
283
- <svg viewBox="0 0 560 260" xmlns="http://www.w3.org/2000/svg" style="font-family: 'Inter', system-ui, sans-serif; min-width: 480px;">
284
- <defs>
285
- <marker id="arrowAuto" markerWidth="12" markerHeight="10" refX="10" refY="5" orient="auto" markerUnits="userSpaceOnUse">
286
- <path d="M0,0 L12,5 L0,10 L3,5 Z" fill="#94a3b8"/>
287
- </marker>
288
- <filter id="shadowAuto" x="-10%" y="-10%" width="120%" height="130%">
289
- <feDropShadow dx="0" dy="2" stdDeviation="3" flood-opacity="0.3"/>
290
- </filter>
291
- </defs>
292
-
293
- <!-- BA Box -->
294
- <g transform="translate(20, 80)" filter="url(#shadowAuto)">
295
- <rect x="0" y="0" width="100" height="60" rx="6" fill="#1e3a5f" stroke="#3b82f6" stroke-width="2"/>
296
- <text x="50" y="22" text-anchor="middle" fill="#f1f5f9" font-size="12" font-weight="700">Business</text>
297
- <text x="50" y="38" text-anchor="middle" fill="#93c5fd" font-size="10">Analyse</text>
298
- </g>
299
- <path d="M120,110 L160,110" stroke="#94a3b8" stroke-width="3" marker-end="url(#arrowAuto)"/>
300
-
301
- <!-- Ralph Loop Box -->
302
- <g transform="translate(160, 80)" filter="url(#shadowAuto)">
303
- <rect x="0" y="0" width="100" height="60" rx="6" fill="#134e4a" stroke="#0d9488" stroke-width="2"/>
304
- <text x="50" y="22" text-anchor="middle" fill="#f1f5f9" font-size="12" font-weight="700">Ralph</text>
305
- <text x="50" y="38" text-anchor="middle" fill="#5eead4" font-size="10">Loop</text>
306
- </g>
307
- <path d="M260,110 L300,110" stroke="#94a3b8" stroke-width="3" marker-end="url(#arrowAuto)"/>
308
-
309
- <!-- Implementation Box -->
310
- <g transform="translate(300, 80)" filter="url(#shadowAuto)">
311
- <rect x="0" y="0" width="100" height="60" rx="6" fill="#7c2d12" stroke="#ea580c" stroke-width="2"/>
312
- <text x="50" y="22" text-anchor="middle" fill="#f1f5f9" font-size="12" font-weight="700">Claude</text>
313
- <text x="50" y="38" text-anchor="middle" fill="#fdba74" font-size="10">Code</text>
314
- </g>
315
- <path d="M400,110 L440,110" stroke="#94a3b8" stroke-width="3" marker-end="url(#arrowAuto)"/>
316
-
317
- <!-- Documentation Box -->
318
- <g transform="translate(440, 80)" filter="url(#shadowAuto)">
319
- <rect x="0" y="0" width="100" height="60" rx="6" fill="#3b0764" stroke="#d946ef" stroke-width="2"/>
320
- <text x="50" y="22" text-anchor="middle" fill="#f1f5f9" font-size="12" font-weight="700">HTML</text>
321
- <text x="50" y="38" text-anchor="middle" fill="#e879f9" font-size="10">Docs</text>
322
- </g>
323
-
324
- <!-- Arrow labels -->
325
- <text x="140" y="70" text-anchor="middle" fill="#94a3b8" font-size="9" font-weight="600">Phases 1-6</text>
326
- <text x="280" y="70" text-anchor="middle" fill="#94a3b8" font-size="9" font-weight="600">Brief</text>
327
- <text x="420" y="70" text-anchor="middle" fill="#94a3b8" font-size="9" font-weight="600">Code</text>
328
- <text x="540" y="70" text-anchor="middle" fill="#94a3b8" font-size="9" font-weight="600">Phase 7</text>
329
-
330
- <!-- Output legend -->
331
- <text x="20" y="170" fill="#94a3b8" font-size="10" font-weight="700" data-lang="fr">Fichiers generes</text>
332
- <text x="20" y="170" fill="#94a3b8" font-size="10" font-weight="700" data-lang="en">Generated files</text>
333
-
334
- <text x="20" y="190" fill="#64748b" font-size="9">.claude/ba/[feature]/01-06-*.md (phases)</text>
335
- <text x="20" y="205" fill="#64748b" font-size="9">.claude/ba/[feature]/07-documentation.html (docs)</text>
336
- <text x="20" y="220" fill="#64748b" font-size="9">Implementation logs &amp; artifacts</text>
337
- </svg>
338
- </div>
339
219
  </div>
340
220
  </div>
341
221
  </section>
342
222
 
343
- <!-- Workflow -->
344
- <section id="workflow">
345
- <h2>Workflow</h2>
346
-
347
- <div class="svg-diagram" style="max-width: 100%; overflow-x: auto;">
348
- <svg viewBox="0 0 1050 320" xmlns="http://www.w3.org/2000/svg" style="font-family: 'Inter', system-ui, sans-serif; min-width: 800px;">
349
- <defs>
350
- <!-- Arrow pointing RIGHT (gray) -->
351
- <marker id="arrowH" markerWidth="10" markerHeight="8" refX="9" refY="4" orient="auto" markerUnits="userSpaceOnUse">
352
- <path d="M0,0 L10,4 L0,8 L2,4 Z" fill="#94a3b8"/>
353
- </marker>
354
- <!-- Arrow pointing DOWN (gray) - fixed orientation -->
355
- <marker id="arrowDown" markerWidth="8" markerHeight="10" refX="4" refY="9" orient="0" markerUnits="userSpaceOnUse">
356
- <path d="M0,0 L4,10 L8,0 L4,2 Z" fill="#94a3b8"/>
357
- </marker>
358
- <!-- Arrow pointing LEFT (red) - fixed orientation -->
359
- <marker id="arrowLeft" markerWidth="10" markerHeight="8" refX="1" refY="4" orient="0" markerUnits="userSpaceOnUse">
360
- <path d="M10,0 L0,4 L10,8 L8,4 Z" fill="#f87171"/>
361
- </marker>
362
- <filter id="shadowH" x="-10%" y="-10%" width="120%" height="130%">
363
- <feDropShadow dx="0" dy="2" stdDeviation="2" flood-opacity="0.25"/>
364
- </filter>
365
- </defs>
223
+ <!-- ============================================ -->
224
+ <!-- ARCHITECTURE JSON-FIRST -->
225
+ <!-- ============================================ -->
226
+ <section id="architecture">
227
+ <h2>
228
+ <span data-lang="fr">Architecture JSON-First</span>
229
+ <span data-lang="en">JSON-First Architecture</span>
230
+ </h2>
366
231
 
367
- <!-- WHAT Swimlane (top) -->
368
- <rect x="10" y="40" width="520" height="90" rx="8" fill="rgba(59, 130, 246, 0.06)" stroke="rgba(59, 130, 246, 0.25)" stroke-width="1"/>
369
- <rect x="10" y="40" width="50" height="90" rx="8" fill="rgba(59, 130, 246, 0.12)"/>
370
- <text x="35" y="90" text-anchor="middle" fill="#3b82f6" font-size="11" font-weight="700" transform="rotate(-90, 35, 90)" data-lang="fr">QUOI</text>
371
- <text x="35" y="90" text-anchor="middle" fill="#3b82f6" font-size="11" font-weight="700" transform="rotate(-90, 35, 90)" data-lang="en">WHAT</text>
372
-
373
- <!-- HOW Swimlane (bottom) - extended width -->
374
- <rect x="10" y="140" width="1020" height="90" rx="8" fill="rgba(13, 148, 136, 0.06)" stroke="rgba(13, 148, 136, 0.25)" stroke-width="1"/>
375
- <rect x="10" y="140" width="50" height="90" rx="8" fill="rgba(13, 148, 136, 0.12)"/>
376
- <text x="35" y="190" text-anchor="middle" fill="#0d9488" font-size="11" font-weight="700" transform="rotate(-90, 35, 190)" data-lang="fr">COMMENT</text>
377
- <text x="35" y="190" text-anchor="middle" fill="#0d9488" font-size="11" font-weight="700" transform="rotate(-90, 35, 190)" data-lang="en">HOW</text>
378
-
379
- <!-- Start node - centered above Demande -->
380
- <circle cx="115" cy="20" r="10" fill="#1e293b" stroke="#64748b" stroke-width="2"/>
381
- <circle cx="115" cy="20" r="4" fill="#94a3b8"/>
382
- <path d="M115,30 L115,48" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowDown)"/>
383
-
384
- <!-- User Request - Demande -->
385
- <g transform="translate(70, 55)" filter="url(#shadowH)">
386
- <rect x="0" y="0" width="90" height="30" rx="15" fill="#334155" stroke="#475569" stroke-width="1"/>
387
- <text x="45" y="19" text-anchor="middle" fill="#f1f5f9" font-size="9" font-weight="500" data-lang="fr">Demande</text>
388
- <text x="45" y="19" text-anchor="middle" fill="#f1f5f9" font-size="9" font-weight="500" data-lang="en">Request</text>
389
- </g>
390
- <path d="M160,70 L195,70" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
232
+ <p data-lang="fr">
233
+ Contrairement a l'ancienne approche multi-fichiers markdown, la v3.0 utilise un <strong>unique fichier <code>feature.json</code></strong> enrichi progressivement par chaque etape. Cela reduit le contexte de ~70% par phase et elimine les fichiers intermediaires.
234
+ </p>
235
+ <p data-lang="en">
236
+ Unlike the previous multi-file markdown approach, v3.0 uses a <strong>single <code>feature.json</code> file</strong> progressively enriched by each step. This reduces context by ~70% per phase and eliminates intermediate files.
237
+ </p>
391
238
 
392
- <!-- Phase 2: DISCOVER -->
393
- <g transform="translate(200, 50)" filter="url(#shadowH)">
394
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#1e3a5f" stroke="#3b82f6" stroke-width="2"/>
395
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">2. DISCOVER</text>
396
- <text x="65" y="30" text-anchor="middle" fill="#93c5fd" font-size="8">Elicitation</text>
397
- </g>
398
- <path d="M330,70 L360,70" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
239
+ <div class="code-block">
240
+ <button class="copy-btn">Copy</button>
241
+ <pre><code>docs/business/{app}/{module}/business-analyse/
242
+ ├── v1.0/
243
+ │ └── feature.json ← Single enriched JSON (progressively filled)
244
+ ├── v1.1/
245
+ │ └── feature.json ← Delta version (refactoring)
246
+ └── v2.0/
247
+ └── feature.json ← Major revision
248
+
249
+ .ralph/
250
+ ├── prd.json ← Task breakdown (generated by step-04)
251
+ └── progress.txt ← Progress tracker</code></pre>
252
+ </div>
399
253
 
400
- <!-- Phase 3: ANALYSE -->
401
- <g transform="translate(365, 50)" filter="url(#shadowH)">
402
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#1e3a5f" stroke="#3b82f6" stroke-width="2"/>
403
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">3. ANALYSE</text>
404
- <text x="65" y="30" text-anchor="middle" fill="#93c5fd" font-size="8">BRD</text>
405
- </g>
254
+ <h4 data-lang="fr">Enrichissement progressif</h4>
255
+ <h4 data-lang="en">Progressive enrichment</h4>
406
256
 
407
- <!-- Transition arrow WHAT -> HOW (simple L-shape to SPECIFY top) -->
408
- <path d="M430,90 L430,130 L265,130 L265,160" stroke="#94a3b8" stroke-width="2" fill="none" marker-end="url(#arrowDown)"/>
257
+ <div class="table-container">
258
+ <table class="reference-table">
259
+ <thead>
260
+ <tr>
261
+ <th>
262
+ <span data-lang="fr">Etape</span>
263
+ <span data-lang="en">Step</span>
264
+ </th>
265
+ <th>
266
+ <span data-lang="fr">Sections enrichies</span>
267
+ <span data-lang="en">Enriched sections</span>
268
+ </th>
269
+ <th>Status</th>
270
+ <th>
271
+ <span data-lang="fr">Modele</span>
272
+ <span data-lang="en">Model</span>
273
+ </th>
274
+ </tr>
275
+ </thead>
276
+ <tbody>
277
+ <tr>
278
+ <td><strong>00 - Init</strong></td>
279
+ <td><code>metadata</code></td>
280
+ <td><span class="badge badge-blue">draft</span></td>
281
+ <td>Haiku</td>
282
+ </tr>
283
+ <tr>
284
+ <td><strong>01 - Analyse</strong></td>
285
+ <td><code>discovery</code>, <code>analysis</code>, <code>suggestions</code></td>
286
+ <td><span class="badge badge-purple">analysed</span></td>
287
+ <td>Opus</td>
288
+ </tr>
289
+ <tr>
290
+ <td><strong>02 - Specify</strong></td>
291
+ <td><code>specification</code></td>
292
+ <td><span class="badge badge-teal">specified</span></td>
293
+ <td>Sonnet</td>
294
+ </tr>
295
+ <tr>
296
+ <td><strong>03 - Validate</strong></td>
297
+ <td><code>validation</code></td>
298
+ <td><span class="badge badge-green">approved</span></td>
299
+ <td>Haiku</td>
300
+ </tr>
301
+ <tr>
302
+ <td><strong>04 - Handoff</strong></td>
303
+ <td><code>handoff</code></td>
304
+ <td><span class="badge badge-orange">handed-off</span></td>
305
+ <td>Opus</td>
306
+ </tr>
307
+ </tbody>
308
+ </table>
309
+ </div>
409
310
 
410
- <!-- Phase 4: SPECIFY - repositioned under DISCOVER -->
411
- <g transform="translate(200, 165)" filter="url(#shadowH)">
412
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#134e4a" stroke="#0d9488" stroke-width="2"/>
413
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">4. SPECIFY</text>
414
- <text x="65" y="30" text-anchor="middle" fill="#5eead4" font-size="8">FRD</text>
415
- </g>
416
- <path d="M330,185 L360,185" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
311
+ <h4 data-lang="fr">Structure du feature.json</h4>
312
+ <h4 data-lang="en">feature.json structure</h4>
417
313
 
418
- <!-- Phase 5: VALIDATE - repositioned under ANALYSE -->
419
- <g transform="translate(365, 165)" filter="url(#shadowH)">
420
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#134e4a" stroke="#14b8a6" stroke-width="2" stroke-dasharray="4,2"/>
421
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">5. VALIDATE</text>
422
- <text x="65" y="30" text-anchor="middle" fill="#5eead4" font-size="8">User Gate</text>
423
- </g>
424
- <path d="M495,185 L520,185" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
425
-
426
- <!-- Decision diamond -->
427
- <polygon points="550,170 575,185 550,200 525,185" fill="#1e293b" stroke="#94a3b8" stroke-width="2"/>
428
- <text x="550" y="189" text-anchor="middle" fill="#f1f5f9" font-size="9" font-weight="600">OK?</text>
429
-
430
- <!-- Feedback loop (enters ANALYSE from RIGHT side) -->
431
- <path d="M550,170 L550,70 L500,70" stroke="#f87171" stroke-width="2" stroke-dasharray="6,3" fill="none" marker-end="url(#arrowLeft)"/>
432
- <rect x="515" y="45" width="55" height="16" rx="3" fill="rgba(248, 113, 113, 0.15)" stroke="#f87171" stroke-width="1"/>
433
- <text x="543" y="57" text-anchor="middle" fill="#f87171" font-size="8" font-weight="600" data-lang="fr">MODIFS</text>
434
- <text x="543" y="57" text-anchor="middle" fill="#f87171" font-size="8" font-weight="600" data-lang="en">CHANGES</text>
435
-
436
- <!-- Continue to HANDOFF -->
437
- <path d="M575,185 L605,185" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
438
-
439
- <!-- Phase 6: HANDOFF -->
440
- <g transform="translate(610, 165)" filter="url(#shadowH)">
441
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#134e4a" stroke="#0d9488" stroke-width="2"/>
442
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">6. HANDOFF</text>
443
- <text x="65" y="30" text-anchor="middle" fill="#5eead4" font-size="8">Brief EN</text>
444
- </g>
445
- <path d="M740,185 L770,185" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
314
+ <div class="code-block">
315
+ <button class="copy-btn">Copy</button>
316
+ <pre><code>{
317
+ "id": "FEAT-001",
318
+ "version": "1.0",
319
+ "status": "draft | analysed | specified | approved | handed-off",
320
+ "metadata": {
321
+ "title": "...",
322
+ "application": "...",
323
+ "module": "...",
324
+ "language": "fr",
325
+ "featureType": "data-centric | integration | ui-centric | workflow | reporting | full-module | micro",
326
+ "steps": {
327
+ "init": { "status": "completed", "startedAt": "...", "completedAt": "..." },
328
+ "analyse": { "status": "in-progress" },
329
+ "specify": { "status": "pending" },
330
+ "validate": { "status": "pending" },
331
+ "handoff": { "status": "pending" }
332
+ }
333
+ },
334
+ "discovery": { "codebaseContext": {}, "questionnaire": {} },
335
+ "analysis": { "businessRules": [], "entities": [], "objectives": [], "risks": [] },
336
+ "specification": { "actors": [], "useCases": [], "requirements": [], "permissions": {} },
337
+ "validation": { "completeness": {}, "consistency": {}, "decision": "APPROVED" },
338
+ "handoff": { "fileMapping": {}, "apiEndpoints": [], "testPlan": {} },
339
+ "suggestions": [],
340
+ "changelog": []
341
+ }</code></pre>
342
+ </div>
446
343
 
447
- <!-- Phase 7: DOC-HTML -->
448
- <g transform="translate(775, 165)" filter="url(#shadowH)">
449
- <rect x="0" y="0" width="130" height="40" rx="5" fill="#3b0764" stroke="#d946ef" stroke-width="2"/>
450
- <text x="65" y="16" text-anchor="middle" fill="#f1f5f9" font-size="11" font-weight="700">7. DOC-HTML</text>
451
- <text x="65" y="30" text-anchor="middle" fill="#e879f9" font-size="8">Documentation</text>
452
- </g>
453
- <path d="M905,185 L935,185" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
344
+ <div class="alert alert-info">
345
+ <span class="alert-icon">&#128218;</span>
346
+ <div class="alert-content">
347
+ <h5>Schema JSON</h5>
348
+ <p data-lang="fr">
349
+ Le schema complet est defini dans <code>schemas/feature-schema.json</code> (JSON Schema 2020-12). Toutes les ecritures sont validees par le <code>ba-writer</code> agent.
350
+ </p>
351
+ <p data-lang="en">
352
+ The complete schema is defined in <code>schemas/feature-schema.json</code> (JSON Schema 2020-12). All writes are validated by the <code>ba-writer</code> agent.
353
+ </p>
354
+ </div>
355
+ </div>
356
+ </section>
454
357
 
455
- <!-- /implement -->
456
- <g transform="translate(940, 171)" filter="url(#shadowH)">
457
- <rect x="0" y="0" width="80" height="28" rx="14" fill="#475569" stroke="#94a3b8" stroke-width="1"/>
458
- <text x="40" y="18" text-anchor="middle" fill="#f1f5f9" font-size="9" font-weight="600">/implement</text>
459
- </g>
358
+ <!-- ============================================ -->
359
+ <!-- QUICK START -->
360
+ <!-- ============================================ -->
361
+ <section id="quick-start">
362
+ <h2>Quick Start</h2>
460
363
 
461
- <!-- Legend (bottom - horizontal layout) -->
462
- <g transform="translate(10, 265)">
463
- <text x="0" y="0" fill="#94a3b8" font-size="10" font-weight="700" data-lang="fr">Legende:</text>
464
- <text x="0" y="0" fill="#94a3b8" font-size="10" font-weight="700" data-lang="en">Legend:</text>
364
+ <div class="command-card">
365
+ <div class="command-header">
366
+ <code class="command-name">/business-analyse</code>
367
+ <span class="badge badge-purple">SKILL</span>
368
+ </div>
369
+ <div class="command-body">
370
+ <p data-lang="fr">
371
+ Lancez l'analyse metier complete ou choisissez un mode specifique selon votre besoin.
372
+ </p>
373
+ <p data-lang="en">
374
+ Launch the complete business analysis or choose a specific mode based on your need.
375
+ </p>
465
376
 
466
- <!-- WHAT -->
467
- <rect x="70" y="-9" width="14" height="10" rx="2" fill="#1e3a5f" stroke="#3b82f6" stroke-width="1"/>
468
- <text x="90" y="0" fill="#94a3b8" font-size="9" data-lang="fr">QUOI</text>
469
- <text x="90" y="0" fill="#94a3b8" font-size="9" data-lang="en">WHAT</text>
377
+ <div class="code-block">
378
+ <button class="copy-btn">Copy</button>
379
+ <pre><code>/business-analyse [description] [flags]</code></pre>
380
+ </div>
470
381
 
471
- <!-- HOW -->
472
- <rect x="150" y="-9" width="14" height="10" rx="2" fill="#134e4a" stroke="#0d9488" stroke-width="1"/>
473
- <text x="170" y="0" fill="#94a3b8" font-size="9" data-lang="fr">COMMENT</text>
474
- <text x="170" y="0" fill="#94a3b8" font-size="9" data-lang="en">HOW</text>
382
+ <h4 data-lang="fr">Exemples rapides</h4>
383
+ <h4 data-lang="en">Quick examples</h4>
475
384
 
476
- <!-- DOC -->
477
- <rect x="250" y="-9" width="14" height="10" rx="2" fill="#3b0764" stroke="#d946ef" stroke-width="1"/>
478
- <text x="270" y="0" fill="#94a3b8" font-size="9">DOC</text>
385
+ <div class="code-block">
386
+ <button class="copy-btn">Copy</button>
387
+ <pre><code># Nouvelle feature (workflow complet 5 etapes)
388
+ /business-analyse Order management module
479
389
 
480
- <!-- Flow -->
481
- <path d="M320,-4 L335,-4" stroke="#94a3b8" stroke-width="2" marker-end="url(#arrowH)"/>
482
- <text x="345" y="0" fill="#94a3b8" font-size="9">Flow</text>
390
+ # Question sur une feature existante
391
+ /business-analyse -q FEAT-001 "What permissions does the manager have?"
483
392
 
484
- <!-- Loop -->
485
- <path d="M390,-4 L405,-4" stroke="#f87171" stroke-width="2" stroke-dasharray="4,2"/>
486
- <text x="415" y="0" fill="#94a3b8" font-size="9">Loop</text>
487
- </g>
393
+ # Refactoring (delta sur feature existante)
394
+ /business-analyse -r FEAT-001 "Add export PDF functionality"
488
395
 
489
- <!-- Output files (bottom right) -->
490
- <g transform="translate(500, 265)">
491
- <text x="0" y="0" fill="#64748b" font-size="10" font-weight="600" data-lang="fr">Fichiers generes:</text>
492
- <text x="0" y="0" fill="#64748b" font-size="10" font-weight="600" data-lang="en">Generated files:</text>
493
- <text x="130" y="0" fill="#94a3b8" font-size="8">01-business-requirements.md → 05-implementation-brief.md → 06-documentation.html</text>
494
- </g>
495
- </svg>
396
+ # Micro-feature (analyse minimale)
397
+ /business-analyse -m Add a status field to orders</code></pre>
398
+ </div>
399
+ </div>
496
400
  </div>
497
401
  </section>
498
402
 
499
- <!-- The 8 Phases -->
500
- <section id="phases">
403
+ <!-- ============================================ -->
404
+ <!-- 4 USE CASES -->
405
+ <!-- ============================================ -->
406
+ <section id="use-cases">
501
407
  <h2>
502
- <span data-lang="fr">Les 8 Phases</span>
503
- <span data-lang="en">The 8 Phases</span>
408
+ <span data-lang="fr">4 Cas d'usage</span>
409
+ <span data-lang="en">4 Use Cases</span>
504
410
  </h2>
505
411
 
506
412
  <div class="table-container">
507
- <table>
413
+ <table class="reference-table">
508
414
  <thead>
509
415
  <tr>
510
- <th>#</th>
511
- <th>Phase</th>
416
+ <th>
417
+ <span data-lang="fr">Cas d'usage</span>
418
+ <span data-lang="en">Use Case</span>
419
+ </th>
420
+ <th>Flag</th>
512
421
  <th>
513
422
  <span data-lang="fr">Commande</span>
514
423
  <span data-lang="en">Command</span>
515
424
  </th>
516
425
  <th>
517
- <span data-lang="fr">Modele</span>
518
- <span data-lang="en">Model</span>
426
+ <span data-lang="fr">Parcours</span>
427
+ <span data-lang="en">Flow</span>
519
428
  </th>
520
- <th>Mission</th>
521
429
  <th>
522
- <span data-lang="fr">Fichier de sortie</span>
523
- <span data-lang="en">Output File</span>
430
+ <span data-lang="fr">Sortie</span>
431
+ <span data-lang="en">Output</span>
524
432
  </th>
525
433
  </tr>
526
434
  </thead>
527
435
  <tbody>
528
- <tr style="background: rgba(139, 92, 246, 0.1);">
529
- <td><strong>0</strong></td>
530
- <td><strong>ORCHESTRATE</strong></td>
531
- <td><code>:0-orchestrate</code></td>
532
- <td>OPUS/ULTRATHINK</td>
533
- <td>
534
- <span data-lang="fr">Orchestration automatique complete</span>
535
- <span data-lang="en">Complete automatic orchestration</span>
536
- </td>
537
- <td>—</td>
436
+ <tr>
437
+ <td><strong data-lang="fr">Nouvelle feature</strong><strong data-lang="en">New feature</strong></td>
438
+ <td><span data-lang="fr">(aucun)</span><span data-lang="en">(none)</span></td>
439
+ <td><code>/business-analyse Order module</code></td>
440
+ <td>00 &rarr; 01 &rarr; 02 &rarr; 03 &rarr; 04</td>
441
+ <td><code>feature.json</code> v1.0 + <code>prd.json</code></td>
538
442
  </tr>
539
- <tr style="background: rgba(59, 130, 246, 0.1);">
540
- <td><strong>1</strong></td>
541
- <td><strong>INIT</strong></td>
542
- <td><code>:1-init</code></td>
543
- <td>Haiku</td>
443
+ <tr>
444
+ <td><strong>Question</strong></td>
445
+ <td><code>-q</code></td>
446
+ <td><code>/business-analyse -q FEAT-001 "..."</code></td>
447
+ <td>00 &rarr; ba-reader &rarr; EXIT</td>
544
448
  <td>
545
- <span data-lang="fr">Initialiser la structure BA</span>
546
- <span data-lang="en">Initialize BA structure</span>
449
+ <span data-lang="fr">Reponse textuelle</span>
450
+ <span data-lang="en">Text answer</span>
547
451
  </td>
548
- <td>—</td>
549
452
  </tr>
550
- <tr style="background: rgba(59, 130, 246, 0.1);">
551
- <td><strong>2</strong></td>
552
- <td><strong>DISCOVER</strong></td>
553
- <td><code>:2-discover</code></td>
554
- <td>OPUS/ULTRATHINK</td>
453
+ <tr>
454
+ <td><strong>Refactoring</strong></td>
455
+ <td><code>-r</code></td>
456
+ <td><code>/business-analyse -r FEAT-001 "Add PDF"</code></td>
457
+ <td>00 (delta) &rarr; 01 &rarr; 02 &rarr; 03 &rarr; 04</td>
458
+ <td><code>feature.json</code> v1.1 + <code>prd.json</code></td>
459
+ </tr>
460
+ <tr>
461
+ <td><strong>Micro-feature</strong></td>
462
+ <td><code>-m</code></td>
463
+ <td><code>/business-analyse -m Add status field</code></td>
464
+ <td>00 &rarr; 01 (4 Q) &rarr; 02 (min) &rarr; 03 (auto) &rarr; 04</td>
465
+ <td><code>feature.json</code> v1.0 (micro)</td>
466
+ </tr>
467
+ </tbody>
468
+ </table>
469
+ </div>
470
+
471
+ <h4 data-lang="fr">Routage des cas d'usage</h4>
472
+ <h4 data-lang="en">Use case routing</h4>
473
+
474
+ <div class="code-block">
475
+ <button class="copy-btn">Copy</button>
476
+ <pre><code>question (-q) &rarr; ba-reader.answerQuestion() &rarr; EXIT
477
+ refactor (-r) &rarr; ba-writer.createVersion() &rarr; step-01 (delta) &rarr; ... &rarr; step-04
478
+ micro (-m) &rarr; step-00 (minimal) &rarr; step-01 (micro) &rarr; ... &rarr; step-04
479
+ default &rarr; step-00 &rarr; step-01 (full) &rarr; ... &rarr; step-04</code></pre>
480
+ </div>
481
+ </section>
482
+
483
+ <!-- ============================================ -->
484
+ <!-- FLAGS & MODES -->
485
+ <!-- ============================================ -->
486
+ <section id="flags">
487
+ <h2>Flags &amp; Modes</h2>
488
+
489
+ <div class="table-container">
490
+ <table class="reference-table">
491
+ <thead>
492
+ <tr>
493
+ <th>Flag</th>
494
+ <th>Long</th>
495
+ <th>
496
+ <span data-lang="fr">Effet</span>
497
+ <span data-lang="en">Effect</span>
498
+ </th>
499
+ </tr>
500
+ </thead>
501
+ <tbody>
502
+ <tr>
503
+ <td><code>-a</code></td>
504
+ <td><code>--auto</code></td>
555
505
  <td>
556
- <span data-lang="fr">Elicitation + detection similarite</span>
557
- <span data-lang="en">Elicitation + similarity detection</span>
506
+ <span data-lang="fr">Mode autonome : saute les confirmations utilisateur</span>
507
+ <span data-lang="en">Autonomous mode: skip user confirmations</span>
558
508
  </td>
559
- <td><code>01-business-requirements.md</code></td>
560
509
  </tr>
561
- <tr style="background: rgba(59, 130, 246, 0.1);">
562
- <td><strong>3</strong></td>
563
- <td><strong>ANALYSE</strong></td>
564
- <td><code>:3-analyse</code></td>
565
- <td>Sonnet/ULTRATHINK</td>
510
+ <tr>
511
+ <td><code>-e</code></td>
512
+ <td><code>--economy</code></td>
566
513
  <td>
567
- <span data-lang="fr">Synthese besoin + technique</span>
568
- <span data-lang="en">Merge need + technical context</span>
514
+ <span data-lang="fr">Mode economique : pas de sous-agents, utilise Glob/Grep directement</span>
515
+ <span data-lang="en">Economy mode: no subagents, uses Glob/Grep directly</span>
569
516
  </td>
570
- <td><code>02-enriched-requirements.md</code></td>
571
517
  </tr>
572
- <tr style="background: rgba(13, 148, 136, 0.1);">
573
- <td><strong>4</strong></td>
574
- <td><strong>SPECIFY</strong></td>
575
- <td><code>:4-specify</code></td>
576
- <td>Sonnet/ULTRATHINK</td>
518
+ <tr>
519
+ <td><code>-q FEAT-ID "text"</code></td>
520
+ <td><code>--question</code></td>
577
521
  <td>
578
- <span data-lang="fr">Specification fonctionnelle (FRD)</span>
579
- <span data-lang="en">Functional specification (FRD)</span>
522
+ <span data-lang="fr">Mode question : interroge une feature existante (lecture seule, EXIT)</span>
523
+ <span data-lang="en">Question mode: query an existing feature (read-only, EXIT)</span>
580
524
  </td>
581
- <td><code>03-functional-spec.md</code></td>
582
525
  </tr>
583
- <tr style="background: rgba(13, 148, 136, 0.1);">
584
- <td><strong>5</strong></td>
585
- <td><strong>VALIDATE</strong></td>
586
- <td><code>:5-validate</code></td>
587
- <td>Haiku</td>
526
+ <tr>
527
+ <td><code>-r FEAT-ID "text"</code></td>
528
+ <td><code>--refactor</code></td>
588
529
  <td>
589
- <span data-lang="fr">Validation utilisateur (loop 3)</span>
590
- <span data-lang="en">User validation (loop 3)</span>
530
+ <span data-lang="fr">Mode refactoring : cree une version delta (v1.0 &rarr; v1.1)</span>
531
+ <span data-lang="en">Refactoring mode: creates a delta version (v1.0 &rarr; v1.1)</span>
591
532
  </td>
592
- <td><code>04-feedback-v[N].md</code></td>
593
533
  </tr>
594
- <tr style="background: rgba(13, 148, 136, 0.1);">
595
- <td><strong>6</strong></td>
596
- <td><strong>HANDOFF</strong></td>
597
- <td><code>:6-handoff</code></td>
598
- <td>OPUS/ULTRATHINK</td>
534
+ <tr>
535
+ <td><code>-m</code></td>
536
+ <td><code>--micro</code></td>
599
537
  <td>
600
- <span data-lang="fr">Brief d'implementation (anglais)</span>
601
- <span data-lang="en">Implementation brief (English)</span>
538
+ <span data-lang="fr">Micro-feature : analyse minimale (4 questions max)</span>
539
+ <span data-lang="en">Micro-feature: minimal analysis (4 questions max)</span>
602
540
  </td>
603
- <td><code>05-implementation-brief.md</code></td>
604
541
  </tr>
605
- <tr style="background: rgba(217, 70, 239, 0.1);">
606
- <td><strong>7</strong></td>
607
- <td><strong>DOC-HTML</strong></td>
608
- <td><code>:7-doc-html</code></td>
609
- <td>Sonnet</td>
542
+ <tr>
543
+ <td><code>-i</code></td>
544
+ <td><code>--interactive</code></td>
610
545
  <td>
611
- <span data-lang="fr">Documentation HTML auto-generee</span>
612
- <span data-lang="en">Auto-generated HTML documentation</span>
546
+ <span data-lang="fr">Mode interactif : configuration guidee des flags</span>
547
+ <span data-lang="en">Interactive mode: guided flag configuration</span>
613
548
  </td>
614
- <td><code>06-documentation.html</code></td>
615
549
  </tr>
616
550
  </tbody>
617
551
  </table>
618
552
  </div>
619
553
  </section>
620
554
 
621
- <!-- Phase 0: Orchestrate -->
622
- <section id="phase-0">
623
- <h2>Phase 0: ORCHESTRATE</h2>
555
+ <!-- ============================================ -->
556
+ <!-- WORKFLOW -->
557
+ <!-- ============================================ -->
558
+ <section id="workflow">
559
+ <h2>Workflow</h2>
560
+
561
+ <div class="svg-diagram">
562
+ <svg viewBox="0 0 800 350" xmlns="http://www.w3.org/2000/svg" style="font-family: 'Inter', system-ui, sans-serif;">
563
+ <defs>
564
+ <linearGradient id="initGrad" x1="0%" y1="0%" x2="100%" y2="100%">
565
+ <stop offset="0%" style="stop-color:#64748b"/>
566
+ <stop offset="100%" style="stop-color:#475569"/>
567
+ </linearGradient>
568
+ <linearGradient id="analyseGrad" x1="0%" y1="0%" x2="100%" y2="100%">
569
+ <stop offset="0%" style="stop-color:#3b82f6"/>
570
+ <stop offset="100%" style="stop-color:#1d4ed8"/>
571
+ </linearGradient>
572
+ <linearGradient id="specifyGrad" x1="0%" y1="0%" x2="100%" y2="100%">
573
+ <stop offset="0%" style="stop-color:#8b5cf6"/>
574
+ <stop offset="100%" style="stop-color:#6d28d9"/>
575
+ </linearGradient>
576
+ <linearGradient id="validateGrad" x1="0%" y1="0%" x2="100%" y2="100%">
577
+ <stop offset="0%" style="stop-color:#22c55e"/>
578
+ <stop offset="100%" style="stop-color:#15803d"/>
579
+ </linearGradient>
580
+ <linearGradient id="handoffGrad" x1="0%" y1="0%" x2="100%" y2="100%">
581
+ <stop offset="0%" style="stop-color:#f97316"/>
582
+ <stop offset="100%" style="stop-color:#c2410c"/>
583
+ </linearGradient>
584
+ <linearGradient id="jsonGrad" x1="0%" y1="0%" x2="100%" y2="100%">
585
+ <stop offset="0%" style="stop-color:#0d9488"/>
586
+ <stop offset="100%" style="stop-color:#0f766e"/>
587
+ </linearGradient>
588
+ <filter id="glow3" x="-20%" y="-20%" width="140%" height="140%">
589
+ <feGaussianBlur stdDeviation="2" result="coloredBlur"/>
590
+ <feMerge>
591
+ <feMergeNode in="coloredBlur"/>
592
+ <feMergeNode in="SourceGraphic"/>
593
+ </feMerge>
594
+ </filter>
595
+ </defs>
596
+
597
+ <!-- Background label: DISCOVERY -->
598
+ <rect x="30" y="15" width="290" height="25" rx="4" fill="rgba(59,130,246,0.15)" stroke="rgba(59,130,246,0.3)" stroke-width="1"/>
599
+ <text x="175" y="32" text-anchor="middle" fill="#60a5fa" font-size="11" font-weight="600">DISCOVERY</text>
600
+
601
+ <!-- Background label: SPECIFICATION -->
602
+ <rect x="345" y="15" width="430" height="25" rx="4" fill="rgba(139,92,246,0.15)" stroke="rgba(139,92,246,0.3)" stroke-width="1"/>
603
+ <text x="560" y="32" text-anchor="middle" fill="#a78bfa" font-size="11" font-weight="600">SPECIFICATION &amp; HANDOFF</text>
604
+
605
+ <!-- Step 00: Init -->
606
+ <g transform="translate(30, 60)" filter="url(#glow3)">
607
+ <rect x="0" y="0" width="130" height="80" rx="10" fill="url(#initGrad)"/>
608
+ <text x="65" y="25" text-anchor="middle" fill="white" font-size="10" font-weight="700">STEP 00</text>
609
+ <text x="65" y="42" text-anchor="middle" fill="white" font-size="13" font-weight="600">Init</text>
610
+ <text x="65" y="60" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Parse flags</text>
611
+ <text x="65" y="72" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Create feature.json</text>
612
+ </g>
613
+
614
+ <!-- Arrow 00 → 01 -->
615
+ <line x1="165" y1="100" x2="190" y2="100" stroke="#94a3b8" stroke-width="2"/>
616
+ <polygon points="190,95 200,100 190,105" fill="#94a3b8"/>
617
+
618
+ <!-- Step 01: Analyse -->
619
+ <g transform="translate(200, 60)" filter="url(#glow3)">
620
+ <rect x="0" y="0" width="130" height="80" rx="10" fill="url(#analyseGrad)"/>
621
+ <text x="65" y="25" text-anchor="middle" fill="white" font-size="10" font-weight="700">STEP 01</text>
622
+ <text x="65" y="42" text-anchor="middle" fill="white" font-size="13" font-weight="600">Analyse</text>
623
+ <text x="65" y="60" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Questionnaire</text>
624
+ <text x="65" y="72" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Business rules</text>
625
+ </g>
626
+
627
+ <!-- Arrow 01 → 02 -->
628
+ <line x1="335" y1="100" x2="360" y2="100" stroke="#94a3b8" stroke-width="2"/>
629
+ <polygon points="360,95 370,100 360,105" fill="#94a3b8"/>
630
+
631
+ <!-- Step 02: Specify -->
632
+ <g transform="translate(370, 60)" filter="url(#glow3)">
633
+ <rect x="0" y="0" width="130" height="80" rx="10" fill="url(#specifyGrad)"/>
634
+ <text x="65" y="25" text-anchor="middle" fill="white" font-size="10" font-weight="700">STEP 02</text>
635
+ <text x="65" y="42" text-anchor="middle" fill="white" font-size="13" font-weight="600">Specify</text>
636
+ <text x="65" y="60" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Use cases, FRD</text>
637
+ <text x="65" y="72" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Permissions, Gherkin</text>
638
+ </g>
639
+
640
+ <!-- Arrow 02 → 03 -->
641
+ <line x1="505" y1="100" x2="530" y2="100" stroke="#94a3b8" stroke-width="2"/>
642
+ <polygon points="530,95 540,100 530,105" fill="#94a3b8"/>
643
+
644
+ <!-- Step 03: Validate -->
645
+ <g transform="translate(540, 60)" filter="url(#glow3)">
646
+ <rect x="0" y="0" width="130" height="80" rx="10" fill="url(#validateGrad)"/>
647
+ <text x="65" y="25" text-anchor="middle" fill="white" font-size="10" font-weight="700">STEP 03</text>
648
+ <text x="65" y="42" text-anchor="middle" fill="white" font-size="13" font-weight="600">Validate</text>
649
+ <text x="65" y="60" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Quality gate</text>
650
+ <text x="65" y="72" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">APPROVED / REJECTED</text>
651
+ </g>
652
+
653
+ <!-- Arrow 03 → 04 -->
654
+ <line x1="675" y1="100" x2="700" y2="100" stroke="#94a3b8" stroke-width="2"/>
655
+ <polygon points="700,95 710,100 700,105" fill="#94a3b8"/>
656
+
657
+ <!-- Step 04: Handoff -->
658
+ <g transform="translate(640, 60)" filter="url(#glow3)">
659
+ <rect x="65" y="0" width="130" height="80" rx="10" fill="url(#handoffGrad)"/>
660
+ <text x="130" y="25" text-anchor="middle" fill="white" font-size="10" font-weight="700">STEP 04</text>
661
+ <text x="130" y="42" text-anchor="middle" fill="white" font-size="13" font-weight="600">Handoff</text>
662
+ <text x="130" y="60" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">Dev brief</text>
663
+ <text x="130" y="72" text-anchor="middle" fill="rgba(255,255,255,0.6)" font-size="9">prd.json + progress</text>
664
+ </g>
665
+
666
+ <!-- Central: feature.json -->
667
+ <g transform="translate(260, 190)">
668
+ <rect x="0" y="0" width="280" height="60" rx="10" fill="url(#jsonGrad)" stroke="#2dd4bf" stroke-width="2"/>
669
+ <text x="140" y="25" text-anchor="middle" fill="white" font-size="14" font-weight="700">feature.json</text>
670
+ <text x="140" y="42" text-anchor="middle" fill="rgba(255,255,255,0.7)" font-size="10">Single source of truth - progressively enriched</text>
671
+ </g>
672
+
673
+ <!-- Arrows from steps to feature.json -->
674
+ <line x1="95" y1="145" x2="300" y2="190" stroke="#2dd4bf" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
675
+ <line x1="265" y1="145" x2="370" y2="190" stroke="#2dd4bf" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
676
+ <line x1="435" y1="145" x2="430" y2="190" stroke="#2dd4bf" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
677
+ <line x1="605" y1="145" x2="490" y2="190" stroke="#2dd4bf" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
678
+ <line x1="770" y1="145" x2="530" y2="190" stroke="#2dd4bf" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
679
+
680
+ <!-- Rejection loop from Validate back to Specify -->
681
+ <path d="M 570 145 Q 570 170 500 170 Q 435 170 435 145" fill="none" stroke="#ef4444" stroke-width="1.5" stroke-dasharray="5,3"/>
682
+ <polygon points="432,150 435,140 438,150" fill="#ef4444"/>
683
+ <text x="505" y="166" text-anchor="middle" fill="#ef4444" font-size="9" font-weight="500">REJECTED</text>
684
+
685
+ <!-- Legend -->
686
+ <g transform="translate(30, 280)">
687
+ <rect x="0" y="0" width="760" height="55" rx="8" fill="rgba(30,41,59,0.8)" stroke="#334155" stroke-width="1"/>
688
+ <text x="20" y="18" fill="#94a3b8" font-size="10" font-weight="600">LEGEND:</text>
689
+
690
+ <rect x="20" y="28" width="12" height="12" rx="3" fill="url(#initGrad)"/>
691
+ <text x="38" y="39" fill="#94a3b8" font-size="9">Haiku (fast)</text>
692
+
693
+ <rect x="130" y="28" width="12" height="12" rx="3" fill="url(#analyseGrad)"/>
694
+ <text x="148" y="39" fill="#94a3b8" font-size="9">Opus (ULTRATHINK)</text>
695
+
696
+ <rect x="280" y="28" width="12" height="12" rx="3" fill="url(#specifyGrad)"/>
697
+ <text x="298" y="39" fill="#94a3b8" font-size="9">Sonnet (detail)</text>
698
+
699
+ <rect x="410" y="28" width="12" height="12" rx="3" fill="url(#validateGrad)"/>
700
+ <text x="428" y="39" fill="#94a3b8" font-size="9">Haiku (binary gate)</text>
701
+
702
+ <rect x="560" y="28" width="12" height="12" rx="3" fill="url(#handoffGrad)"/>
703
+ <text x="578" y="39" fill="#94a3b8" font-size="9">Opus (zero-ambiguity)</text>
704
+ </g>
705
+ </svg>
706
+ </div>
707
+ </section>
708
+
709
+ <!-- ============================================ -->
710
+ <!-- STEP 00: INIT -->
711
+ <!-- ============================================ -->
712
+ <section id="step-00">
713
+ <h2>Step 00 &mdash; Init</h2>
714
+
624
715
  <div class="command-card">
625
716
  <div class="command-header">
626
- <code class="command-name">/business-analyse 0-orchestrate</code>
627
- <span class="badge badge-purple">OPUS/ULTRATHINK</span>
717
+ <code class="command-name">step-00-init</code>
718
+ <span class="badge badge-blue">Haiku</span>
719
+ <span class="badge badge-teal">
720
+ <span data-lang="fr">Rapide</span>
721
+ <span data-lang="en">Fast</span>
722
+ </span>
628
723
  </div>
629
724
  <div class="command-body">
630
725
  <p data-lang="fr">
631
- <strong>Mission</strong> : Orchestrer automatiquement l'execution de toutes les phases successives du workflow Business Analyse, de la decouverte a la documentation.
726
+ <strong>Mission :</strong> Parser les flags, router vers le bon cas d'usage, creer le <code>feature.json</code> initial.
632
727
  </p>
633
728
  <p data-lang="en">
634
- <strong>Mission</strong>: Automatically orchestrate execution of all successive phases from discovery to documentation.
729
+ <strong>Mission:</strong> Parse flags, route to the correct use case, create the initial <code>feature.json</code>.
635
730
  </p>
636
731
 
637
- <div class="code-block">
638
- <button class="copy-btn">Copy</button>
639
- <pre><code># Full orchestration
640
- /business-analyse 0-orchestrate [feature-name]
732
+ <h4 data-lang="fr">Actions principales</h4>
733
+ <h4 data-lang="en">Main actions</h4>
734
+ <ol>
735
+ <li data-lang="fr">Parser les flags de commande (<code>-a</code>, <code>-e</code>, <code>-q</code>, <code>-r</code>, <code>-m</code>, <code>-i</code>)</li>
736
+ <li data-lang="en">Parse command flags (<code>-a</code>, <code>-e</code>, <code>-q</code>, <code>-r</code>, <code>-m</code>, <code>-i</code>)</li>
641
737
 
642
- # With granularity level
643
- /business-analyse 0-orchestrate [feature-name] --granularity=muscles
644
- /business-analyse 0-orchestrate [feature-name] --granularity=section
645
- /business-analyse 0-orchestrate [feature-name] --granularity=resources</code></pre>
646
- </div>
738
+ <li data-lang="fr">Router vers le handler (question / refactor / micro / new)</li>
739
+ <li data-lang="en">Route to handler (question / refactor / micro / new)</li>
647
740
 
648
- <h4 data-lang="fr">Orchestration automatique</h4>
649
- <h4 data-lang="en">Automatic Orchestration</h4>
650
- <ul>
651
- <li data-lang="fr">Lance Phase 1 (INIT) pour preparer la structure</li>
652
- <li data-lang="en">Launches Phase 1 (INIT) to prepare structure</li>
653
- <li data-lang="fr">Lance Phase 2 (DISCOVER) avec elicitation et similarite</li>
654
- <li data-lang="en">Launches Phase 2 (DISCOVER) with elicitation and similarity</li>
655
- <li data-lang="fr">Lance Phase 3 (ANALYSE) pour analyser le besoin</li>
656
- <li data-lang="en">Launches Phase 3 (ANALYSE) to analyze need</li>
657
- <li data-lang="fr">Lance Phase 4 (SPECIFY) pour generer le FRD</li>
658
- <li data-lang="en">Launches Phase 4 (SPECIFY) to generate FRD</li>
659
- <li data-lang="fr">Lance Phase 5 (VALIDATE) pour validation utilisateur</li>
660
- <li data-lang="en">Launches Phase 5 (VALIDATE) for user validation</li>
661
- <li data-lang="fr">Lance Phase 6 (HANDOFF) pour le brief d'implementation</li>
662
- <li data-lang="en">Launches Phase 6 (HANDOFF) for implementation brief</li>
663
- <li data-lang="fr">Lance Phase 7 (DOC-HTML) pour generer la documentation</li>
664
- <li data-lang="en">Launches Phase 7 (DOC-HTML) to generate documentation</li>
665
- </ul>
741
+ <li data-lang="fr">Health check MCP (non-bloquant)</li>
742
+ <li data-lang="en">MCP health check (non-blocking)</li>
743
+
744
+ <li data-lang="fr">Determiner application et module cible</li>
745
+ <li data-lang="en">Determine target application and module</li>
746
+
747
+ <li data-lang="fr">Generer l'ID feature (<code>FEAT-NNN</code>)</li>
748
+ <li data-lang="en">Generate feature ID (<code>FEAT-NNN</code>)</li>
749
+
750
+ <li data-lang="fr">Creer le dossier de sortie et le <code>feature.json</code> initial via <code>ba-writer</code></li>
751
+ <li data-lang="en">Create output directory and initial <code>feature.json</code> via <code>ba-writer</code></li>
752
+
753
+ <li data-lang="fr">Mettre a jour <code>.business-analyse/config.json</code></li>
754
+ <li data-lang="en">Update <code>.business-analyse/config.json</code></li>
755
+ </ol>
666
756
 
667
757
  <div class="alert alert-info">
668
- <span class="alert-icon">&#128161;</span>
758
+ <span class="alert-icon">&#128260;</span>
669
759
  <div class="alert-content">
760
+ <h5 data-lang="fr">Mode Question (-q)</h5>
761
+ <h5 data-lang="en">Question Mode (-q)</h5>
670
762
  <p data-lang="fr">
671
- Phase 0 facilite l'orchestration complete du workflow. Pour un controle granulaire, utilisez les phases individuelles (1-7).
763
+ Le mode question charge le <code>ba-reader</code>, repond a la question depuis le <code>feature.json</code> existant, puis termine immediatement (EXIT). Aucun fichier n'est modifie.
672
764
  </p>
673
765
  <p data-lang="en">
674
- Phase 0 facilitates complete workflow orchestration. For granular control, use individual phases (1-7).
766
+ Question mode loads the <code>ba-reader</code>, answers the question from the existing <code>feature.json</code>, then exits immediately (EXIT). No files are modified.
675
767
  </p>
676
768
  </div>
677
769
  </div>
770
+
771
+ <p data-lang="fr"><strong>Sortie :</strong> <code>feature.json</code> (status: <code>draft</code>)</p>
772
+ <p data-lang="en"><strong>Output:</strong> <code>feature.json</code> (status: <code>draft</code>)</p>
678
773
  </div>
679
774
  </div>
680
775
  </section>
681
776
 
682
- <!-- Phase 1: Init -->
683
- <section id="phase-1">
684
- <h2>Phase 1: INIT</h2>
777
+ <!-- ============================================ -->
778
+ <!-- STEP 01: ANALYSE -->
779
+ <!-- ============================================ -->
780
+ <section id="step-01">
781
+ <h2>Step 01 &mdash; Analyse</h2>
782
+
685
783
  <div class="command-card">
686
784
  <div class="command-header">
687
- <code class="command-name">/business-analyse 1-init</code>
688
- <span class="badge badge-blue">Haiku</span>
785
+ <code class="command-name">step-01-analyse</code>
786
+ <span class="badge badge-purple">Opus</span>
787
+ <span class="badge badge-orange">ULTRATHINK</span>
689
788
  </div>
690
789
  <div class="command-body">
691
790
  <p data-lang="fr">
692
- <strong>Mission</strong> : Initialiser la structure du dossier Business Analyse avec les fichiers de base et la configuration.
791
+ <strong>Mission :</strong> Decouverte fusionnee + analyse metier (BRD). Exploration du codebase, questionnaire progressif, regles metier, entites, suggestions proactives.
693
792
  </p>
694
793
  <p data-lang="en">
695
- <strong>Mission</strong>: Initialize Business Analyse folder structure with base files and configuration.
794
+ <strong>Mission:</strong> Merged discovery + business analysis (BRD). Codebase exploration, progressive questionnaire, business rules, entities, proactive suggestions.
696
795
  </p>
697
796
 
698
- <div class="code-block">
699
- <button class="copy-btn">Copy</button>
700
- <pre><code>/business-analyse 1-init [feature-name]</code></pre>
797
+ <h4 data-lang="fr">Detection du type de feature</h4>
798
+ <h4 data-lang="en">Feature type detection</h4>
799
+
800
+ <div class="table-container">
801
+ <table class="reference-table">
802
+ <thead>
803
+ <tr>
804
+ <th>Type</th>
805
+ <th>
806
+ <span data-lang="fr">Mots-cles</span>
807
+ <span data-lang="en">Keywords</span>
808
+ </th>
809
+ <th>
810
+ <span data-lang="fr">Categories questionnaire</span>
811
+ <span data-lang="en">Questionnaire categories</span>
812
+ </th>
813
+ </tr>
814
+ </thead>
815
+ <tbody>
816
+ <tr>
817
+ <td><strong>Data-centric</strong></td>
818
+ <td>management, CRUD, entity</td>
819
+ <td>01, 02, 03, 04, 06, 11</td>
820
+ </tr>
821
+ <tr>
822
+ <td><strong>Integration</strong></td>
823
+ <td>API, sync, import/export</td>
824
+ <td>01, 02, 03, 05, 06</td>
825
+ </tr>
826
+ <tr>
827
+ <td><strong>UI-centric</strong></td>
828
+ <td>screen, form, dashboard</td>
829
+ <td>01, 02, 03, 06, 07</td>
830
+ </tr>
831
+ <tr>
832
+ <td><strong>Workflow</strong></td>
833
+ <td>process, validation, steps</td>
834
+ <td>01, 02, 03, 06, 09</td>
835
+ </tr>
836
+ <tr>
837
+ <td><strong>Reporting</strong></td>
838
+ <td>report, export, KPI</td>
839
+ <td>01, 02, 03, 04, 08</td>
840
+ </tr>
841
+ <tr>
842
+ <td><strong>Full-module</strong></td>
843
+ <td>
844
+ <span data-lang="fr">(complet)</span>
845
+ <span data-lang="en">(comprehensive)</span>
846
+ </td>
847
+ <td>
848
+ <span data-lang="fr">Toutes (01-13)</span>
849
+ <span data-lang="en">All (01-13)</span>
850
+ </td>
851
+ </tr>
852
+ <tr>
853
+ <td><strong>Micro</strong></td>
854
+ <td><code>-m</code> flag</td>
855
+ <td>01, 02, 03, 06</td>
856
+ </tr>
857
+ </tbody>
858
+ </table>
701
859
  </div>
702
860
 
703
- <h4 data-lang="fr">Structure creee</h4>
704
- <h4 data-lang="en">Created Structure</h4>
705
- <ul>
706
- <li data-lang="fr">Dossier <code>.claude/ba/[feature-name]/</code></li>
707
- <li data-lang="en">Folder <code>.claude/ba/[feature-name]/</code></li>
708
- <li data-lang="fr">Fichiers de template pour chaque phase</li>
709
- <li data-lang="en">Template files for each phase</li>
710
- <li data-lang="fr">Configuration et metadata</li>
711
- <li data-lang="en">Configuration and metadata</li>
712
- </ul>
713
- </div>
714
- </div>
715
- </section>
716
-
717
- <!-- Phase 2: Discover -->
718
- <section id="phase-2">
719
- <h2>Phase 2: DISCOVER</h2>
720
- <div class="command-card">
721
- <div class="command-header">
722
- <code class="command-name">/business-analyse 2-discover</code>
723
- <span class="badge badge-blue">OPUS/ULTRATHINK</span>
724
- </div>
725
- <div class="command-body">
726
- <p data-lang="fr">
727
- <strong>Mission</strong> : Comprendre le vrai besoin utilisateur avant toute exploration technique.
728
- </p>
729
- <p data-lang="en">
730
- <strong>Mission</strong>: Understand the real user need before any technical exploration.
731
- </p>
861
+ <h4 data-lang="fr">Pre-recherche codebase (3 phases)</h4>
862
+ <h4 data-lang="en">Codebase pre-research (3 phases)</h4>
732
863
 
733
- <h4 data-lang="fr">Etapes</h4>
734
- <h4 data-lang="en">Steps</h4>
735
864
  <ol>
736
- <li data-lang="fr"><strong>Similarity Check</strong> : Lance l'agent <code>ba-similarity</code> pour detecter les doublons</li>
737
- <li data-lang="en"><strong>Similarity Check</strong>: Launches <code>ba-similarity</code> agent to detect duplicates</li>
738
- <li data-lang="fr"><strong>Elicitation</strong> : Pose des questions ciblees (max 5)</li>
739
- <li data-lang="en"><strong>Elicitation</strong>: Asks targeted questions (max 5)</li>
740
- <li data-lang="fr"><strong>Business Requirements</strong> : Formalise le besoin en langage utilisateur</li>
741
- <li data-lang="en"><strong>Business Requirements</strong>: Formalizes need in user language</li>
865
+ <li data-lang="fr"><strong>Phase 3a :</strong> Appels MCP (<code>analyze_extension_points</code>, <code>api_docs</code>, <code>validate_conventions</code>)</li>
866
+ <li data-lang="en"><strong>Phase 3a:</strong> MCP calls (<code>analyze_extension_points</code>, <code>api_docs</code>, <code>validate_conventions</code>)</li>
867
+
868
+ <li data-lang="fr"><strong>Phase 3b :</strong> Agents paralleles (entites, integrations, patterns UI) &mdash; desactive en mode <code>-e</code></li>
869
+ <li data-lang="en"><strong>Phase 3b:</strong> Parallel agents (entities, integrations, UI patterns) &mdash; disabled in <code>-e</code> mode</li>
870
+
871
+ <li data-lang="fr"><strong>Phase 3c :</strong> Mode economique (<code>-e</code>) &mdash; Glob/Grep directement</li>
872
+ <li data-lang="en"><strong>Phase 3c:</strong> Economy mode (<code>-e</code>) &mdash; Glob/Grep directly</li>
742
873
  </ol>
743
874
 
744
- <div class="code-block">
745
- <button class="copy-btn">Copy</button>
746
- <pre><code>/business-analyse 2-discover Je veux pouvoir exporter mes donnees clients</code></pre>
875
+ <h4 data-lang="fr">5 techniques d'elicitation</h4>
876
+ <h4 data-lang="en">5 elicitation techniques</h4>
877
+
878
+ <div class="table-container">
879
+ <table class="reference-table">
880
+ <thead>
881
+ <tr>
882
+ <th>#</th>
883
+ <th>Technique</th>
884
+ <th>
885
+ <span data-lang="fr">Objectif</span>
886
+ <span data-lang="en">Purpose</span>
887
+ </th>
888
+ </tr>
889
+ </thead>
890
+ <tbody>
891
+ <tr>
892
+ <td>1</td>
893
+ <td>Solution &rarr; Problem</td>
894
+ <td>
895
+ <span data-lang="fr">Recadrer si l'utilisateur decrit une solution</span>
896
+ <span data-lang="en">Reframe if user describes a solution</span>
897
+ </td>
898
+ </tr>
899
+ <tr>
900
+ <td>2</td>
901
+ <td>5 Whys</td>
902
+ <td>
903
+ <span data-lang="fr">Analyse de cause racine</span>
904
+ <span data-lang="en">Root cause analysis</span>
905
+ </td>
906
+ </tr>
907
+ <tr>
908
+ <td>3</td>
909
+ <td>
910
+ <span data-lang="fr">Scenario concret</span>
911
+ <span data-lang="en">Concrete scenario</span>
912
+ </td>
913
+ <td>
914
+ <span data-lang="fr">Extraire un exemple reel</span>
915
+ <span data-lang="en">Extract a real-world example</span>
916
+ </td>
917
+ </tr>
918
+ <tr>
919
+ <td>4</td>
920
+ <td>
921
+ <span data-lang="fr">Test d'absence</span>
922
+ <span data-lang="en">Absence test</span>
923
+ </td>
924
+ <td>
925
+ <span data-lang="fr">Que se passe-t-il sans cette feature ?</span>
926
+ <span data-lang="en">What happens without this feature?</span>
927
+ </td>
928
+ </tr>
929
+ <tr>
930
+ <td>5</td>
931
+ <td>
932
+ <span data-lang="fr">Sondage de completude</span>
933
+ <span data-lang="en">Completeness probing</span>
934
+ </td>
935
+ <td>
936
+ <span data-lang="fr">Challenger chaque reponse de type liste</span>
937
+ <span data-lang="en">Challenge every list-type answer</span>
938
+ </td>
939
+ </tr>
940
+ </tbody>
941
+ </table>
747
942
  </div>
748
943
 
749
- <h4>
750
- <span data-lang="fr">Resultats de similarite</span>
751
- <span data-lang="en">Similarity Results</span>
752
- </h4>
753
- <table class="reference-table">
754
- <thead>
755
- <tr>
756
- <th>
757
- <span data-lang="fr">Resultat</span>
758
- <span data-lang="en">Result</span>
759
- </th>
760
- <th>Action</th>
761
- </tr>
762
- </thead>
763
- <tbody>
764
- <tr>
765
- <td><strong>DUPLICATE</strong></td>
766
- <td>
767
- <span data-lang="fr">STOP - Reference spec existante</span>
768
- <span data-lang="en">STOP - Reference existing spec</span>
769
- </td>
770
- </tr>
771
- <tr>
772
- <td><strong>EXTEND</strong></td>
773
- <td>
774
- <span data-lang="fr">Note feature existante a etendre</span>
775
- <span data-lang="en">Note existing feature to extend</span>
776
- </td>
777
- </tr>
778
- <tr>
779
- <td><strong>NEW</strong></td>
780
- <td>
781
- <span data-lang="fr">Proceder normalement</span>
782
- <span data-lang="en">Proceed normally</span>
783
- </td>
784
- </tr>
785
- </tbody>
786
- </table>
944
+ <h4 data-lang="fr">Sorties produites</h4>
945
+ <h4 data-lang="en">Produced outputs</h4>
946
+
947
+ <ul>
948
+ <li data-lang="fr"><strong>Regles metier</strong> (BR-{category}-NNN) avec priorite MUST/SHOULD/COULD</li>
949
+ <li data-lang="en"><strong>Business rules</strong> (BR-{category}-NNN) with MUST/SHOULD/COULD priority</li>
950
+
951
+ <li data-lang="fr"><strong>Entites</strong> (vue metier uniquement, pas de champs techniques)</li>
952
+ <li data-lang="en"><strong>Entities</strong> (business view only, no technical fields)</li>
953
+
954
+ <li data-lang="fr"><strong>Objectifs mesurables</strong> (OBJ-NNN)</li>
955
+ <li data-lang="en"><strong>Measurable objectives</strong> (OBJ-NNN)</li>
956
+
957
+ <li data-lang="fr"><strong>Flux de processus</strong> (points d'entree, decisions, actions)</li>
958
+ <li data-lang="en"><strong>Process flows</strong> (entry points, decisions, actions)</li>
959
+
960
+ <li data-lang="fr"><strong>Suggestions proactives</strong> depuis le catalogue de patterns</li>
961
+ <li data-lang="en"><strong>Proactive suggestions</strong> from the pattern catalog</li>
962
+
963
+ <li data-lang="fr"><strong>Analyse de risques</strong> (probabilite x impact)</li>
964
+ <li data-lang="en"><strong>Risk analysis</strong> (probability x impact)</li>
965
+ </ul>
966
+
967
+ <p data-lang="fr"><strong>Sortie :</strong> <code>feature.json</code> enrichi avec <code>discovery</code>, <code>analysis</code>, <code>suggestions</code> (status: <code>analysed</code>)</p>
968
+ <p data-lang="en"><strong>Output:</strong> <code>feature.json</code> enriched with <code>discovery</code>, <code>analysis</code>, <code>suggestions</code> (status: <code>analysed</code>)</p>
787
969
  </div>
788
970
  </div>
789
971
  </section>
790
972
 
791
- <!-- Phase 3: Analyse -->
792
- <section id="phase-3">
793
- <h2>Phase 3: ANALYSE</h2>
973
+ <!-- ============================================ -->
974
+ <!-- STEP 02: SPECIFY -->
975
+ <!-- ============================================ -->
976
+ <section id="step-02">
977
+ <h2>Step 02 &mdash; Specify</h2>
978
+
794
979
  <div class="command-card">
795
980
  <div class="command-header">
796
- <code class="command-name">/business-analyse 3-analyse</code>
797
- <span class="badge badge-blue">Sonnet/ULTRATHINK</span>
981
+ <code class="command-name">step-02-specify</code>
982
+ <span class="badge badge-purple">Sonnet</span>
983
+ <span class="badge badge-teal">FRD</span>
798
984
  </div>
799
985
  <div class="command-body">
800
986
  <p data-lang="fr">
801
- <strong>Mission</strong> : Fusionner le besoin utilisateur avec le contexte technique. Identifier les gaps et conflits.
987
+ <strong>Mission :</strong> Specification detaillee &mdash; cas d'usage (UC), exigences fonctionnelles (FR), acteurs, permissions, wireframes, scenarios Gherkin, validations, cycle de vie, SeedData.
802
988
  </p>
803
989
  <p data-lang="en">
804
- <strong>Mission</strong>: Merge user need with technical context. Identify gaps and conflicts.
990
+ <strong>Mission:</strong> Detailed specification &mdash; use cases (UC), functional requirements (FR), actors, permissions, wireframes, Gherkin scenarios, validations, lifecycle, SeedData.
805
991
  </p>
806
992
 
807
- <div class="code-block">
808
- <button class="copy-btn">Copy</button>
809
- <pre><code>/business-analyse 3-analyse [feature-name]</code></pre>
993
+ <h4 data-lang="fr">Sections specifiees</h4>
994
+ <h4 data-lang="en">Specified sections</h4>
995
+
996
+ <div class="table-container">
997
+ <table class="reference-table">
998
+ <thead>
999
+ <tr>
1000
+ <th>Section</th>
1001
+ <th>
1002
+ <span data-lang="fr">Contenu</span>
1003
+ <span data-lang="en">Content</span>
1004
+ </th>
1005
+ <th>Format</th>
1006
+ </tr>
1007
+ </thead>
1008
+ <tbody>
1009
+ <tr>
1010
+ <td>
1011
+ <span data-lang="fr">Acteurs &amp; Permissions</span>
1012
+ <span data-lang="en">Actors &amp; Permissions</span>
1013
+ </td>
1014
+ <td>
1015
+ <span data-lang="fr">Matrice acteurs x ressources x operations</span>
1016
+ <span data-lang="en">Actors x resources x operations matrix</span>
1017
+ </td>
1018
+ <td>Read, Create, Update, Delete, Approve, Delegate, Execute</td>
1019
+ </tr>
1020
+ <tr>
1021
+ <td>
1022
+ <span data-lang="fr">Cas d'usage</span>
1023
+ <span data-lang="en">Use Cases</span>
1024
+ </td>
1025
+ <td>UC-001, UC-002...</td>
1026
+ <td>
1027
+ <span data-lang="fr">Lies aux BR, categories CRUD/Workflow/Reports</span>
1028
+ <span data-lang="en">Linked to BRs, CRUD/Workflow/Reports categories</span>
1029
+ </td>
1030
+ </tr>
1031
+ <tr>
1032
+ <td>
1033
+ <span data-lang="fr">Exigences fonctionnelles</span>
1034
+ <span data-lang="en">Functional Requirements</span>
1035
+ </td>
1036
+ <td>FR-001, FR-002...</td>
1037
+ <td>
1038
+ <span data-lang="fr">Priorite MoSCoW, lies aux UC et BR</span>
1039
+ <span data-lang="en">MoSCoW priority, linked to UCs and BRs</span>
1040
+ </td>
1041
+ </tr>
1042
+ <tr>
1043
+ <td>SeedData</td>
1044
+ <td>
1045
+ <span data-lang="fr">5 tables obligatoires par module</span>
1046
+ <span data-lang="en">5 mandatory tables per module</span>
1047
+ </td>
1048
+ <td>Status, Priority, Category, Type, Department</td>
1049
+ </tr>
1050
+ <tr>
1051
+ <td>Navigation</td>
1052
+ <td>
1053
+ <span data-lang="fr">Hierarchie 3 niveaux</span>
1054
+ <span data-lang="en">3-level hierarchy</span>
1055
+ </td>
1056
+ <td>Level 1 &rarr; Level 2 &rarr; Level 3</td>
1057
+ </tr>
1058
+ <tr>
1059
+ <td>Wireframes</td>
1060
+ <td>
1061
+ <span data-lang="fr">Ecrans cles (List, Create, Detail)</span>
1062
+ <span data-lang="en">Key screens (List, Create, Detail)</span>
1063
+ </td>
1064
+ <td>Layout, components, actions</td>
1065
+ </tr>
1066
+ <tr>
1067
+ <td>
1068
+ <span data-lang="fr">Scenarios Gherkin</span>
1069
+ <span data-lang="en">Gherkin Scenarios</span>
1070
+ </td>
1071
+ <td>Given / When / Then</td>
1072
+ <td>
1073
+ <span data-lang="fr">Happy path, alternatives, erreurs</span>
1074
+ <span data-lang="en">Happy path, alternatives, errors</span>
1075
+ </td>
1076
+ </tr>
1077
+ <tr>
1078
+ <td>
1079
+ <span data-lang="fr">Cycle de vie</span>
1080
+ <span data-lang="en">Data Lifecycle</span>
1081
+ </td>
1082
+ <td>
1083
+ <span data-lang="fr">Machine a etats par entite</span>
1084
+ <span data-lang="en">State machine per entity</span>
1085
+ </td>
1086
+ <td>
1087
+ <span data-lang="fr">Transitions, visibilite, permissions par etat</span>
1088
+ <span data-lang="en">Transitions, visibility, permissions per state</span>
1089
+ </td>
1090
+ </tr>
1091
+ </tbody>
1092
+ </table>
810
1093
  </div>
811
1094
 
812
- <h4 data-lang="fr">Analyse des gaps</h4>
813
- <h4 data-lang="en">Gap Analysis</h4>
814
- <ul>
815
- <li data-lang="fr"><strong>Feasibility Check</strong> : Ce que l'utilisateur veut vs ce que le systeme peut faire</li>
816
- <li data-lang="en"><strong>Feasibility Check</strong>: What user wants vs what system can do</li>
817
- <li data-lang="fr"><strong>Conflicts</strong> : Contradictions entre besoin et contraintes techniques</li>
818
- <li data-lang="en"><strong>Conflicts</strong>: Contradictions between need and technical constraints</li>
819
- <li data-lang="fr"><strong>Opportunities</strong> : Features existantes qui peuvent aider</li>
820
- <li data-lang="en"><strong>Opportunities</strong>: Existing features that can help</li>
821
- </ul>
822
-
823
1095
  <div class="alert alert-warning">
824
1096
  <span class="alert-icon">&#9888;</span>
825
1097
  <div class="alert-content">
1098
+ <h5 data-lang="fr">5 SeedData obligatoires</h5>
1099
+ <h5 data-lang="en">5 Mandatory SeedData</h5>
826
1100
  <p data-lang="fr">
827
- Si des gaps ou conflits existent, des <strong>questions ciblees</strong> sont posees a l'utilisateur avant de continuer.
1101
+ Sans ces 5 fichiers, le module est invisible et retourne 403 :
1102
+ <code>NavigationModuleConfiguration</code>,
1103
+ <code>NavigationTranslationConfiguration</code>,
1104
+ <code>PermissionConfiguration</code>,
1105
+ <code>Permissions.cs</code>,
1106
+ <code>RolePermissionConfiguration</code>.
828
1107
  </p>
829
1108
  <p data-lang="en">
830
- If gaps or conflicts exist, <strong>targeted questions</strong> are asked to the user before continuing.
1109
+ Without these 5 files, the module is invisible and returns 403:
1110
+ <code>NavigationModuleConfiguration</code>,
1111
+ <code>NavigationTranslationConfiguration</code>,
1112
+ <code>PermissionConfiguration</code>,
1113
+ <code>Permissions.cs</code>,
1114
+ <code>RolePermissionConfiguration</code>.
831
1115
  </p>
832
1116
  </div>
833
1117
  </div>
1118
+
1119
+ <p data-lang="fr"><strong>Sortie :</strong> <code>feature.json</code> enrichi avec <code>specification</code> (status: <code>specified</code>)</p>
1120
+ <p data-lang="en"><strong>Output:</strong> <code>feature.json</code> enriched with <code>specification</code> (status: <code>specified</code>)</p>
834
1121
  </div>
835
1122
  </div>
836
1123
  </section>
837
1124
 
838
- <!-- Phase 4: Specify -->
839
- <section id="phase-4">
840
- <h2>Phase 4: SPECIFY</h2>
1125
+ <!-- ============================================ -->
1126
+ <!-- STEP 03: VALIDATE -->
1127
+ <!-- ============================================ -->
1128
+ <section id="step-03">
1129
+ <h2>Step 03 &mdash; Validate</h2>
1130
+
841
1131
  <div class="command-card">
842
1132
  <div class="command-header">
843
- <code class="command-name">/business-analyse 4-specify</code>
844
- <span class="badge badge-teal">Sonnet/ULTRATHINK</span>
1133
+ <code class="command-name">step-03-validate</code>
1134
+ <span class="badge badge-green">Haiku</span>
1135
+ <span class="badge badge-blue">
1136
+ <span data-lang="fr">Porte qualite</span>
1137
+ <span data-lang="en">Quality gate</span>
1138
+ </span>
845
1139
  </div>
846
1140
  <div class="command-body">
847
1141
  <p data-lang="fr">
848
- <strong>Mission</strong> : Produire le FRD (Functional Requirements Document) detaille pour validation humaine.
1142
+ <strong>Mission :</strong> Porte qualite avant le handoff &mdash; decision binaire APPROVED / REJECTED.
849
1143
  </p>
850
1144
  <p data-lang="en">
851
- <strong>Mission</strong>: Produce detailed FRD (Functional Requirements Document) for human validation.
1145
+ <strong>Mission:</strong> Quality gate before handoff &mdash; binary decision APPROVED / REJECTED.
852
1146
  </p>
853
1147
 
854
- <div class="code-block">
855
- <button class="copy-btn">Copy</button>
856
- <pre><code># Generate specification
857
- /business-analyse 4-specify [feature-name]
858
-
859
- # With HTML mockup
860
- /business-analyse 4-specify [feature-name] --mockup
861
-
862
- # With PlantUML diagrams
863
- /business-analyse 4-specify [feature-name] --plantuml</code></pre>
1148
+ <h4 data-lang="fr">Controles effectues</h4>
1149
+ <h4 data-lang="en">Checks performed</h4>
1150
+
1151
+ <div class="table-container">
1152
+ <table class="reference-table">
1153
+ <thead>
1154
+ <tr>
1155
+ <th>
1156
+ <span data-lang="fr">Controle</span>
1157
+ <span data-lang="en">Check</span>
1158
+ </th>
1159
+ <th>
1160
+ <span data-lang="fr">Verification</span>
1161
+ <span data-lang="en">Verification</span>
1162
+ </th>
1163
+ <th>
1164
+ <span data-lang="fr">Impact si echec</span>
1165
+ <span data-lang="en">Impact on failure</span>
1166
+ </th>
1167
+ </tr>
1168
+ </thead>
1169
+ <tbody>
1170
+ <tr>
1171
+ <td>
1172
+ <span data-lang="fr">Completude</span>
1173
+ <span data-lang="en">Completeness</span>
1174
+ </td>
1175
+ <td>
1176
+ <span data-lang="fr">Toutes sections requises presentes</span>
1177
+ <span data-lang="en">All required sections present</span>
1178
+ </td>
1179
+ <td><span class="badge badge-red">REJECT</span></td>
1180
+ </tr>
1181
+ <tr>
1182
+ <td>
1183
+ <span data-lang="fr">Coherence</span>
1184
+ <span data-lang="en">Consistency</span>
1185
+ </td>
1186
+ <td>UC &harr; FR, FR &harr; BR, Actor &harr; Permission</td>
1187
+ <td>
1188
+ <span class="badge badge-red">REJECT</span> (error) /
1189
+ <span class="badge badge-orange">WARN</span> (warning)
1190
+ </td>
1191
+ </tr>
1192
+ <tr>
1193
+ <td>
1194
+ <span data-lang="fr">Conventions SmartStack</span>
1195
+ <span data-lang="en">SmartStack conventions</span>
1196
+ </td>
1197
+ <td>
1198
+ <span data-lang="fr">Nommage PascalCase, UC-NNN, FR-NNN, BR-NNN</span>
1199
+ <span data-lang="en">Naming PascalCase, UC-NNN, FR-NNN, BR-NNN</span>
1200
+ </td>
1201
+ <td><span class="badge badge-red">REJECT</span></td>
1202
+ </tr>
1203
+ <tr>
1204
+ <td>
1205
+ <span data-lang="fr">Risques</span>
1206
+ <span data-lang="en">Risks</span>
1207
+ </td>
1208
+ <td>
1209
+ <span data-lang="fr">Scope creep, securite, complexite</span>
1210
+ <span data-lang="en">Scope creep, security, complexity</span>
1211
+ </td>
1212
+ <td>
1213
+ <span class="badge badge-red">REJECT</span> (critical) /
1214
+ <span class="badge badge-orange">USER</span> (high)
1215
+ </td>
1216
+ </tr>
1217
+ <tr>
1218
+ <td>RBAC</td>
1219
+ <td>
1220
+ <span data-lang="fr">Guest &sub; User &sub; Manager &sub; Admin</span>
1221
+ <span data-lang="en">Guest &sub; User &sub; Manager &sub; Admin</span>
1222
+ </td>
1223
+ <td><span class="badge badge-red">REJECT</span></td>
1224
+ </tr>
1225
+ </tbody>
1226
+ </table>
864
1227
  </div>
865
1228
 
866
- <h4>
867
- <span data-lang="fr">Sections dynamiques</span>
868
- <span data-lang="en">Dynamic sections</span>
869
- </h4>
870
- <table class="reference-table">
871
- <thead>
872
- <tr>
873
- <th>Section</th>
874
- <th>
875
- <span data-lang="fr">Incluse quand</span>
876
- <span data-lang="en">Included when</span>
877
- </th>
878
- </tr>
879
- </thead>
880
- <tbody>
881
- <tr>
882
- <td>Context</td>
883
- <td>
884
- <span data-lang="fr">Toujours</span>
885
- <span data-lang="en">Always</span>
886
- </td>
887
- </tr>
888
- <tr>
889
- <td>Functional Requirements</td>
890
- <td>
891
- <span data-lang="fr">Toujours</span>
892
- <span data-lang="en">Always</span>
893
- </td>
894
- </tr>
895
- <tr>
896
- <td>Data Model</td>
897
- <td>
898
- <span data-lang="fr">Changements DB</span>
899
- <span data-lang="en">DB changes</span>
900
- </td>
901
- </tr>
902
- <tr>
903
- <td>UI Specification</td>
904
- <td>
905
- <span data-lang="fr">Changements UI</span>
906
- <span data-lang="en">UI changes</span>
907
- </td>
908
- </tr>
909
- <tr>
910
- <td>Navigation</td>
911
- <td>
912
- <span data-lang="fr">Nouvelle page</span>
913
- <span data-lang="en">New page</span>
914
- </td>
915
- </tr>
916
- <tr>
917
- <td>Permissions</td>
918
- <td>
919
- <span data-lang="fr">Nouvelles permissions</span>
920
- <span data-lang="en">New permissions</span>
921
- </td>
922
- </tr>
923
- <tr>
924
- <td>User Flow</td>
925
- <td>
926
- <span data-lang="fr">Workflow complexe</span>
927
- <span data-lang="en">Complex workflow</span>
928
- </td>
929
- </tr>
930
- <tr>
931
- <td>API Specification</td>
932
- <td>
933
- <span data-lang="fr">Changements backend</span>
934
- <span data-lang="en">Backend changes</span>
935
- </td>
936
- </tr>
937
- <tr>
938
- <td>Acceptance Criteria</td>
939
- <td>
940
- <span data-lang="fr">Toujours</span>
941
- <span data-lang="en">Always</span>
942
- </td>
943
- </tr>
944
- </tbody>
945
- </table>
946
-
947
- <h4>Options</h4>
948
- <table class="reference-table">
949
- <thead>
950
- <tr>
951
- <th>Option</th>
952
- <th>
953
- <span data-lang="fr">Effet</span>
954
- <span data-lang="en">Effect</span>
955
- </th>
956
- <th>Tokens</th>
957
- </tr>
958
- </thead>
959
- <tbody>
960
- <tr>
961
- <td><code>--mockup</code></td>
962
- <td>
963
- <span data-lang="fr">Maquette HTML avec CSS projet</span>
964
- <span data-lang="en">HTML mockup with project CSS</span>
965
- </td>
966
- <td>+2,000</td>
967
- </tr>
968
- <tr>
969
- <td><code>--plantuml</code></td>
970
- <td>
971
- <span data-lang="fr">Diagrammes ER/sequence</span>
972
- <span data-lang="en">ER/sequence diagrams</span>
973
- </td>
974
- <td>+800</td>
975
- </tr>
976
- </tbody>
977
- </table>
978
- </div>
979
- </div>
980
- </section>
1229
+ <h4 data-lang="fr">En cas de rejet</h4>
1230
+ <h4 data-lang="en">On rejection</h4>
981
1231
 
982
- <!-- Phase 5: Validate -->
983
- <section id="phase-5">
984
- <h2>Phase 5: VALIDATE</h2>
985
- <div class="command-card">
986
- <div class="command-header">
987
- <code class="command-name">/business-analyse 5-validate</code>
988
- <span class="badge badge-teal">Haiku</span>
989
- </div>
990
- <div class="command-body">
991
- <p data-lang="fr">
992
- <strong>Mission</strong> : Presenter le FRD a l'utilisateur et collecter son feedback.
993
- </p>
994
- <p data-lang="en">
995
- <strong>Mission</strong>: Present FRD to user and collect feedback.
996
- </p>
1232
+ <ul>
1233
+ <li data-lang="fr"><strong>Auto-revision :</strong> corrections automatiques (orphelins, nommage, references invalides)</li>
1234
+ <li data-lang="en"><strong>Auto-revise:</strong> automatic corrections (orphans, naming, invalid references)</li>
997
1235
 
998
- <div class="code-block">
999
- <button class="copy-btn">Copy</button>
1000
- <pre><code>/business-analyse 5-validate [feature-name]</code></pre>
1001
- </div>
1236
+ <li data-lang="fr"><strong>Revision manuelle :</strong> retour a step-02</li>
1237
+ <li data-lang="en"><strong>Manual revision:</strong> return to step-02</li>
1002
1238
 
1003
- <h4>
1004
- <span data-lang="fr">Options de validation</span>
1005
- <span data-lang="en">Validation Options</span>
1006
- </h4>
1007
- <table class="reference-table">
1008
- <thead>
1009
- <tr>
1010
- <th>Option</th>
1011
- <th>Action</th>
1012
- </tr>
1013
- </thead>
1014
- <tbody>
1015
- <tr style="background: rgba(34, 197, 94, 0.1);">
1016
- <td><strong>APPROVED</strong></td>
1017
- <td>
1018
- <span data-lang="fr">Passer a Phase 6 (Handoff)</span>
1019
- <span data-lang="en">Proceed to Phase 6 (Handoff)</span>
1020
- </td>
1021
- </tr>
1022
- <tr style="background: rgba(234, 179, 8, 0.1);">
1023
- <td><strong>MINOR CHANGES</strong></td>
1024
- <td>
1025
- <span data-lang="fr">Modifications directes dans le FRD</span>
1026
- <span data-lang="en">Direct modifications in FRD</span>
1027
- </td>
1028
- </tr>
1029
- <tr style="background: rgba(239, 68, 68, 0.1);">
1030
- <td><strong>MAJOR CHANGES</strong></td>
1031
- <td>
1032
- <span data-lang="fr">Retour a Phase 3 (Analyse)</span>
1033
- <span data-lang="en">Return to Phase 3 (Analyse)</span>
1034
- </td>
1035
- </tr>
1036
- <tr style="background: rgba(107, 114, 128, 0.1);">
1037
- <td><strong>REJECTED</strong></td>
1038
- <td>
1039
- <span data-lang="fr">Archiver et recommencer</span>
1040
- <span data-lang="en">Archive and start over</span>
1041
- </td>
1042
- </tr>
1043
- </tbody>
1044
- </table>
1239
+ <li data-lang="fr"><strong>Force-approve :</strong> override avec avertissement</li>
1240
+ <li data-lang="en"><strong>Force-approve:</strong> override with warning</li>
1241
+ </ul>
1045
1242
 
1046
1243
  <div class="alert alert-info">
1047
- <span class="alert-icon">&#128260;</span>
1244
+ <span class="alert-icon">&#9889;</span>
1048
1245
  <div class="alert-content">
1049
- <h5 data-lang="fr">Boucle de validation</h5>
1050
- <h5 data-lang="en">Validation Loop</h5>
1246
+ <h5 data-lang="fr">Mode Micro</h5>
1247
+ <h5 data-lang="en">Micro Mode</h5>
1051
1248
  <p data-lang="fr">
1052
- En cas de <strong>MAJOR CHANGES</strong>, le workflow retourne a la Phase 3 pour re-analyser avec les nouvelles informations.
1249
+ En mode micro (<code>-m</code>), la validation est automatique &mdash; auto-approve sans interaction utilisateur.
1053
1250
  </p>
1054
1251
  <p data-lang="en">
1055
- On <strong>MAJOR CHANGES</strong>, the workflow returns to Phase 3 to re-analyze with new information.
1252
+ In micro mode (<code>-m</code>), validation is automatic &mdash; auto-approve without user interaction.
1056
1253
  </p>
1057
1254
  </div>
1058
1255
  </div>
1256
+
1257
+ <p data-lang="fr"><strong>Sortie :</strong> <code>feature.json</code> enrichi avec <code>validation</code> (status: <code>approved</code>)</p>
1258
+ <p data-lang="en"><strong>Output:</strong> <code>feature.json</code> enriched with <code>validation</code> (status: <code>approved</code>)</p>
1059
1259
  </div>
1060
1260
  </div>
1061
1261
  </section>
1062
1262
 
1063
- <!-- Phase 6: Handoff -->
1064
- <section id="phase-6">
1065
- <h2>Phase 6: HANDOFF</h2>
1263
+ <!-- ============================================ -->
1264
+ <!-- STEP 04: HANDOFF -->
1265
+ <!-- ============================================ -->
1266
+ <section id="step-04">
1267
+ <h2>Step 04 &mdash; Handoff</h2>
1268
+
1066
1269
  <div class="command-card">
1067
1270
  <div class="command-header">
1068
- <code class="command-name">/business-analyse 6-handoff</code>
1069
- <span class="badge badge-teal">OPUS/ULTRATHINK</span>
1271
+ <code class="command-name">step-04-handoff</code>
1272
+ <span class="badge badge-orange">Opus</span>
1273
+ <span class="badge badge-purple">ULTRATHINK</span>
1070
1274
  </div>
1071
1275
  <div class="command-body">
1072
1276
  <p data-lang="fr">
1073
- <strong>Mission</strong> : Transformer le FRD valide en brief d'implementation pour Claude Code. Le brief est genere en <strong>anglais</strong> pour optimiser les tokens et la comprehension du modele.
1277
+ <strong>Mission :</strong> Generer le package de handoff pour le developpement &mdash; mapping fichiers, endpoints API, plan de tests, i18n, et generation du <code>prd.json</code> pour Ralph Loop.
1074
1278
  </p>
1075
1279
  <p data-lang="en">
1076
- <strong>Mission</strong>: Transform validated FRD into implementation brief for Claude Code. The brief is generated in <strong>English</strong> to optimize tokens and model comprehension.
1280
+ <strong>Mission:</strong> Generate the development handoff package &mdash; file mapping, API endpoints, test plan, i18n, and <code>prd.json</code> generation for Ralph Loop.
1077
1281
  </p>
1078
1282
 
1079
- <div class="code-block">
1080
- <button class="copy-btn">Copy</button>
1081
- <pre><code>/business-analyse 6-handoff [feature-name]</code></pre>
1283
+ <h4 data-lang="fr">Contenu du handoff</h4>
1284
+ <h4 data-lang="en">Handoff content</h4>
1285
+
1286
+ <div class="table-container">
1287
+ <table class="reference-table">
1288
+ <thead>
1289
+ <tr>
1290
+ <th>Section</th>
1291
+ <th>
1292
+ <span data-lang="fr">Contenu</span>
1293
+ <span data-lang="en">Content</span>
1294
+ </th>
1295
+ </tr>
1296
+ </thead>
1297
+ <tbody>
1298
+ <tr>
1299
+ <td>
1300
+ <span data-lang="fr">Mapping fichiers</span>
1301
+ <span data-lang="en">File mapping</span>
1302
+ </td>
1303
+ <td>
1304
+ <span data-lang="fr">Backend (Entity, Service, Controller, Repository, Migration, Tests) + Frontend (Pages, Components, API Client, Redux)</span>
1305
+ <span data-lang="en">Backend (Entity, Service, Controller, Repository, Migration, Tests) + Frontend (Pages, Components, API Client, Redux)</span>
1306
+ </td>
1307
+ </tr>
1308
+ <tr>
1309
+ <td>
1310
+ <span data-lang="fr">Sequence d'implementation</span>
1311
+ <span data-lang="en">Implementation sequence</span>
1312
+ </td>
1313
+ <td>Domain &rarr; SeedData &rarr; Application &rarr; Infrastructure &rarr; API &rarr; Frontend</td>
1314
+ </tr>
1315
+ <tr>
1316
+ <td>
1317
+ <span data-lang="fr">Endpoints API</span>
1318
+ <span data-lang="en">API endpoints</span>
1319
+ </td>
1320
+ <td>
1321
+ <span data-lang="fr">Routes RESTful pour tous les UC, parametres, corps de reponse, codes d'erreur</span>
1322
+ <span data-lang="en">RESTful routes for all UCs, parameters, response bodies, error codes</span>
1323
+ </td>
1324
+ </tr>
1325
+ <tr>
1326
+ <td>
1327
+ <span data-lang="fr">Plan de tests</span>
1328
+ <span data-lang="en">Test plan</span>
1329
+ </td>
1330
+ <td>
1331
+ <span data-lang="fr">Tests unitaires, integration, E2E</span>
1332
+ <span data-lang="en">Unit, integration, E2E tests</span>
1333
+ </td>
1334
+ </tr>
1335
+ <tr>
1336
+ <td>i18n</td>
1337
+ <td>
1338
+ <span data-lang="fr">Cles de traduction (en, fr, it, de) pour menus, titres, champs, validations, messages</span>
1339
+ <span data-lang="en">Translation keys (en, fr, it, de) for menus, titles, fields, validations, messages</span>
1340
+ </td>
1341
+ </tr>
1342
+ <tr>
1343
+ <td>
1344
+ <span data-lang="fr">Regles metier &rarr; Code</span>
1345
+ <span data-lang="en">Business rules &rarr; Code</span>
1346
+ </td>
1347
+ <td>
1348
+ <span data-lang="fr">Points d'implementation par BR (Domain, Infrastructure, API, Frontend)</span>
1349
+ <span data-lang="en">Implementation points per BR (Domain, Infrastructure, API, Frontend)</span>
1350
+ </td>
1351
+ </tr>
1352
+ </tbody>
1353
+ </table>
1082
1354
  </div>
1083
1355
 
1084
- <h4 data-lang="fr">Format de sortie (diff-like)</h4>
1085
- <h4 data-lang="en">Output format (diff-like)</h4>
1356
+ <h4 data-lang="fr">Fichiers generes</h4>
1357
+ <h4 data-lang="en">Generated files</h4>
1086
1358
 
1087
1359
  <div class="code-block">
1088
1360
  <button class="copy-btn">Copy</button>
1089
- <pre><code># IMPLEMENTATION BRIEF: [Feature Name]
1090
-
1091
- ## Files
1092
-
1093
- ### Backend
1094
-
1095
- CREATE `src/Domain/Entities/Feature.cs`
1096
- COPY: `src/Domain/Entities/User.cs`
1097
- CHANGE: class name, properties per spec
1098
-
1099
- MODIFY `src/Infrastructure/Data/AppDbContext.cs`
1100
- AT: line 45
1101
- ADD: `public DbSet&lt;Feature&gt; Features =&gt; Set&lt;Feature&gt;();`
1102
-
1103
- ### Frontend
1104
-
1105
- CREATE `src/app/module/feature/feature.component.ts`
1106
- RUN FIRST: `ng generate component module/feature`
1107
- COPY PATTERN: `src/app/existing/existing.component.ts`
1108
-
1109
- ## Commands
1110
-
1111
- ```bash
1112
- dotnet build src/Api
1113
- dotnet ef migrations add AddFeatureTable
1114
- npm run build
1115
- npm run lint
1116
- ```
1117
-
1118
- ## Verify
1119
-
1120
- - [ ] Build passes
1121
- - [ ] Navigate to /feature works
1122
- - [ ] CRUD operations work</code></pre>
1123
- </div>
1124
-
1125
- <div class="alert alert-success">
1126
- <span class="alert-icon">&#128640;</span>
1127
- <div class="alert-content">
1128
- <h5 data-lang="fr">Pret pour implementation</h5>
1129
- <h5 data-lang="en">Ready for implementation</h5>
1130
- <p data-lang="fr">
1131
- Le brief peut etre passe directement a <code>/implement</code> pour une execution oneshot.
1132
- </p>
1133
- <p data-lang="en">
1134
- The brief can be passed directly to <code>/implement</code> for oneshot execution.
1135
- </p>
1136
- <div class="code-block" style="margin-top: 0.5rem;">
1137
- <pre><code>/implement .claude/ba/[feature]/06-implementation-brief.md</code></pre>
1138
- </div>
1139
- </div>
1361
+ <pre><code>.ralph/
1362
+ ├── prd.json # v2.0.0 schema, 15 tasks across 9 layers
1363
+ └── progress.txt # Progress tracker with daily update template</code></pre>
1140
1364
  </div>
1141
- </div>
1142
- </div>
1143
- </section>
1144
-
1145
- <!-- Phase 7: Doc-HTML -->
1146
- <section id="phase-7">
1147
- <h2>Phase 7: DOC-HTML</h2>
1148
- <div class="command-card">
1149
- <div class="command-header">
1150
- <code class="command-name">/business-analyse 7-doc-html</code>
1151
- <span class="badge badge-purple">Sonnet</span>
1152
- </div>
1153
- <div class="command-body">
1154
- <p data-lang="fr">
1155
- <strong>Mission</strong> : Generer une documentation HTML auto-generee et polishe a partir de tous les fichiers du workflow Business Analyse.
1156
- </p>
1157
- <p data-lang="en">
1158
- <strong>Mission</strong>: Generate polished auto-generated HTML documentation from all Business Analyse workflow files.
1159
- </p>
1160
1365
 
1161
- <div class="code-block">
1162
- <button class="copy-btn">Copy</button>
1163
- <pre><code># Generate documentation
1164
- /business-analyse 7-doc-html [feature-name]
1165
-
1166
- # With specific template
1167
- /business-analyse 7-doc-html [feature-name] --template=standard
1168
- /business-analyse 7-doc-html [feature-name] --template=detailed
1169
- /business-analyse 7-doc-html [feature-name] --template=minimal</code></pre>
1170
- </div>
1366
+ <h4 data-lang="fr">Choix utilisateur au final</h4>
1367
+ <h4 data-lang="en">User choices at the end</h4>
1171
1368
 
1172
- <h4 data-lang="fr">Documentation generee</h4>
1173
- <h4 data-lang="en">Generated Documentation</h4>
1174
1369
  <ul>
1175
- <li data-lang="fr">Resume executif de la feature</li>
1176
- <li data-lang="en">Feature executive summary</li>
1177
- <li data-lang="fr">Specifications fonctionnelles validees</li>
1178
- <li data-lang="en">Validated functional specifications</li>
1179
- <li data-lang="fr">Architecture et design decisions</li>
1180
- <li data-lang="en">Architecture and design decisions</li>
1181
- <li data-lang="fr">Guide d'implementation</li>
1182
- <li data-lang="en">Implementation guide</li>
1183
- <li data-lang="fr">Historique complet du workflow</li>
1184
- <li data-lang="en">Complete workflow history</li>
1370
+ <li><strong>Feature Full</strong> &mdash;
1371
+ <span data-lang="fr">Scaffolding rapide (~70-80% couverture)</span>
1372
+ <span data-lang="en">Fast scaffolding (~70-80% coverage)</span>
1373
+ </li>
1374
+ <li><strong>Ralph Loop</strong> &mdash;
1375
+ <span data-lang="fr">Developpement iteratif (~95-100% couverture)</span>
1376
+ <span data-lang="en">Iterative development (~95-100% coverage)</span>
1377
+ </li>
1378
+ <li><strong>End BA</strong> &mdash;
1379
+ <span data-lang="fr">Developpement manuel</span>
1380
+ <span data-lang="en">Manual development</span>
1381
+ </li>
1185
1382
  </ul>
1186
1383
 
1187
- <div class="alert alert-success">
1188
- <span class="alert-icon">&#128196;</span>
1189
- <div class="alert-content">
1190
- <h5 data-lang="fr">Documentation persistante</h5>
1191
- <h5 data-lang="en">Persistent Documentation</h5>
1192
- <p data-lang="fr">
1193
- Le fichier HTML est stocke dans <code>.claude/ba/[feature]/06-documentation.html</code> pour reference et partage futur.
1194
- </p>
1195
- <p data-lang="en">
1196
- The HTML file is stored in <code>.claude/ba/[feature]/06-documentation.html</code> for future reference and sharing.
1197
- </p>
1198
- </div>
1199
- </div>
1384
+ <p data-lang="fr"><strong>Sortie :</strong> <code>feature.json</code> enrichi avec <code>handoff</code> (status: <code>handed-off</code>) + <code>.ralph/prd.json</code> + <code>.ralph/progress.txt</code></p>
1385
+ <p data-lang="en"><strong>Output:</strong> <code>feature.json</code> enriched with <code>handoff</code> (status: <code>handed-off</code>) + <code>.ralph/prd.json</code> + <code>.ralph/progress.txt</code></p>
1200
1386
  </div>
1201
1387
  </div>
1202
1388
  </section>
1203
1389
 
1204
- <!-- Utilities -->
1205
- <section id="utilities">
1206
- <h2>
1207
- <span data-lang="fr">Commandes Utilitaires</span>
1208
- <span data-lang="en">Utility Commands</span>
1209
- </h2>
1390
+ <!-- ============================================ -->
1391
+ <!-- QUESTIONNAIRE -->
1392
+ <!-- ============================================ -->
1393
+ <section id="questionnaire">
1394
+ <h2>Questionnaire</h2>
1210
1395
 
1211
- <div class="command-card">
1212
- <div class="command-header">
1213
- <code class="command-name">/business-analyse bug</code>
1214
- <span class="badge badge-red">Bug Fix</span>
1215
- </div>
1216
- <div class="command-body">
1396
+ <p data-lang="fr">
1397
+ Le questionnaire est compose de <strong>13 categories</strong> chargees progressivement selon le type de feature detecte. Le chargement intelligent reduit le nombre de questions posees tout en garantissant la couverture.
1398
+ </p>
1399
+ <p data-lang="en">
1400
+ The questionnaire consists of <strong>13 categories</strong> loaded progressively based on the detected feature type. Smart loading reduces the number of questions asked while ensuring coverage.
1401
+ </p>
1402
+
1403
+ <div class="table-container">
1404
+ <table class="reference-table">
1405
+ <thead>
1406
+ <tr>
1407
+ <th>#</th>
1408
+ <th>
1409
+ <span data-lang="fr">Categorie</span>
1410
+ <span data-lang="en">Category</span>
1411
+ </th>
1412
+ <th>
1413
+ <span data-lang="fr">Questions</span>
1414
+ <span data-lang="en">Questions</span>
1415
+ </th>
1416
+ <th>
1417
+ <span data-lang="fr">Charge quand</span>
1418
+ <span data-lang="en">Loaded when</span>
1419
+ </th>
1420
+ </tr>
1421
+ </thead>
1422
+ <tbody>
1423
+ <tr>
1424
+ <td>01</td>
1425
+ <td>Context</td>
1426
+ <td>4</td>
1427
+ <td><span class="badge badge-green">
1428
+ <span data-lang="fr">Toujours</span>
1429
+ <span data-lang="en">Always</span>
1430
+ </span></td>
1431
+ </tr>
1432
+ <tr>
1433
+ <td>02</td>
1434
+ <td>Stakeholders</td>
1435
+ <td>8</td>
1436
+ <td><span class="badge badge-green">
1437
+ <span data-lang="fr">Toujours</span>
1438
+ <span data-lang="en">Always</span>
1439
+ </span></td>
1440
+ </tr>
1441
+ <tr>
1442
+ <td>03</td>
1443
+ <td>Scope</td>
1444
+ <td>8</td>
1445
+ <td><span class="badge badge-green">
1446
+ <span data-lang="fr">Toujours</span>
1447
+ <span data-lang="en">Always</span>
1448
+ </span></td>
1449
+ </tr>
1450
+ <tr>
1451
+ <td>04</td>
1452
+ <td>Data</td>
1453
+ <td>8</td>
1454
+ <td><span class="badge badge-blue">Data-centric / Full</span></td>
1455
+ </tr>
1456
+ <tr>
1457
+ <td>05</td>
1458
+ <td>Integrations</td>
1459
+ <td>8</td>
1460
+ <td><span class="badge badge-blue">Integration / Full</span></td>
1461
+ </tr>
1462
+ <tr>
1463
+ <td>06</td>
1464
+ <td>Security</td>
1465
+ <td>8</td>
1466
+ <td><span class="badge badge-green">
1467
+ <span data-lang="fr">Toujours (minimal)</span>
1468
+ <span data-lang="en">Always (minimal)</span>
1469
+ </span></td>
1470
+ </tr>
1471
+ <tr>
1472
+ <td>07</td>
1473
+ <td>UI</td>
1474
+ <td>8</td>
1475
+ <td><span class="badge badge-blue">UI-centric / Full</span></td>
1476
+ </tr>
1477
+ <tr>
1478
+ <td>08</td>
1479
+ <td>Performance</td>
1480
+ <td>4</td>
1481
+ <td><span class="badge badge-blue">Reporting / Critical</span></td>
1482
+ </tr>
1483
+ <tr>
1484
+ <td>09</td>
1485
+ <td>Constraints</td>
1486
+ <td>4</td>
1487
+ <td><span class="badge badge-teal">
1488
+ <span data-lang="fr">Si contraintes</span>
1489
+ <span data-lang="en">If constraints</span>
1490
+ </span></td>
1491
+ </tr>
1492
+ <tr>
1493
+ <td>10</td>
1494
+ <td>Documentation</td>
1495
+ <td>4</td>
1496
+ <td><span class="badge badge-teal">
1497
+ <span data-lang="fr">Si doc requise</span>
1498
+ <span data-lang="en">If doc required</span>
1499
+ </span></td>
1500
+ </tr>
1501
+ <tr>
1502
+ <td>11</td>
1503
+ <td>Data Lifecycle</td>
1504
+ <td>8</td>
1505
+ <td><span class="badge badge-teal">
1506
+ <span data-lang="fr">Conditionnel</span>
1507
+ <span data-lang="en">Conditional</span>
1508
+ </span></td>
1509
+ </tr>
1510
+ <tr>
1511
+ <td>12</td>
1512
+ <td>Migration</td>
1513
+ <td>8</td>
1514
+ <td><span class="badge badge-teal">
1515
+ <span data-lang="fr">Conditionnel</span>
1516
+ <span data-lang="en">Conditional</span>
1517
+ </span></td>
1518
+ </tr>
1519
+ <tr>
1520
+ <td>13</td>
1521
+ <td>Cross-Module</td>
1522
+ <td>8</td>
1523
+ <td><span class="badge badge-teal">
1524
+ <span data-lang="fr">Conditionnel</span>
1525
+ <span data-lang="en">Conditional</span>
1526
+ </span></td>
1527
+ </tr>
1528
+ </tbody>
1529
+ </table>
1530
+ </div>
1531
+
1532
+ <div class="alert alert-info">
1533
+ <span class="alert-icon">&#128172;</span>
1534
+ <div class="alert-content">
1535
+ <h5 data-lang="fr">Protocole d'elicitation</h5>
1536
+ <h5 data-lang="en">Elicitation protocol</h5>
1217
1537
  <p data-lang="fr">
1218
- Documenter et specifier une correction de bug de maniere formelle.
1538
+ Les questions sont posees par lots de <strong>max 4</strong> via <code>AskUserQuestion</code>. Apres chaque categorie, un resume est affiche pour validation. Les reponses vagues declenchent des questions de suivi ciblees.
1219
1539
  </p>
1220
1540
  <p data-lang="en">
1221
- Document and formally specify a bug fix.
1541
+ Questions are asked in batches of <strong>max 4</strong> via <code>AskUserQuestion</code>. After each category, a summary is displayed for validation. Vague answers trigger targeted follow-up questions.
1222
1542
  </p>
1223
- <div class="code-block">
1224
- <button class="copy-btn">Copy</button>
1225
- <pre><code>/business-analyse bug [bug-description]</code></pre>
1226
- </div>
1227
1543
  </div>
1228
1544
  </div>
1229
1545
 
1230
- <div class="command-card">
1231
- <div class="command-header">
1232
- <code class="command-name">/business-analyse hotfix</code>
1233
- <span class="badge badge-red">Hotfix</span>
1234
- </div>
1235
- <div class="command-body">
1546
+ <div class="alert alert-warning">
1547
+ <span class="alert-icon">&#9889;</span>
1548
+ <div class="alert-content">
1549
+ <h5 data-lang="fr">Mode Micro</h5>
1550
+ <h5 data-lang="en">Micro Mode</h5>
1236
1551
  <p data-lang="fr">
1237
- Documenter une correction urgente de maniere legere et rapide.
1552
+ En mode micro (<code>-m</code>), seule la categorie 01 (Context) est chargee avec <strong>4 questions maximum</strong>.
1238
1553
  </p>
1239
1554
  <p data-lang="en">
1240
- Document an urgent fix in a lightweight and fast way.
1555
+ In micro mode (<code>-m</code>), only category 01 (Context) is loaded with <strong>4 questions maximum</strong>.
1241
1556
  </p>
1242
- <div class="code-block">
1243
- <button class="copy-btn">Copy</button>
1244
- <pre><code>/business-analyse hotfix [fix-description]</code></pre>
1245
- </div>
1246
1557
  </div>
1247
1558
  </div>
1559
+ </section>
1248
1560
 
1249
- <div class="command-card">
1250
- <div class="command-header">
1251
- <code class="command-name">/business-analyse change-request</code>
1252
- <span class="badge badge-blue">Change</span>
1253
- </div>
1254
- <div class="command-body">
1561
+ <!-- ============================================ -->
1562
+ <!-- VERSIONING -->
1563
+ <!-- ============================================ -->
1564
+ <section id="versioning">
1565
+ <h2>Versioning</h2>
1566
+
1567
+ <p data-lang="fr">
1568
+ Chaque feature suit un systeme de versioning semantique. Les versions sont stockees dans des dossiers separes pour permettre le suivi de l'evolution.
1569
+ </p>
1570
+ <p data-lang="en">
1571
+ Each feature follows a semantic versioning system. Versions are stored in separate folders to track evolution.
1572
+ </p>
1573
+
1574
+ <div class="table-container">
1575
+ <table class="reference-table">
1576
+ <thead>
1577
+ <tr>
1578
+ <th>
1579
+ <span data-lang="fr">Cas</span>
1580
+ <span data-lang="en">Case</span>
1581
+ </th>
1582
+ <th>Version</th>
1583
+ <th>
1584
+ <span data-lang="fr">Declencheur</span>
1585
+ <span data-lang="en">Trigger</span>
1586
+ </th>
1587
+ </tr>
1588
+ </thead>
1589
+ <tbody>
1590
+ <tr>
1591
+ <td>
1592
+ <span data-lang="fr">Nouvelle feature</span>
1593
+ <span data-lang="en">New feature</span>
1594
+ </td>
1595
+ <td><code>v1.0</code></td>
1596
+ <td><code>/business-analyse Order module</code></td>
1597
+ </tr>
1598
+ <tr>
1599
+ <td>
1600
+ <span data-lang="fr">Refactoring mineur</span>
1601
+ <span data-lang="en">Minor refactoring</span>
1602
+ </td>
1603
+ <td><code>v1.1</code>, <code>v1.2</code>...</td>
1604
+ <td><code>/business-analyse -r FEAT-001 "Add PDF export"</code></td>
1605
+ </tr>
1606
+ <tr>
1607
+ <td>
1608
+ <span data-lang="fr">Revision majeure</span>
1609
+ <span data-lang="en">Major revision</span>
1610
+ </td>
1611
+ <td><code>v2.0</code></td>
1612
+ <td>
1613
+ <span data-lang="fr">Changement d'architecture ou de perimetre</span>
1614
+ <span data-lang="en">Architecture or scope change</span>
1615
+ </td>
1616
+ </tr>
1617
+ </tbody>
1618
+ </table>
1619
+ </div>
1620
+
1621
+ <div class="code-block">
1622
+ <button class="copy-btn">Copy</button>
1623
+ <pre><code>docs/business/{app}/{module}/business-analyse/
1624
+ ├── v1.0/feature.json # Initial version
1625
+ ├── v1.1/feature.json # Delta: "Add PDF export" (previousVersion: v1.0)
1626
+ ├── v1.2/feature.json # Delta: "Add bulk import" (previousVersion: v1.1)
1627
+ └── v2.0/feature.json # Major revision</code></pre>
1628
+ </div>
1629
+
1630
+ <p data-lang="fr">
1631
+ En mode refactoring (<code>-r</code>), le <code>feature.json</code> de la version delta contient un champ <code>previousVersion</code> et un <code>changeReason</code> pour tracer l'evolution.
1632
+ </p>
1633
+ <p data-lang="en">
1634
+ In refactoring mode (<code>-r</code>), the delta version's <code>feature.json</code> contains a <code>previousVersion</code> and <code>changeReason</code> field to track evolution.
1635
+ </p>
1636
+ </section>
1637
+
1638
+ <!-- ============================================ -->
1639
+ <!-- AGENTS -->
1640
+ <!-- ============================================ -->
1641
+ <section id="agents">
1642
+ <h2>Agents</h2>
1643
+
1644
+ <p data-lang="fr">
1645
+ Le skill Business Analyse utilise des agents specialises pour la gestion du <code>feature.json</code>.
1646
+ </p>
1647
+ <p data-lang="en">
1648
+ The Business Analyse skill uses specialized agents for <code>feature.json</code> management.
1649
+ </p>
1650
+
1651
+ <div class="table-container">
1652
+ <table class="reference-table">
1653
+ <thead>
1654
+ <tr>
1655
+ <th>Agent</th>
1656
+ <th>
1657
+ <span data-lang="fr">Role</span>
1658
+ <span data-lang="en">Role</span>
1659
+ </th>
1660
+ <th>
1661
+ <span data-lang="fr">Methodes principales</span>
1662
+ <span data-lang="en">Key methods</span>
1663
+ </th>
1664
+ <th>
1665
+ <span data-lang="fr">Utilise dans</span>
1666
+ <span data-lang="en">Used in</span>
1667
+ </th>
1668
+ </tr>
1669
+ </thead>
1670
+ <tbody>
1671
+ <tr>
1672
+ <td><strong>ba-writer</strong></td>
1673
+ <td>
1674
+ <span data-lang="fr">Ecrit et met a jour le feature.json</span>
1675
+ <span data-lang="en">Writes and updates feature.json</span>
1676
+ </td>
1677
+ <td><code>createFeature</code>, <code>enrichSection</code>, <code>updateStatus</code>, <code>createVersion</code></td>
1678
+ <td>
1679
+ <span data-lang="fr">Toutes les etapes (00-04)</span>
1680
+ <span data-lang="en">All steps (00-04)</span>
1681
+ </td>
1682
+ </tr>
1683
+ <tr>
1684
+ <td><strong>ba-reader</strong></td>
1685
+ <td>
1686
+ <span data-lang="fr">Lit le feature.json pour le contexte</span>
1687
+ <span data-lang="en">Reads feature.json for context</span>
1688
+ </td>
1689
+ <td><code>findFeature</code>, <code>readSection</code>, <code>answerQuestion</code>, <code>getSummaryForSkill</code></td>
1690
+ <td>
1691
+ <span data-lang="fr">Toutes les etapes (00-04) + mode -q</span>
1692
+ <span data-lang="en">All steps (00-04) + -q mode</span>
1693
+ </td>
1694
+ </tr>
1695
+ </tbody>
1696
+ </table>
1697
+ </div>
1698
+
1699
+ <div class="alert alert-info">
1700
+ <span class="alert-icon">&#129302;</span>
1701
+ <div class="alert-content">
1702
+ <h5 data-lang="fr">Mode economique</h5>
1703
+ <h5 data-lang="en">Economy mode</h5>
1255
1704
  <p data-lang="fr">
1256
- Documenter une demande de changement formal pendant le developpement.
1705
+ En mode <code>-e</code>, les sous-agents d'exploration (recherche codebase) sont desactives. Seuls <code>ba-writer</code> et <code>ba-reader</code> restent actifs. Les recherches utilisent directement Glob/Grep.
1257
1706
  </p>
1258
1707
  <p data-lang="en">
1259
- Document a formal change request during development.
1708
+ In <code>-e</code> mode, exploration subagents (codebase search) are disabled. Only <code>ba-writer</code> and <code>ba-reader</code> remain active. Searches use Glob/Grep directly.
1260
1709
  </p>
1261
- <div class="code-block">
1262
- <button class="copy-btn">Copy</button>
1263
- <pre><code>/business-analyse change-request [change-description]</code></pre>
1264
- </div>
1265
1710
  </div>
1266
1711
  </div>
1267
1712
  </section>
1268
1713
 
1269
- <!-- Agents -->
1270
- <section id="agents">
1714
+ <!-- ============================================ -->
1715
+ <!-- OUTPUT -->
1716
+ <!-- ============================================ -->
1717
+ <section id="output">
1271
1718
  <h2>
1272
- <span data-lang="fr">Agents specialises</span>
1273
- <span data-lang="en">Specialized Agents</span>
1719
+ <span data-lang="fr">Sorties</span>
1720
+ <span data-lang="en">Output</span>
1274
1721
  </h2>
1275
1722
 
1276
- <table class="reference-table">
1277
- <thead>
1278
- <tr>
1279
- <th>Agent</th>
1280
- <th>Mission</th>
1281
- <th>
1282
- <span data-lang="fr">Utilise en</span>
1283
- <span data-lang="en">Used in</span>
1284
- </th>
1285
- </tr>
1286
- </thead>
1287
- <tbody>
1288
- <tr style="background: rgba(139, 92, 246, 0.1);">
1289
- <td><code>ba-similarity</code></td>
1290
- <td>
1291
- <span data-lang="fr">Detecte les features similaires ou doublons</span>
1292
- <span data-lang="en">Detects similar features or duplicates</span>
1293
- </td>
1294
- <td>Phase 2</td>
1295
- </tr>
1296
- <tr>
1297
- <td><code>explore-api</code></td>
1298
- <td>
1299
- <span data-lang="fr">Endpoints, controllers, DTOs, patterns API</span>
1300
- <span data-lang="en">Endpoints, controllers, DTOs, API patterns</span>
1301
- </td>
1302
- <td>Phase 3</td>
1303
- </tr>
1304
- <tr>
1305
- <td><code>explore-schema</code></td>
1306
- <td>
1307
- <span data-lang="fr">Schema DB, entites, configurations</span>
1308
- <span data-lang="en">DB schema, entities, configurations</span>
1309
- </td>
1310
- <td>Phase 3</td>
1311
- </tr>
1312
- <tr>
1313
- <td><code>explore-permissions</code></td>
1314
- <td>
1315
- <span data-lang="fr">RBAC, roles, autorisations</span>
1316
- <span data-lang="en">RBAC, roles, authorizations</span>
1317
- </td>
1318
- <td>Phase 3</td>
1319
- </tr>
1320
- <tr>
1321
- <td><code>explore-navigation</code></td>
1322
- <td>
1323
- <span data-lang="fr">Menus, routes, pages</span>
1324
- <span data-lang="en">Menus, routes, pages</span>
1325
- </td>
1326
- <td>Phase 3</td>
1327
- </tr>
1328
- <tr>
1329
- <td><code>explore-theme</code></td>
1330
- <td>
1331
- <span data-lang="fr">UI patterns, composants, design system</span>
1332
- <span data-lang="en">UI patterns, components, design system</span>
1333
- </td>
1334
- <td>Phase 3</td>
1335
- </tr>
1336
- </tbody>
1337
- </table>
1338
- </section>
1339
-
1340
- <!-- Files -->
1341
- <section id="files">
1342
- <h2>
1343
- <span data-lang="fr">Structure des fichiers</span>
1344
- <span data-lang="en">File Structure</span>
1345
- </h2>
1346
-
1347
- <div class="code-block">
1348
- <button class="copy-btn">Copy</button>
1349
- <pre><code>.claude/ba/
1350
- └── [feature-name]/
1351
- ├── 01-business-requirements.md # Phase 2: DISCOVER
1352
- ├── 02-enriched-requirements.md # Phase 3: ANALYSE
1353
- ├── 03-functional-spec.md # Phase 4: SPECIFY
1354
- ├── 04-feedback-v1.md # Phase 5: VALIDATE (si changes)
1355
- ├── 04-feedback-v2.md # (iterations)
1356
- ├── 05-implementation-brief.md # Phase 6: HANDOFF
1357
- └── 06-documentation.html # Phase 7: DOC-HTML</code></pre>
1358
- </div>
1723
+ <h4 data-lang="fr">Fichiers produits</h4>
1724
+ <h4 data-lang="en">Produced files</h4>
1359
1725
 
1360
1726
  <div class="table-container">
1361
- <table>
1727
+ <table class="reference-table">
1362
1728
  <thead>
1363
1729
  <tr>
1364
1730
  <th>
1365
1731
  <span data-lang="fr">Fichier</span>
1366
1732
  <span data-lang="en">File</span>
1367
1733
  </th>
1734
+ <th>
1735
+ <span data-lang="fr">Emplacement</span>
1736
+ <span data-lang="en">Location</span>
1737
+ </th>
1368
1738
  <th>
1369
1739
  <span data-lang="fr">Genere par</span>
1370
1740
  <span data-lang="en">Generated by</span>
1371
1741
  </th>
1372
1742
  <th>
1373
- <span data-lang="fr">Lu par</span>
1374
- <span data-lang="en">Read by</span>
1743
+ <span data-lang="fr">Contenu</span>
1744
+ <span data-lang="en">Content</span>
1375
1745
  </th>
1376
1746
  </tr>
1377
1747
  </thead>
1378
1748
  <tbody>
1379
1749
  <tr>
1380
- <td><code>01-business-requirements.md</code></td>
1381
- <td>Phase 2</td>
1382
- <td>Phase 3, 4</td>
1750
+ <td><strong>feature.json</strong></td>
1751
+ <td><code>docs/business/{app}/{module}/business-analyse/v{X.Y}/</code></td>
1752
+ <td>
1753
+ <span data-lang="fr">Toutes les etapes</span>
1754
+ <span data-lang="en">All steps</span>
1755
+ </td>
1756
+ <td>
1757
+ <span data-lang="fr">Source unique de verite &mdash; enrichi progressivement</span>
1758
+ <span data-lang="en">Single source of truth &mdash; progressively enriched</span>
1759
+ </td>
1760
+ </tr>
1761
+ <tr>
1762
+ <td><strong>prd.json</strong></td>
1763
+ <td><code>.ralph/prd.json</code></td>
1764
+ <td>Step 04</td>
1765
+ <td>
1766
+ <span data-lang="fr">Decomposition en 15 taches sur 9 couches (schema v2.0.0)</span>
1767
+ <span data-lang="en">Breakdown into 15 tasks across 9 layers (v2.0.0 schema)</span>
1768
+ </td>
1769
+ </tr>
1770
+ <tr>
1771
+ <td><strong>progress.txt</strong></td>
1772
+ <td><code>.ralph/progress.txt</code></td>
1773
+ <td>Step 04</td>
1774
+ <td>
1775
+ <span data-lang="fr">Suivi de progression avec template de mise a jour quotidienne</span>
1776
+ <span data-lang="en">Progress tracker with daily update template</span>
1777
+ </td>
1778
+ </tr>
1779
+ </tbody>
1780
+ </table>
1781
+ </div>
1782
+
1783
+ <h4 data-lang="fr">Templates et schemas</h4>
1784
+ <h4 data-lang="en">Templates and schemas</h4>
1785
+
1786
+ <div class="table-container">
1787
+ <table class="reference-table">
1788
+ <thead>
1789
+ <tr>
1790
+ <th>
1791
+ <span data-lang="fr">Fichier</span>
1792
+ <span data-lang="en">File</span>
1793
+ </th>
1794
+ <th>
1795
+ <span data-lang="fr">Objectif</span>
1796
+ <span data-lang="en">Purpose</span>
1797
+ </th>
1798
+ <th>
1799
+ <span data-lang="fr">Utilise dans</span>
1800
+ <span data-lang="en">Used in</span>
1801
+ </th>
1383
1802
  </tr>
1803
+ </thead>
1804
+ <tbody>
1384
1805
  <tr>
1385
- <td><code>02-enriched-requirements.md</code></td>
1386
- <td>Phase 3</td>
1387
- <td>Phase 4</td>
1806
+ <td><code>schemas/feature-schema.json</code></td>
1807
+ <td>
1808
+ <span data-lang="fr">Schema de validation JSON (JSON Schema 2020-12)</span>
1809
+ <span data-lang="en">JSON validation schema (JSON Schema 2020-12)</span>
1810
+ </td>
1811
+ <td>
1812
+ <span data-lang="fr">Toutes les etapes</span>
1813
+ <span data-lang="en">All steps</span>
1814
+ </td>
1388
1815
  </tr>
1389
1816
  <tr>
1390
- <td><code>03-functional-spec.md</code></td>
1391
- <td>Phase 4</td>
1817
+ <td><code>templates/tpl-frd.md</code></td>
1392
1818
  <td>
1393
- <span data-lang="fr">Humain (validation), Phase 6</span>
1394
- <span data-lang="en">Human (validation), Phase 6</span>
1819
+ <span data-lang="fr">Template de specification fonctionnelle (reference)</span>
1820
+ <span data-lang="en">Functional requirements document template (reference)</span>
1395
1821
  </td>
1822
+ <td>Step 02</td>
1396
1823
  </tr>
1397
1824
  <tr>
1398
- <td><code>04-feedback-v[N].md</code></td>
1399
- <td>Phase 5</td>
1400
- <td>Phase 4 (iterations)</td>
1825
+ <td><code>templates/tpl-handoff.md</code></td>
1826
+ <td>
1827
+ <span data-lang="fr">Template de handoff developpement (reference)</span>
1828
+ <span data-lang="en">Development handoff template (reference)</span>
1829
+ </td>
1830
+ <td>Step 04</td>
1401
1831
  </tr>
1402
1832
  <tr>
1403
- <td><code>05-implementation-brief.md</code></td>
1404
- <td>Phase 6</td>
1405
- <td><code>/implement</code></td>
1833
+ <td><code>patterns/suggestion-catalog.md</code></td>
1834
+ <td>
1835
+ <span data-lang="fr">Catalogue de suggestions proactives</span>
1836
+ <span data-lang="en">Proactive suggestions catalog</span>
1837
+ </td>
1838
+ <td>Step 01</td>
1406
1839
  </tr>
1407
1840
  <tr>
1408
- <td><code>06-documentation.html</code></td>
1409
- <td>Phase 7</td>
1841
+ <td><code>questionnaire/*.md</code></td>
1410
1842
  <td>
1411
- <span data-lang="fr">Reference et partage</span>
1412
- <span data-lang="en">Reference &amp; sharing</span>
1843
+ <span data-lang="fr">13 categories de questionnaire</span>
1844
+ <span data-lang="en">13 questionnaire categories</span>
1413
1845
  </td>
1846
+ <td>Step 01</td>
1414
1847
  </tr>
1415
1848
  </tbody>
1416
1849
  </table>
1417
1850
  </div>
1418
1851
  </section>
1419
1852
 
1420
- <!-- Complete Example -->
1853
+ <!-- ============================================ -->
1854
+ <!-- EXAMPLE -->
1855
+ <!-- ============================================ -->
1421
1856
  <section id="example">
1422
1857
  <h2>
1423
1858
  <span data-lang="fr">Exemple complet</span>
1424
- <span data-lang="en">Complete Example</span>
1859
+ <span data-lang="en">Complete example</span>
1425
1860
  </h2>
1426
1861
 
1862
+ <h4 data-lang="fr">Nouvelle feature : Module Commandes</h4>
1863
+ <h4 data-lang="en">New feature: Orders Module</h4>
1864
+
1427
1865
  <div class="code-block">
1428
1866
  <button class="copy-btn">Copy</button>
1429
- <pre><code># Option 1: Mode automatique complet
1430
- /business-analyse Je veux gerer les utilisateurs avec des roles
1431
-
1432
- # → Phase 0 orchestre tout automatiquement
1433
- # → Phases 1-7 s'executent en sequence
1434
- # → Cree tous les fichiers et la documentation
1435
-
1436
- ---
1437
-
1438
- # Option 2: Phases individuelles pour plus de controle
1439
-
1440
- # Phase 1: Initialiser la structure
1441
- /business-analyse 1-init user-management
1442
-
1443
- # Phase 2: Decouvrir le besoin
1444
- /business-analyse 2-discover Je veux gerer les utilisateurs avec des roles
1445
-
1446
- # → Questions d'elicitation posees
1447
- # → Agent ba-similarity verifie les doublons
1448
- # → Cree: .claude/ba/user-management/01-business-requirements.md
1449
-
1450
- # Phase 3: Analyser et enrichir
1451
- /business-analyse 3-analyse user-management
1452
-
1453
- # → Fusionne besoin + contexte technique
1454
- # → Identifie gaps et conflits
1455
- # → Cree: .claude/ba/user-management/02-enriched-requirements.md
1456
-
1457
- # Phase 4: Specifier (FRD)
1458
- /business-analyse 4-specify user-management --plantuml
1459
-
1460
- # → Genere le FRD complet avec diagrammes
1461
- # → Cree: .claude/ba/user-management/03-functional-spec.md
1867
+ <pre><code>/business-analyse Order management module</code></pre>
1868
+ </div>
1462
1869
 
1463
- # Phase 5: Valider avec l'utilisateur
1464
- /business-analyse 5-validate user-management
1870
+ <div class="steps-list">
1871
+ <div class="step-item">
1872
+ <div class="step-number">00</div>
1873
+ <div class="step-content">
1874
+ <strong>Init</strong> &mdash;
1875
+ <span data-lang="fr">Parse flags, cree <code>FEAT-001</code>, initialise <code>feature.json</code> (v1.0, status: draft)</span>
1876
+ <span data-lang="en">Parse flags, create <code>FEAT-001</code>, initialize <code>feature.json</code> (v1.0, status: draft)</span>
1877
+ </div>
1878
+ </div>
1879
+ <div class="step-item">
1880
+ <div class="step-number">01</div>
1881
+ <div class="step-content">
1882
+ <strong>Analyse</strong> &mdash;
1883
+ <span data-lang="fr">Type detecte: <code>data-centric</code>. Questionnaire categories 01, 02, 03, 04, 06, 11. Extraction de 12 regles metier, 3 entites, 2 risques. 4 suggestions proactives presentees.</span>
1884
+ <span data-lang="en">Type detected: <code>data-centric</code>. Questionnaire categories 01, 02, 03, 04, 06, 11. Extraction of 12 business rules, 3 entities, 2 risks. 4 proactive suggestions presented.</span>
1885
+ </div>
1886
+ </div>
1887
+ <div class="step-item">
1888
+ <div class="step-number">02</div>
1889
+ <div class="step-content">
1890
+ <strong>Specify</strong> &mdash;
1891
+ <span data-lang="fr">8 UC, 15 FR, matrice permissions 4 roles, 5 SeedData, wireframes List/Create/Detail, 12 scenarios Gherkin, machine a etats (Draft &rarr; Confirmed &rarr; Shipped &rarr; Delivered).</span>
1892
+ <span data-lang="en">8 UCs, 15 FRs, 4-role permission matrix, 5 SeedData, List/Create/Detail wireframes, 12 Gherkin scenarios, state machine (Draft &rarr; Confirmed &rarr; Shipped &rarr; Delivered).</span>
1893
+ </div>
1894
+ </div>
1895
+ <div class="step-item">
1896
+ <div class="step-number">03</div>
1897
+ <div class="step-content">
1898
+ <strong>Validate</strong> &mdash;
1899
+ <span data-lang="fr">Completude OK, coherence OK (8 UC &harr; 15 FR &harr; 12 BR), conventions OK. Decision: <strong>APPROVED</strong>.</span>
1900
+ <span data-lang="en">Completeness OK, consistency OK (8 UCs &harr; 15 FRs &harr; 12 BRs), conventions OK. Decision: <strong>APPROVED</strong>.</span>
1901
+ </div>
1902
+ </div>
1903
+ <div class="step-item">
1904
+ <div class="step-number">04</div>
1905
+ <div class="step-content">
1906
+ <strong>Handoff</strong> &mdash;
1907
+ <span data-lang="fr">Mapping de 25 fichiers (backend + frontend), 8 endpoints API, plan de tests (18 unit, 8 integration, 4 E2E), cles i18n (4 langues). Generation de <code>prd.json</code> (15 taches, ~28h).</span>
1908
+ <span data-lang="en">25 files mapped (backend + frontend), 8 API endpoints, test plan (18 unit, 8 integration, 4 E2E), i18n keys (4 languages). Generated <code>prd.json</code> (15 tasks, ~28h).</span>
1909
+ </div>
1910
+ </div>
1911
+ </div>
1465
1912
 
1466
- # Presente resume pour validation
1467
- # Si APPROVED → Phase 6
1468
- # → Si MAJOR CHANGES → Retour Phase 3
1913
+ <h4 data-lang="fr">Resultat final</h4>
1914
+ <h4 data-lang="en">Final result</h4>
1469
1915
 
1470
- # Phase 6: Generer le brief d'implementation
1471
- /business-analyse 6-handoff user-management
1916
+ <div class="code-block">
1917
+ <button class="copy-btn">Copy</button>
1918
+ <pre><code>docs/business/MyApp/Orders/business-analyse/v1.0/feature.json # Complete BA
1919
+ .ralph/prd.json # 15 tasks for Ralph Loop
1920
+ .ralph/progress.txt # Progress tracker</code></pre>
1921
+ </div>
1472
1922
 
1473
- # Transforme FRD en brief diff-like (anglais)
1474
- # → Cree: .claude/ba/user-management/04-implementation-brief.md
1923
+ <h4 data-lang="fr">Ensuite : Refactoring</h4>
1924
+ <h4 data-lang="en">Next: Refactoring</h4>
1475
1925
 
1476
- # Phase 7: Generer la documentation
1477
- /business-analyse 7-doc-html user-management
1926
+ <div class="code-block">
1927
+ <button class="copy-btn">Copy</button>
1928
+ <pre><code># Ajouter l'export PDF (cree v1.1)
1929
+ /business-analyse -r FEAT-001 "Add PDF export functionality"
1478
1930
 
1479
- # Genere documentation HTML polishe
1480
- # → Cree: .claude/ba/user-management/05-documentation.html
1931
+ # Resultat :
1932
+ docs/business/MyApp/Orders/business-analyse/v1.1/feature.json # Delta version
1933
+ # previousVersion: "1.0", changeReason: "Add PDF export functionality"</code></pre>
1934
+ </div>
1481
1935
 
1482
- # Implementation
1483
- /implement .claude/ba/user-management/04-implementation-brief.md
1936
+ <h4 data-lang="fr">Ensuite : Question</h4>
1937
+ <h4 data-lang="en">Next: Question</h4>
1484
1938
 
1485
- # → Claude Code execute le brief en oneshot</code></pre>
1486
- </div>
1939
+ <div class="code-block">
1940
+ <button class="copy-btn">Copy</button>
1941
+ <pre><code># Interroger la feature existante
1942
+ /business-analyse -q FEAT-001 "What permissions does the manager have?"
1487
1943
 
1488
- <div class="alert alert-info">
1489
- <span class="alert-icon">&#127919;</span>
1490
- <div class="alert-content">
1491
- <h5 data-lang="fr">Conseil</h5>
1492
- <h5 data-lang="en">Pro Tip</h5>
1493
- <p data-lang="fr">
1494
- Les fichiers dans <code>.claude/ba/</code> constituent un historique precieux. Conservez-les pour documenter les evolutions futures et faciliter la maintenance.
1495
- </p>
1496
- <p data-lang="en">
1497
- Files in <code>.claude/ba/</code> are valuable history. Keep them to document future evolutions and facilitate maintenance.
1498
- </p>
1499
- </div>
1944
+ # Reponse textuelle depuis feature.json → EXIT (aucun fichier modifie)</code></pre>
1500
1945
  </div>
1501
1946
  </section>
1502
1947