@atlashub/smartstack-cli 1.5.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.documentation/agents.html +920 -916
- package/.documentation/apex.html +1022 -1018
- package/.documentation/business-analyse.html +1505 -1501
- package/.documentation/commands.html +684 -680
- package/.documentation/css/styles.css +2168 -2168
- package/.documentation/efcore.html +2509 -2505
- package/.documentation/gitflow.html +2622 -2618
- package/.documentation/hooks.html +417 -413
- package/.documentation/index.html +327 -323
- package/.documentation/init.html +565 -0
- package/.documentation/installation.html +548 -462
- package/.documentation/js/app.js +794 -794
- package/.documentation/ralph-loop.html +534 -530
- package/.documentation/test-web.html +517 -513
- package/config/default-config.json +86 -86
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/package.json +88 -88
- package/templates/agents/action.md +36 -36
- package/templates/agents/efcore/conflicts.md +84 -84
- package/templates/agents/efcore/db-deploy.md +51 -51
- package/templates/agents/efcore/db-reset.md +59 -59
- package/templates/agents/efcore/db-seed.md +56 -56
- package/templates/agents/efcore/db-status.md +64 -64
- package/templates/agents/efcore/migration.md +85 -85
- package/templates/agents/efcore/rebase-snapshot.md +62 -62
- package/templates/agents/efcore/scan.md +90 -90
- package/templates/agents/efcore/squash.md +67 -67
- package/templates/agents/explore-codebase.md +65 -65
- package/templates/agents/explore-docs.md +97 -97
- package/templates/agents/fix-grammar.md +49 -49
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +85 -85
- package/templates/agents/gitflow/commit.md +40 -40
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +92 -92
- package/templates/agents/gitflow/init.md +139 -139
- package/templates/agents/gitflow/merge.md +62 -62
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +78 -78
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +61 -61
- package/templates/agents/gitflow/status.md +32 -32
- package/templates/agents/snipper.md +36 -36
- package/templates/agents/websearch.md +46 -46
- package/templates/commands/_resources/formatting-guide.md +124 -124
- package/templates/commands/ai-prompt.md +315 -315
- package/templates/commands/apex/1-analyze.md +100 -100
- package/templates/commands/apex/2-plan.md +145 -145
- package/templates/commands/apex/3-execute.md +171 -171
- package/templates/commands/apex/4-examine.md +116 -116
- package/templates/commands/apex/5-tasks.md +209 -209
- package/templates/commands/apex.md +76 -76
- package/templates/commands/application/create.md +362 -362
- package/templates/commands/application/templates-backend.md +463 -463
- package/templates/commands/application/templates-frontend.md +517 -517
- package/templates/commands/application/templates-i18n.md +478 -478
- package/templates/commands/application/templates-seed.md +362 -362
- package/templates/commands/application.md +303 -303
- package/templates/commands/business-analyse/0-orchestrate.md +640 -640
- package/templates/commands/business-analyse/1-init.md +269 -269
- package/templates/commands/business-analyse/2-discover.md +520 -520
- package/templates/commands/business-analyse/3-analyse.md +408 -408
- package/templates/commands/business-analyse/4-specify.md +598 -598
- package/templates/commands/business-analyse/5-validate.md +326 -326
- package/templates/commands/business-analyse/6-handoff.md +746 -746
- package/templates/commands/business-analyse/7-doc-html.md +602 -602
- package/templates/commands/business-analyse/bug.md +325 -325
- package/templates/commands/business-analyse/change-request.md +368 -368
- package/templates/commands/business-analyse/hotfix.md +200 -200
- package/templates/commands/business-analyse.md +640 -640
- package/templates/commands/controller/create.md +216 -216
- package/templates/commands/controller/postman-templates.md +528 -528
- package/templates/commands/controller/templates.md +600 -600
- package/templates/commands/controller.md +337 -337
- package/templates/commands/create/agent.md +138 -138
- package/templates/commands/create/command.md +166 -166
- package/templates/commands/create/hook.md +234 -234
- package/templates/commands/create/plugin.md +329 -329
- package/templates/commands/create/project.md +507 -507
- package/templates/commands/create/skill.md +199 -199
- package/templates/commands/create.md +220 -220
- package/templates/commands/debug.md +95 -95
- package/templates/commands/documentation/module.md +202 -202
- package/templates/commands/documentation/templates.md +432 -432
- package/templates/commands/documentation.md +190 -190
- package/templates/commands/efcore/_env-check.md +153 -153
- package/templates/commands/efcore/conflicts.md +186 -186
- package/templates/commands/efcore/db-deploy.md +193 -193
- package/templates/commands/efcore/db-reset.md +426 -426
- package/templates/commands/efcore/db-seed.md +326 -326
- package/templates/commands/efcore/db-status.md +226 -226
- package/templates/commands/efcore/migration.md +400 -400
- package/templates/commands/efcore/rebase-snapshot.md +264 -264
- package/templates/commands/efcore/scan.md +198 -198
- package/templates/commands/efcore/squash.md +298 -298
- package/templates/commands/efcore.md +224 -224
- package/templates/commands/epct.md +69 -69
- package/templates/commands/explain.md +186 -186
- package/templates/commands/explore.md +45 -45
- package/templates/commands/feature-full.md +267 -267
- package/templates/commands/gitflow/1-init.md +1038 -1038
- package/templates/commands/gitflow/10-start.md +768 -768
- package/templates/commands/gitflow/11-finish.md +457 -457
- package/templates/commands/gitflow/12-cleanup.md +276 -276
- package/templates/commands/gitflow/13-sync.md +216 -216
- package/templates/commands/gitflow/14-rebase.md +251 -251
- package/templates/commands/gitflow/2-status.md +277 -277
- package/templates/commands/gitflow/3-commit.md +344 -344
- package/templates/commands/gitflow/4-plan.md +145 -145
- package/templates/commands/gitflow/5-exec.md +147 -147
- package/templates/commands/gitflow/6-abort.md +344 -344
- package/templates/commands/gitflow/7-pull-request.md +453 -355
- package/templates/commands/gitflow/8-review.md +240 -176
- package/templates/commands/gitflow/9-merge.md +451 -365
- package/templates/commands/gitflow.md +128 -128
- package/templates/commands/implement.md +663 -663
- package/templates/commands/init.md +567 -562
- package/templates/commands/mcp-integration.md +330 -330
- package/templates/commands/notification.md +129 -129
- package/templates/commands/oneshot.md +57 -57
- package/templates/commands/quick-search.md +72 -72
- package/templates/commands/ralph-loop/cancel-ralph.md +18 -18
- package/templates/commands/ralph-loop/help.md +126 -126
- package/templates/commands/ralph-loop/ralph-loop.md +18 -18
- package/templates/commands/review.md +106 -106
- package/templates/commands/utils/test-web-config.md +160 -160
- package/templates/commands/utils/test-web.md +151 -151
- package/templates/commands/validate.md +233 -233
- package/templates/commands/workflow.md +193 -193
- package/templates/gitflow/config.json +138 -138
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +25 -25
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/skills/ai-prompt/SKILL.md +778 -778
- package/templates/skills/application/SKILL.md +563 -563
- package/templates/skills/application/templates-backend.md +450 -450
- package/templates/skills/application/templates-frontend.md +531 -531
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +647 -647
- package/templates/skills/business-analyse/SKILL.md +191 -191
- package/templates/skills/business-analyse/questionnaire.md +283 -283
- package/templates/skills/business-analyse/templates-frd.md +477 -477
- package/templates/skills/business-analyse/templates-react.md +580 -580
- package/templates/skills/controller/SKILL.md +240 -240
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/templates.md +1468 -1468
- package/templates/skills/documentation/SKILL.md +133 -133
- package/templates/skills/documentation/templates.md +476 -476
- package/templates/skills/feature-full/SKILL.md +838 -838
- package/templates/skills/notification/SKILL.md +555 -555
- package/templates/skills/ui-components/SKILL.md +870 -870
- package/templates/skills/workflow/SKILL.md +582 -582
- package/templates/test-web/api-health.json +38 -38
- package/templates/test-web/minimal.json +19 -19
- package/templates/test-web/npm-package.json +46 -46
- package/templates/test-web/seo-check.json +54 -54
|
@@ -1,325 +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
|
-
```
|
|
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
|
+
```
|