@atlashub/smartstack-cli 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.documentation/agents.html +912 -0
  2. package/.documentation/apex.html +1014 -0
  3. package/.documentation/business-analyse.html +1074 -0
  4. package/.documentation/commands.html +676 -0
  5. package/.documentation/css/styles.css +2030 -0
  6. package/.documentation/efcore.html +2501 -0
  7. package/.documentation/gitflow.html +2053 -0
  8. package/.documentation/hooks.html +409 -0
  9. package/.documentation/index.html +319 -0
  10. package/.documentation/installation.html +458 -0
  11. package/.documentation/js/app.js +794 -0
  12. package/.documentation/test-web.html +509 -0
  13. package/README.md +90 -0
  14. package/config/default-config.json +86 -0
  15. package/config/settings.json +53 -0
  16. package/config/settings.local.example.json +16 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +38198 -0
  19. package/dist/index.js.map +1 -0
  20. package/package.json +86 -0
  21. package/templates/agents/action.md +36 -0
  22. package/templates/agents/efcore/conflicts.md +57 -0
  23. package/templates/agents/efcore/db-deploy.md +51 -0
  24. package/templates/agents/efcore/db-reset.md +59 -0
  25. package/templates/agents/efcore/db-seed.md +56 -0
  26. package/templates/agents/efcore/db-status.md +43 -0
  27. package/templates/agents/efcore/migration.md +85 -0
  28. package/templates/agents/efcore/rebase-snapshot.md +62 -0
  29. package/templates/agents/efcore/scan.md +60 -0
  30. package/templates/agents/efcore/squash.md +67 -0
  31. package/templates/agents/explore-codebase.md +65 -0
  32. package/templates/agents/explore-docs.md +97 -0
  33. package/templates/agents/fix-grammar.md +49 -0
  34. package/templates/agents/gitflow/abort.md +45 -0
  35. package/templates/agents/gitflow/cleanup.md +85 -0
  36. package/templates/agents/gitflow/commit.md +40 -0
  37. package/templates/agents/gitflow/exec.md +48 -0
  38. package/templates/agents/gitflow/finish.md +92 -0
  39. package/templates/agents/gitflow/init.md +139 -0
  40. package/templates/agents/gitflow/merge.md +62 -0
  41. package/templates/agents/gitflow/plan.md +42 -0
  42. package/templates/agents/gitflow/pr.md +78 -0
  43. package/templates/agents/gitflow/review.md +49 -0
  44. package/templates/agents/gitflow/start.md +61 -0
  45. package/templates/agents/gitflow/status.md +32 -0
  46. package/templates/agents/snipper.md +36 -0
  47. package/templates/agents/websearch.md +46 -0
  48. package/templates/commands/_resources/formatting-guide.md +124 -0
  49. package/templates/commands/ai-prompt.md +315 -0
  50. package/templates/commands/apex/1-analyze.md +100 -0
  51. package/templates/commands/apex/2-plan.md +145 -0
  52. package/templates/commands/apex/3-execute.md +171 -0
  53. package/templates/commands/apex/4-examine.md +116 -0
  54. package/templates/commands/apex/5-tasks.md +209 -0
  55. package/templates/commands/apex.md +76 -0
  56. package/templates/commands/application/create.md +362 -0
  57. package/templates/commands/application/templates-backend.md +463 -0
  58. package/templates/commands/application/templates-frontend.md +517 -0
  59. package/templates/commands/application/templates-i18n.md +478 -0
  60. package/templates/commands/application/templates-seed.md +362 -0
  61. package/templates/commands/application.md +303 -0
  62. package/templates/commands/business-analyse/1-init.md +269 -0
  63. package/templates/commands/business-analyse/2-discover.md +520 -0
  64. package/templates/commands/business-analyse/3-analyse.md +408 -0
  65. package/templates/commands/business-analyse/4-specify.md +598 -0
  66. package/templates/commands/business-analyse/5-validate.md +326 -0
  67. package/templates/commands/business-analyse/6-handoff.md +746 -0
  68. package/templates/commands/business-analyse/7-doc-html.md +602 -0
  69. package/templates/commands/business-analyse/bug.md +325 -0
  70. package/templates/commands/business-analyse/change-request.md +368 -0
  71. package/templates/commands/business-analyse/hotfix.md +200 -0
  72. package/templates/commands/business-analyse.md +559 -0
  73. package/templates/commands/controller/create.md +216 -0
  74. package/templates/commands/controller/postman-templates.md +528 -0
  75. package/templates/commands/controller/templates.md +600 -0
  76. package/templates/commands/controller.md +278 -0
  77. package/templates/commands/debug.md +95 -0
  78. package/templates/commands/documentation/module.md +202 -0
  79. package/templates/commands/documentation/templates.md +432 -0
  80. package/templates/commands/documentation.md +190 -0
  81. package/templates/commands/efcore/_env-check.md +153 -0
  82. package/templates/commands/efcore/conflicts.md +269 -0
  83. package/templates/commands/efcore/db-deploy.md +193 -0
  84. package/templates/commands/efcore/db-reset.md +426 -0
  85. package/templates/commands/efcore/db-seed.md +326 -0
  86. package/templates/commands/efcore/db-status.md +214 -0
  87. package/templates/commands/efcore/migration.md +388 -0
  88. package/templates/commands/efcore/rebase-snapshot.md +264 -0
  89. package/templates/commands/efcore/scan.md +202 -0
  90. package/templates/commands/efcore/squash.md +298 -0
  91. package/templates/commands/efcore.md +176 -0
  92. package/templates/commands/epct.md +69 -0
  93. package/templates/commands/explain.md +186 -0
  94. package/templates/commands/explore.md +45 -0
  95. package/templates/commands/feature-full.md +267 -0
  96. package/templates/commands/gitflow/1-init.md +1038 -0
  97. package/templates/commands/gitflow/10-start.md +768 -0
  98. package/templates/commands/gitflow/11-finish.md +323 -0
  99. package/templates/commands/gitflow/12-cleanup.md +276 -0
  100. package/templates/commands/gitflow/13-sync.md +216 -0
  101. package/templates/commands/gitflow/14-rebase.md +251 -0
  102. package/templates/commands/gitflow/2-status.md +167 -0
  103. package/templates/commands/gitflow/3-commit.md +194 -0
  104. package/templates/commands/gitflow/4-plan.md +145 -0
  105. package/templates/commands/gitflow/5-exec.md +147 -0
  106. package/templates/commands/gitflow/6-abort.md +344 -0
  107. package/templates/commands/gitflow/7-pull-request.md +226 -0
  108. package/templates/commands/gitflow/8-review.md +176 -0
  109. package/templates/commands/gitflow/9-merge.md +224 -0
  110. package/templates/commands/gitflow.md +128 -0
  111. package/templates/commands/implement.md +663 -0
  112. package/templates/commands/notification.md +129 -0
  113. package/templates/commands/oneshot.md +57 -0
  114. package/templates/commands/quick-search.md +72 -0
  115. package/templates/commands/review.md +106 -0
  116. package/templates/commands/utils/test-web-config.md +160 -0
  117. package/templates/commands/utils/test-web.md +151 -0
  118. package/templates/commands/workflow.md +193 -0
  119. package/templates/gitflow/config.json +138 -0
  120. package/templates/hooks/ef-migration-check.md +139 -0
  121. package/templates/hooks/hooks.json +15 -0
  122. package/templates/skills/ai-prompt/SKILL.md +778 -0
  123. package/templates/skills/application/SKILL.md +563 -0
  124. package/templates/skills/application/templates-backend.md +450 -0
  125. package/templates/skills/application/templates-frontend.md +531 -0
  126. package/templates/skills/application/templates-i18n.md +520 -0
  127. package/templates/skills/application/templates-seed.md +647 -0
  128. package/templates/skills/business-analyse/SKILL.md +191 -0
  129. package/templates/skills/business-analyse/questionnaire.md +283 -0
  130. package/templates/skills/business-analyse/templates-frd.md +477 -0
  131. package/templates/skills/business-analyse/templates-react.md +580 -0
  132. package/templates/skills/controller/SKILL.md +240 -0
  133. package/templates/skills/controller/postman-templates.md +614 -0
  134. package/templates/skills/controller/templates.md +1468 -0
  135. package/templates/skills/documentation/SKILL.md +133 -0
  136. package/templates/skills/documentation/templates.md +476 -0
  137. package/templates/skills/feature-full/SKILL.md +838 -0
  138. package/templates/skills/notification/SKILL.md +555 -0
  139. package/templates/skills/ui-components/SKILL.md +870 -0
  140. package/templates/skills/workflow/SKILL.md +582 -0
  141. package/templates/test-web/api-health.json +38 -0
  142. package/templates/test-web/minimal.json +19 -0
  143. package/templates/test-web/npm-package.json +46 -0
  144. package/templates/test-web/seo-check.json +54 -0
@@ -0,0 +1,325 @@
1
+ ---
2
+ description: Bug resolution documentation and specification (ULTRATHINK)
3
+ agent: ba-bug
4
+ model: sonnet
5
+ ---
6
+
7
+ # Documentation Bug - Business Analyse
8
+
9
+ > **Modèle:** Sonnet (analyse root cause)
10
+ > **Output:** `.business-analyse/.../tracking/bugs/BUG-XXX.md`
11
+
12
+ ---
13
+
14
+ ## QUAND UTILISER
15
+
16
+ ```
17
+ ╔══════════════════════════════════════════════════════════════════════════════╗
18
+ ║ DOCUMENTATION BUG: Traçabilité et analyse structurée ║
19
+ ╠══════════════════════════════════════════════════════════════════════════════╣
20
+ ║ ║
21
+ ║ Utiliser cette commande pour: ║
22
+ ║ • Documenter un bug découvert après implémentation ║
23
+ ║ • Analyser la root cause ║
24
+ ║ • Créer un prompt de correction pour Claude ║
25
+ ║ • Maintenir la traçabilité vers les specs (FR/BR impactés) ║
26
+ ║ ║
27
+ ║ NE PAS utiliser pour: ║
28
+ ║ • Hotfix urgent (utiliser /business-analyse:hotfix) ║
29
+ ║ • Changement de scope (utiliser /business-analyse:change-request) ║
30
+ ║ ║
31
+ ╚══════════════════════════════════════════════════════════════════════════════╝
32
+ ```
33
+
34
+ ---
35
+
36
+ ## STEP 1: Collecte des informations
37
+
38
+ ```javascript
39
+ AskUserQuestion({
40
+ questions: [
41
+ {
42
+ question: "Quelle feature est impactée par ce bug?",
43
+ header: "Feature",
44
+ options: [
45
+ { label: "Feature existante", description: "Bug sur une feature documentée" },
46
+ { label: "Nouvelle", description: "Bug sur code non documenté en BA" }
47
+ ],
48
+ multiSelect: false
49
+ },
50
+ {
51
+ question: "Quelle est la sévérité du bug?",
52
+ header: "Sévérité",
53
+ options: [
54
+ { label: "Critique", description: "Bloque l'utilisation, perte de données" },
55
+ { label: "Majeur", description: "Fonctionnalité principale impactée" },
56
+ { label: "Mineur", description: "Workaround possible" },
57
+ { label: "Cosmétique", description: "UI/UX, pas d'impact fonctionnel" }
58
+ ],
59
+ multiSelect: false
60
+ },
61
+ {
62
+ question: "Le bug est-il reproductible?",
63
+ header: "Repro",
64
+ options: [
65
+ { label: "Toujours", description: "100% reproductible" },
66
+ { label: "Souvent", description: ">50% du temps" },
67
+ { label: "Parfois", description: "<50% du temps" },
68
+ { label: "Rarement", description: "Difficile à reproduire" }
69
+ ],
70
+ multiSelect: false
71
+ }
72
+ ]
73
+ })
74
+ ```
75
+
76
+ ---
77
+
78
+ ## STEP 2: Générer Bug ID
79
+
80
+ ```bash
81
+ FEATURE_ID=$1 # Optionnel
82
+ DATE=$(date +%Y%m%d)
83
+
84
+ # Lire le dernier bug ID
85
+ LAST_BUG_ID=$(find .business-analyse -name "BUG-*.md" | grep -oP 'BUG-\K\d+' | sort -n | tail -1 || echo "0")
86
+ NEW_BUG_ID=$(printf "%03d" $((LAST_BUG_ID + 1)))
87
+ BUG_ID="BUG-$NEW_BUG_ID"
88
+
89
+ # Déterminer le dossier
90
+ if [ -n "$FEATURE_ID" ]; then
91
+ FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
92
+ BUG_DIR="$FEATURE_DIR/tracking/bugs"
93
+ else
94
+ BUG_DIR=".business-analyse/tracking/bugs"
95
+ fi
96
+
97
+ mkdir -p "$BUG_DIR"
98
+ ```
99
+
100
+ ---
101
+
102
+ ## STEP 3: Collecte détaillée
103
+
104
+ Demander à l'utilisateur:
105
+
106
+ 1. **Description du bug** (comportement observé vs attendu)
107
+ 2. **Étapes de reproduction**
108
+ 3. **Environnement** (browser, OS, données de test)
109
+ 4. **Screenshots/logs** si disponibles
110
+
111
+ ---
112
+
113
+ ## STEP 4: Analyse root cause
114
+
115
+ ```
116
+ ╔══════════════════════════════════════════════════════════════════════════════╗
117
+ ║ ANALYSE ROOT CAUSE (5 WHYS) ║
118
+ ╠══════════════════════════════════════════════════════════════════════════════╣
119
+ ║ ║
120
+ ║ 1. POURQUOI le bug se produit? ║
121
+ ║ → {réponse niveau 1} ║
122
+ ║ ║
123
+ ║ 2. POURQUOI {réponse niveau 1}? ║
124
+ ║ → {réponse niveau 2} ║
125
+ ║ ║
126
+ ║ 3. POURQUOI {réponse niveau 2}? ║
127
+ ║ → {réponse niveau 3} ║
128
+ ║ ║
129
+ ║ ... jusqu'à identifier la ROOT CAUSE ║
130
+ ║ ║
131
+ ╚══════════════════════════════════════════════════════════════════════════════╝
132
+ ```
133
+
134
+ ---
135
+
136
+ ## STEP 5: Génération du document
137
+
138
+ ### Template BUG-XXX.md
139
+
140
+ ```markdown
141
+ # {BUG_ID} - {Bug Title}
142
+
143
+ > **Feature:** {FEATURE_ID} (si applicable)
144
+ > **Sévérité:** {Critique/Majeur/Mineur/Cosmétique}
145
+ > **Status:** Open
146
+ > **Date:** {YYYY-MM-DD}
147
+
148
+ ---
149
+
150
+ ## 1. Description
151
+
152
+ ### Comportement observé
153
+ {Description précise de ce qui se passe}
154
+
155
+ ### Comportement attendu
156
+ {Ce qui devrait se passer selon les specs}
157
+
158
+ ### Impact
159
+ - Utilisateurs impactés: {qui}
160
+ - Fonctionnalité: {laquelle}
161
+ - Workaround: {existe/n'existe pas}
162
+
163
+ ---
164
+
165
+ ## 2. Reproduction
166
+
167
+ ### Prérequis
168
+ - Environnement: {dev/staging/prod}
169
+ - Rôle utilisateur: {rôle}
170
+ - Données requises: {données de test}
171
+
172
+ ### Étapes
173
+ 1. {Étape 1}
174
+ 2. {Étape 2}
175
+ 3. {Étape 3}
176
+ 4. → Bug observé
177
+
178
+ ### Reproductibilité
179
+ {Toujours/Souvent/Parfois/Rarement}
180
+
181
+ ---
182
+
183
+ ## 3. Analyse
184
+
185
+ ### 3.1 Root Cause Analysis (5 Whys)
186
+
187
+ | # | Question | Réponse |
188
+ |---|----------|---------|
189
+ | 1 | Pourquoi le bug se produit? | {réponse} |
190
+ | 2 | Pourquoi {réponse 1}? | {réponse} |
191
+ | 3 | Pourquoi {réponse 2}? | {réponse} |
192
+ | 4 | Pourquoi {réponse 3}? | {réponse} |
193
+ | 5 | Pourquoi {réponse 4}? | **ROOT CAUSE: {cause}** |
194
+
195
+ ### 3.2 Specs impactées
196
+
197
+ | Type | ID | Description | Impact |
198
+ |------|----|----|--------|
199
+ | Règle métier | BR-XXX | {description} | {comment impacté} |
200
+ | Exigence | FR-XXX | {description} | {comment impacté} |
201
+ | Use Case | UC-XXX | {description} | {comment impacté} |
202
+
203
+ ### 3.3 Code impacté
204
+
205
+ | Fichier | Ligne(s) | Description |
206
+ |---------|----------|-------------|
207
+ | `{path/to/file}` | ~{lines} | {ce qui est incorrect} |
208
+
209
+ ---
210
+
211
+ ## 4. Solution proposée
212
+
213
+ ### 4.1 Correction
214
+
215
+ {Description de la correction à apporter}
216
+
217
+ ### 4.2 Fichiers à modifier
218
+
219
+ | Fichier | Modification |
220
+ |---------|--------------|
221
+ | `{path}` | {description du changement} |
222
+
223
+ ### 4.3 Tests à ajouter
224
+
225
+ ```gherkin
226
+ @bugfix @{BUG_ID}
227
+ Scenario: {BUG_ID} - {description}
228
+ Given {contexte}
229
+ When {action qui causait le bug}
230
+ Then {comportement correct attendu}
231
+ ```
232
+
233
+ ---
234
+
235
+ ## 5. Prompt de correction
236
+
237
+ ```
238
+ CONTEXTE:
239
+ Bug {BUG_ID} à corriger dans le module business/{app}/{module}
240
+
241
+ ROOT CAUSE:
242
+ {root cause identifiée}
243
+
244
+ CORRECTION:
245
+ {description de la correction}
246
+
247
+ FICHIERS À MODIFIER:
248
+ {liste des fichiers}
249
+
250
+ TEST DE VALIDATION:
251
+ Après correction, le scénario Gherkin suivant doit passer:
252
+ {scénario}
253
+ ```
254
+
255
+ ---
256
+
257
+ ## 6. Validation
258
+
259
+ ### Critères d'acceptation
260
+ - [ ] Bug n'est plus reproductible
261
+ - [ ] Tests de régression passent
262
+ - [ ] Nouveau test ajouté pour ce cas
263
+ - [ ] Code review effectué
264
+
265
+ ### Environnements testés
266
+ - [ ] Local
267
+ - [ ] Staging
268
+ - [ ] Production (si applicable)
269
+
270
+ ---
271
+
272
+ ## 7. Prévention
273
+
274
+ ### Comment éviter ce type de bug à l'avenir?
275
+
276
+ | Action | Responsable | Deadline |
277
+ |--------|-------------|----------|
278
+ | {action préventive} | {qui} | {quand} |
279
+
280
+ ---
281
+
282
+ ## Historique
283
+
284
+ | Date | Action | Par |
285
+ |------|--------|-----|
286
+ | {date} | Création | {auteur} |
287
+ | {date} | Analyse | {auteur} |
288
+ | {date} | Correction | {dev} |
289
+ | {date} | Validation | {qa} |
290
+ | {date} | Fermé | {pm} |
291
+ ```
292
+
293
+ ---
294
+
295
+ ## STEP 6: Résumé
296
+
297
+ ```
298
+ ================================================================================
299
+ BUG DOCUMENTÉ - {BUG_ID}
300
+ ================================================================================
301
+
302
+ FICHIER: {BUG_DIR}/{BUG_ID}.md
303
+ FEATURE LIÉE: {FEATURE_ID ou "N/A"}
304
+ SÉVÉRITÉ: {sévérité}
305
+ ROOT CAUSE: {résumé}
306
+
307
+ SPECS IMPACTÉES:
308
+ • BR: {liste ou "Aucune"}
309
+ • FR: {liste ou "Aucune"}
310
+ • UC: {liste ou "Aucune"}
311
+
312
+ ================================================================================
313
+ CORRECTION
314
+ ================================================================================
315
+
316
+ Utilisez le prompt de correction dans la section 5 pour demander
317
+ à Claude de corriger ce bug.
318
+
319
+ Si c'est un hotfix urgent, utilisez:
320
+ /business-analyse:hotfix {BUG_ID}
321
+
322
+ ================================================================================
323
+
324
+ Contact support: support@atlshub.ch
325
+ ```
@@ -0,0 +1,368 @@
1
+ ---
2
+ description: Phase 10 - Change Request - Formal specification change during development
3
+ agent: ba-change-request
4
+ model: sonnet
5
+ ---
6
+
7
+ # Change Request - Modification Post-Handoff
8
+
9
+ > **Modèle:** Sonnet (analyse d'impact)
10
+ > **Usage:** Changement de scope après validation/handoff
11
+ > **Output:** `.business-analyse/.../tracking/changes/CR-FEAT-XXX-NNN.md`
12
+
13
+ ---
14
+
15
+ ## QUAND UTILISER
16
+
17
+ ```
18
+ ╔══════════════════════════════════════════════════════════════════════════════╗
19
+ ║ CHANGE REQUEST: Modification formelle des spécifications ║
20
+ ╠══════════════════════════════════════════════════════════════════════════════╣
21
+ ║ ║
22
+ ║ Utiliser APRÈS validation (phase 5) ou handoff (phase 6) quand: ║
23
+ ║ ║
24
+ ║ • Le stakeholder demande une modification de scope ║
25
+ ║ • Une nouvelle exigence est découverte ║
26
+ ║ • Un cas d'usage manquant est identifié ║
27
+ ║ • Une règle métier doit être modifiée ║
28
+ ║ ║
29
+ ║ PROCESSUS: ║
30
+ ║ 1. Documenter le changement demandé ║
31
+ ║ 2. Analyser l'impact sur les specs existantes ║
32
+ ║ 3. Estimer l'effort ║
33
+ ║ 4. Obtenir approbation ║
34
+ ║ 5. Mettre à jour les documents (avec versioning) ║
35
+ ║ ║
36
+ ╚══════════════════════════════════════════════════════════════════════════════╝
37
+ ```
38
+
39
+ ---
40
+
41
+ ## STEP 1: Identification
42
+
43
+ ```bash
44
+ FEATURE_ID=$1
45
+ FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
46
+
47
+ if [ -z "$FEATURE_DIR" ]; then
48
+ echo "❌ ERREUR: Feature $FEATURE_ID non trouvée"
49
+ exit 1
50
+ fi
51
+
52
+ # Générer CR ID
53
+ EXISTING_CRS=$(find "$FEATURE_DIR/tracking/changes" -name "CR-*.md" 2>/dev/null | wc -l)
54
+ CR_NUM=$(printf "%03d" $((EXISTING_CRS + 1)))
55
+ CR_ID="CR-${FEATURE_ID}-${CR_NUM}"
56
+
57
+ CR_DIR="$FEATURE_DIR/tracking/changes"
58
+ mkdir -p "$CR_DIR"
59
+ ```
60
+
61
+ ---
62
+
63
+ ## STEP 2: Collecte du changement
64
+
65
+ ```javascript
66
+ AskUserQuestion({
67
+ questions: [
68
+ {
69
+ question: "Quel type de changement est demandé?",
70
+ header: "Type",
71
+ options: [
72
+ { label: "Nouvelle fonctionnalité", description: "Ajouter quelque chose de nouveau" },
73
+ { label: "Modification existant", description: "Changer un comportement" },
74
+ { label: "Suppression", description: "Retirer une fonctionnalité" },
75
+ { label: "Clarification", description: "Préciser une spec ambiguë" }
76
+ ],
77
+ multiSelect: false
78
+ },
79
+ {
80
+ question: "Quelle est la priorité de ce changement?",
81
+ header: "Priorité",
82
+ options: [
83
+ { label: "Critique", description: "Bloque la release" },
84
+ { label: "Haute", description: "Important pour le MVP" },
85
+ { label: "Moyenne", description: "Souhaitable" },
86
+ { label: "Basse", description: "Nice-to-have" }
87
+ ],
88
+ multiSelect: false
89
+ },
90
+ {
91
+ question: "Ce changement est-il approuvé par le sponsor?",
92
+ header: "Approbation",
93
+ options: [
94
+ { label: "Oui, approuvé", description: "Sponsor a validé" },
95
+ { label: "En attente", description: "Discussion en cours" },
96
+ { label: "À soumettre", description: "Pas encore discuté" }
97
+ ],
98
+ multiSelect: false
99
+ }
100
+ ]
101
+ })
102
+ ```
103
+
104
+ ---
105
+
106
+ ## STEP 3: Description détaillée
107
+
108
+ Collecter:
109
+ - Description du changement demandé
110
+ - Justification business
111
+ - Demandeur (qui a demandé)
112
+
113
+ ---
114
+
115
+ ## STEP 4: Analyse d'impact
116
+
117
+ ### 4.1 Impact sur les documents
118
+
119
+ Analyser automatiquement les documents existants:
120
+
121
+ ```bash
122
+ # Lire les documents
123
+ DISCOVERY=$(cat "$FEATURE_DIR/1-discovery.md" 2>/dev/null)
124
+ BRD=$(cat "$FEATURE_DIR/2-business-requirements.md" 2>/dev/null)
125
+ FRD=$(cat "$FEATURE_DIR/3-functional-specification.md" 2>/dev/null)
126
+ HANDOFF=$(cat "$FEATURE_DIR/4-development-handoff.md" 2>/dev/null)
127
+
128
+ # Identifier les sections impactées
129
+ echo "Analyse d'impact en cours..."
130
+ ```
131
+
132
+ ### 4.2 Matrice d'impact
133
+
134
+ | Document | Section | Impact | Modification requise |
135
+ |----------|---------|--------|---------------------|
136
+ | Discovery | Périmètre | {Aucun/Mineur/Majeur} | {description} |
137
+ | BRD | Règles métier | {Aucun/Mineur/Majeur} | {description} |
138
+ | FRD | Use Cases | {Aucun/Mineur/Majeur} | {description} |
139
+ | FRD | Wireframes | {Aucun/Mineur/Majeur} | {description} |
140
+ | FRD | Permissions | {Aucun/Mineur/Majeur} | {description} |
141
+ | Handoff | Instructions | {Aucun/Mineur/Majeur} | {description} |
142
+
143
+ ### 4.3 Impact sur le code (si déjà implémenté)
144
+
145
+ | Couche | Fichiers impactés | Type de modification |
146
+ |--------|-------------------|---------------------|
147
+ | Domain | {fichiers} | {ajouter/modifier/supprimer} |
148
+ | Application | {fichiers} | {ajouter/modifier/supprimer} |
149
+ | Infrastructure | {fichiers} | {ajouter/modifier/supprimer} |
150
+ | API | {fichiers} | {ajouter/modifier/supprimer} |
151
+ | Frontend | {fichiers} | {ajouter/modifier/supprimer} |
152
+
153
+ ---
154
+
155
+ ## STEP 5: Estimation effort
156
+
157
+ | Composant | Effort estimé | Complexité |
158
+ |-----------|---------------|------------|
159
+ | Mise à jour specs | {heures} | {Simple/Moyen/Complexe} |
160
+ | Backend | {heures} | {Simple/Moyen/Complexe} |
161
+ | Frontend | {heures} | {Simple/Moyen/Complexe} |
162
+ | Tests | {heures} | {Simple/Moyen/Complexe} |
163
+ | **Total** | **{heures}** | |
164
+
165
+ ---
166
+
167
+ ## STEP 6: Génération du document CR
168
+
169
+ ### Template CR-FEAT-XXX-NNN.md
170
+
171
+ ```markdown
172
+ # {CR_ID} - Change Request
173
+
174
+ > **Feature:** {FEATURE_ID}
175
+ > **Type:** {Nouvelle fonctionnalité/Modification/Suppression/Clarification}
176
+ > **Priorité:** {Critique/Haute/Moyenne/Basse}
177
+ > **Status:** {En attente/Approuvé/Rejeté/Implémenté}
178
+ > **Date:** {YYYY-MM-DD}
179
+
180
+ ---
181
+
182
+ ## 1. Changement demandé
183
+
184
+ ### Description
185
+ {Description détaillée du changement}
186
+
187
+ ### Justification business
188
+ {Pourquoi ce changement est nécessaire}
189
+
190
+ ### Demandeur
191
+ {Nom et rôle du demandeur}
192
+
193
+ ---
194
+
195
+ ## 2. Analyse d'impact
196
+
197
+ ### 2.1 Documents impactés
198
+
199
+ | Document | Version actuelle | Impact | Action |
200
+ |----------|-----------------|--------|--------|
201
+ | 1-discovery.md | 1.0 | {impact} | {action} |
202
+ | 2-brd.md | 1.0 | {impact} | {action} |
203
+ | 3-frd.md | 1.0 | {impact} | {action} |
204
+ | 4-handoff.md | 1.0 | {impact} | {action} |
205
+
206
+ ### 2.2 Specs impactées
207
+
208
+ | Type | ID | Modification |
209
+ |------|----|----|
210
+ | Règle métier | BR-XXX | {Modifier/Ajouter/Supprimer: description} |
211
+ | Use Case | UC-XXX | {Modifier/Ajouter/Supprimer: description} |
212
+ | Exigence | FR-XXX | {Modifier/Ajouter/Supprimer: description} |
213
+
214
+ ### 2.3 Code impacté (si déjà développé)
215
+
216
+ | Fichier | Modification |
217
+ |---------|--------------|
218
+ | `{path}` | {description} |
219
+
220
+ ---
221
+
222
+ ## 3. Effort estimé
223
+
224
+ | Composant | Effort | Risque |
225
+ |-----------|--------|--------|
226
+ | Specs | {heures} | {Faible/Moyen/Élevé} |
227
+ | Backend | {heures} | {Faible/Moyen/Élevé} |
228
+ | Frontend | {heures} | {Faible/Moyen/Élevé} |
229
+ | Tests | {heures} | {Faible/Moyen/Élevé} |
230
+ | **Total** | **{heures}** | |
231
+
232
+ ---
233
+
234
+ ## 4. Décision
235
+
236
+ ### Recommandation
237
+ {Accepter/Rejeter/Reporter} ce changement
238
+
239
+ ### Justification
240
+ {Pourquoi cette recommandation}
241
+
242
+ ### Conditions (si accepté)
243
+ - {Condition 1}
244
+ - {Condition 2}
245
+
246
+ ---
247
+
248
+ ## 5. Approbation
249
+
250
+ | Rôle | Nom | Décision | Date |
251
+ |------|-----|----------|------|
252
+ | Product Owner | {nom} | {Approuvé/Rejeté} | {date} |
253
+ | Tech Lead | {nom} | {Approuvé/Rejeté} | {date} |
254
+
255
+ ---
256
+
257
+ ## 6. Implémentation (si approuvé)
258
+
259
+ ### 6.1 Mise à jour des specs
260
+
261
+ | Document | Nouvelle version | Modifications |
262
+ |----------|-----------------|---------------|
263
+ | 3-frd.md | 1.1 | {description} |
264
+
265
+ ### 6.2 Prompt de modification
266
+
267
+ ```
268
+ CHANGE REQUEST: {CR_ID}
269
+
270
+ CHANGEMENT À IMPLÉMENTER:
271
+ {description du changement}
272
+
273
+ FICHIERS À MODIFIER:
274
+ {liste des fichiers}
275
+
276
+ TESTS À AJOUTER:
277
+ {scénarios Gherkin}
278
+
279
+ VALIDATION:
280
+ {critères de validation}
281
+ ```
282
+
283
+ ---
284
+
285
+ ## 7. Historique
286
+
287
+ | Date | Action | Par |
288
+ |------|--------|-----|
289
+ | {date} | CR créé | {auteur} |
290
+ | {date} | Analyse complétée | {auteur} |
291
+ | {date} | {Approuvé/Rejeté} | {décideur} |
292
+ | {date} | Implémenté | {dev} |
293
+ | {date} | Validé | {qa} |
294
+ ```
295
+
296
+ ---
297
+
298
+ ## STEP 7: Actions post-approbation
299
+
300
+ Si le CR est approuvé:
301
+
302
+ ### 7.1 Mise à jour des documents
303
+
304
+ ```bash
305
+ # Incrémenter version des documents impactés
306
+ # 1.0 → 1.1 pour changement mineur
307
+ # 1.0 → 2.0 pour changement majeur
308
+
309
+ # Ajouter dans l'historique de chaque document:
310
+ # | 1.1 | {date} | BA | CR-FEAT-XXX-001: {description} |
311
+ ```
312
+
313
+ ### 7.2 Options d'implémentation
314
+
315
+ ```javascript
316
+ AskUserQuestion({
317
+ questions: [{
318
+ question: "Comment souhaitez-vous implémenter ce changement?",
319
+ header: "Action",
320
+ options: [
321
+ { label: "Implémentation immédiate", description: "Générer prompt et implémenter maintenant" },
322
+ { label: "Planifier", description: "Ajouter au backlog pour plus tard" },
323
+ { label: "Mettre à jour specs seulement", description: "Modifier les documents, implémenter plus tard" }
324
+ ],
325
+ multiSelect: false
326
+ }]
327
+ })
328
+ ```
329
+
330
+ ---
331
+
332
+ ## STEP 8: Résumé
333
+
334
+ ```
335
+ ================================================================================
336
+ CHANGE REQUEST CRÉÉ - {CR_ID}
337
+ ================================================================================
338
+
339
+ FEATURE: {FEATURE_ID}
340
+ TYPE: {type}
341
+ PRIORITÉ: {priorité}
342
+ STATUS: {status}
343
+
344
+ IMPACT:
345
+ Documents: {N} impactés
346
+ Règles métier: {N} modifiées
347
+ Code: {N} fichiers
348
+
349
+ EFFORT ESTIMÉ: {N} heures
350
+
351
+ ================================================================================
352
+ PROCHAINES ÉTAPES
353
+ ================================================================================
354
+
355
+ SI APPROUVÉ:
356
+ 1. Mettre à jour les specs avec versioning
357
+ 2. Générer prompt de modification
358
+ 3. Implémenter les changements
359
+ 4. Valider et fermer le CR
360
+
361
+ SI REJETÉ:
362
+ 1. Documenter la raison
363
+ 2. Archiver le CR
364
+
365
+ ================================================================================
366
+
367
+ Contact support: support@atlshub.ch
368
+ ```