@atlashub/smartstack-cli 1.11.0 → 1.13.1
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 +7 -2
- package/.documentation/apex.html +7 -2
- package/.documentation/business-analyse.html +7 -2
- package/.documentation/cli-commands.html +871 -0
- package/.documentation/commands.html +7 -2
- package/.documentation/efcore.html +7 -2
- package/.documentation/gitflow.html +7 -2
- package/.documentation/hooks.html +7 -2
- package/.documentation/index.html +7 -2
- package/.documentation/init.html +7 -2
- package/.documentation/installation.html +7 -2
- package/.documentation/ralph-loop.html +7 -2
- package/.documentation/test-web.html +7 -2
- package/dist/index.js +1932 -336
- package/dist/index.js.map +1 -1
- package/package.json +8 -2
- package/templates/agents/efcore/squash.md +67 -31
- package/templates/agents/gitflow/finish.md +68 -56
- package/templates/commands/business-analyse/0-orchestrate.md +72 -556
- package/templates/commands/business-analyse/1-init.md +23 -193
- package/templates/commands/business-analyse/2-discover.md +85 -462
- package/templates/commands/business-analyse/3-analyse.md +40 -342
- package/templates/commands/business-analyse/4-specify.md +72 -537
- package/templates/commands/business-analyse/5-validate.md +43 -237
- package/templates/commands/business-analyse/6-handoff.md +93 -682
- package/templates/commands/business-analyse/7-doc-html.md +45 -544
- package/templates/commands/business-analyse/_shared.md +176 -0
- package/templates/commands/business-analyse/bug.md +50 -257
- package/templates/commands/business-analyse/change-request.md +59 -283
- package/templates/commands/business-analyse/hotfix.md +36 -120
- package/templates/commands/business-analyse.md +55 -574
- package/templates/commands/efcore/_shared.md +206 -0
- package/templates/commands/efcore/conflicts.md +39 -201
- package/templates/commands/efcore/db-deploy.md +28 -237
- package/templates/commands/efcore/db-reset.md +41 -390
- package/templates/commands/efcore/db-seed.md +44 -323
- package/templates/commands/efcore/db-status.md +31 -210
- package/templates/commands/efcore/migration.md +45 -368
- package/templates/commands/efcore/rebase-snapshot.md +38 -241
- package/templates/commands/efcore/scan.md +35 -204
- package/templates/commands/efcore/squash.md +158 -251
- package/templates/commands/efcore.md +49 -177
- package/templates/commands/gitflow/1-init.md +94 -1318
- package/templates/commands/gitflow/10-start.md +86 -990
- package/templates/commands/gitflow/11-finish.md +264 -454
- package/templates/commands/gitflow/12-cleanup.md +40 -213
- package/templates/commands/gitflow/2-status.md +51 -386
- package/templates/commands/gitflow/3-commit.md +108 -801
- package/templates/commands/gitflow/4-plan.md +42 -13
- package/templates/commands/gitflow/5-exec.md +60 -5
- package/templates/commands/gitflow/6-abort.md +54 -277
- package/templates/commands/gitflow/7-pull-request.md +74 -717
- package/templates/commands/gitflow/8-review.md +51 -178
- package/templates/commands/gitflow/9-merge.md +74 -404
- package/templates/commands/gitflow/_shared.md +196 -0
- package/templates/commands/quickstart.md +154 -0
- package/templates/commands/ralph-loop/ralph-loop.md +104 -2
- package/templates/hooks/hooks.json +13 -0
- package/templates/hooks/ralph-mcp-logger.sh +46 -0
- package/templates/hooks/ralph-session-end.sh +69 -0
- package/templates/ralph/README.md +91 -0
- package/templates/ralph/ralph.config.yaml +113 -0
- package/templates/scripts/setup-ralph-loop.sh +173 -0
- package/templates/skills/_shared.md +117 -0
- package/templates/skills/ai-prompt/SKILL.md +87 -654
- package/templates/skills/application/SKILL.md +76 -499
- package/templates/skills/controller/SKILL.md +38 -165
- package/templates/skills/documentation/SKILL.md +2 -1
- package/templates/skills/feature-full/SKILL.md +107 -732
- package/templates/skills/notification/SKILL.md +85 -474
- package/templates/skills/ui-components/SKILL.md +62 -762
- package/templates/skills/workflow/SKILL.md +85 -489
- package/templates/commands/gitflow/rescue.md +0 -867
- package/templates/skills/business-analyse/SKILL.md +0 -191
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Business Analyse - Fonctions Partagées
|
|
2
|
+
|
|
3
|
+
> **Ref:** Ce fichier contient les fonctions communes à toutes les phases BA.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Validation Contexte Business
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
validate_business_context() {
|
|
11
|
+
local CONTEXT="$1"
|
|
12
|
+
[[ "$CONTEXT" =~ ^(platform|personal|system)$ ]] && {
|
|
13
|
+
echo "❌ ERREUR: BA réservée au contexte 'business'. Contact: support@atlshub.ch"
|
|
14
|
+
return 1
|
|
15
|
+
}
|
|
16
|
+
return 0
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Feature Directory
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
find_feature_dir() {
|
|
26
|
+
local FEATURE_ID="$1"
|
|
27
|
+
FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" 2>/dev/null | head -1)
|
|
28
|
+
[ -z "$FEATURE_DIR" ] && { echo "❌ Feature $FEATURE_ID non trouvée"; return 1; }
|
|
29
|
+
APPLICATION=$(echo "$FEATURE_DIR" | grep -oP 'business/\K[^/]+')
|
|
30
|
+
MODULE=$(echo "$FEATURE_DIR" | grep -oP 'modules/\K[^/]+')
|
|
31
|
+
export FEATURE_DIR APPLICATION MODULE
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Génération Feature ID
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
generate_feature_id() {
|
|
41
|
+
local LAST_ID=$(grep -oP '"lastFeatureId":\s*\K\d+' .business-analyse/config.json 2>/dev/null || echo "0")
|
|
42
|
+
printf "FEAT-%03d" $((LAST_ID + 1))
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Modèles par Phase
|
|
49
|
+
|
|
50
|
+
| Phase | Modèle | Raison |
|
|
51
|
+
|-------|--------|--------|
|
|
52
|
+
| 1-init | Haiku | Setup structure |
|
|
53
|
+
| 2-discover | **Opus** | Elicitation ULTRATHINK |
|
|
54
|
+
| 3-analyse | Sonnet | Modélisation BRD |
|
|
55
|
+
| 4-specify | Sonnet | FRD + Use Cases |
|
|
56
|
+
| 5-validate | Haiku | Gate oui/non |
|
|
57
|
+
| 6-handoff | **Opus** | Prompt zéro ambiguïté |
|
|
58
|
+
| 7-doc-html | Sonnet | React + Context7 |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## ULTRATHINK
|
|
63
|
+
|
|
64
|
+
Mode comportemental pour phases critiques (2, 3, 4, 6):
|
|
65
|
+
- Considérer TOUS les edge cases
|
|
66
|
+
- Challenger CHAQUE hypothèse
|
|
67
|
+
- Anticiper besoins NON exprimés
|
|
68
|
+
- Valider complétude avant output
|
|
69
|
+
|
|
70
|
+
**NE PAS appeler** comme skill/tool.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Context7 (Phase 7)
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
"use context7 with /facebook/react and /i18next/react-i18next
|
|
78
|
+
to generate {component} following SmartStack patterns"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Libraries: `/facebook/react`, `/i18next/react-i18next`, `/remix-run/react-router`, `/lucide-icons/lucide-react`
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Permission Path
|
|
86
|
+
|
|
87
|
+
Format: `business.{application}.{module}.{action}`
|
|
88
|
+
|
|
89
|
+
| Action | Permission |
|
|
90
|
+
|--------|------------|
|
|
91
|
+
| Lecture | `.read` |
|
|
92
|
+
| Création | `.create` |
|
|
93
|
+
| Modification | `.update` |
|
|
94
|
+
| Suppression | `.delete` |
|
|
95
|
+
| Export | `.export` |
|
|
96
|
+
| Import | `.import` |
|
|
97
|
+
| Admin | `.admin` |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## i18n (4 langues obligatoires)
|
|
102
|
+
|
|
103
|
+
| Langue | Fichier |
|
|
104
|
+
|--------|---------|
|
|
105
|
+
| FR | `fr/{app}-{module}.json` |
|
|
106
|
+
| EN | `en/{app}-{module}.json` |
|
|
107
|
+
| IT | `it/{app}-{module}.json` |
|
|
108
|
+
| DE | `de/{app}-{module}.json` |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Output Paths
|
|
113
|
+
|
|
114
|
+
| Type | Chemin |
|
|
115
|
+
|------|--------|
|
|
116
|
+
| Documentation | `web/smartstack-web/src/pages/business/{app}/{module}/DocumentationPage.tsx` |
|
|
117
|
+
| i18n | `web/smartstack-web/src/i18n/locales/{lang}/` |
|
|
118
|
+
| Route | `/business/{app}/{module}/documentation` |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Résumé Standard
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
{PHASE} - {FEATURE_ID}
|
|
126
|
+
├── Status: {Complete/En cours}
|
|
127
|
+
├── Output: {fichiers créés}
|
|
128
|
+
└── Prochain: {commande suivante}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Config Template
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"project": "{Name}",
|
|
138
|
+
"lastFeatureId": 0,
|
|
139
|
+
"context": "business",
|
|
140
|
+
"standards": ["BABOK-v3", "IEEE-830"],
|
|
141
|
+
"contact": "support@atlshub.ch"
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Structure Feature
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
.business-analyse/business/{app}/modules/{module}/features/{FEAT-XXX}/
|
|
151
|
+
├── 1-discovery.md
|
|
152
|
+
├── 2-business-requirements.md
|
|
153
|
+
├── 3-functional-specification.md
|
|
154
|
+
├── 4-development-handoff.md
|
|
155
|
+
├── validation.json
|
|
156
|
+
└── tracking/
|
|
157
|
+
├── changes/
|
|
158
|
+
├── bugs/
|
|
159
|
+
└── hotfixes/
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Ralph Loop (optionnel)
|
|
165
|
+
|
|
166
|
+
Fichiers créés par phase Ralph:
|
|
167
|
+
- `prd.json` - Tracking tâches (`"passes": true/false`)
|
|
168
|
+
- `progress.txt` - Mémoire inter-itérations
|
|
169
|
+
|
|
170
|
+
Signal fin: `<promise>COMPLETE</promise>`
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Support
|
|
175
|
+
|
|
176
|
+
Contact: **support@atlshub.ch**
|
|
@@ -4,54 +4,42 @@ agent: ba-bug
|
|
|
4
4
|
model: sonnet
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# Documentation Bug
|
|
7
|
+
# Documentation Bug
|
|
8
8
|
|
|
9
|
-
> **
|
|
9
|
+
> **Ref:** Fonctions communes dans [_shared.md](_shared.md)
|
|
10
10
|
> **Output:** `.business-analyse/.../tracking/bugs/BUG-XXX.md`
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Quand utiliser
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
```
|
|
16
|
+
| ✅ Utiliser | ❌ Ne pas utiliser |
|
|
17
|
+
|-------------|-------------------|
|
|
18
|
+
| Bug post-implémentation | Hotfix urgent → `/business-analyse:hotfix` |
|
|
19
|
+
| Analyse root cause | Changement scope → `/business-analyse:change-request` |
|
|
20
|
+
| Traçabilité specs | |
|
|
33
21
|
|
|
34
22
|
---
|
|
35
23
|
|
|
36
|
-
##
|
|
24
|
+
## Collecte informations
|
|
37
25
|
|
|
38
26
|
```javascript
|
|
39
27
|
AskUserQuestion({
|
|
40
28
|
questions: [
|
|
41
29
|
{
|
|
42
|
-
question: "Quelle feature est impactée
|
|
30
|
+
question: "Quelle feature est impactée?",
|
|
43
31
|
header: "Feature",
|
|
44
32
|
options: [
|
|
45
|
-
{ label: "Feature existante", description: "Bug sur
|
|
46
|
-
{ label: "Nouvelle", description: "Bug sur code non documenté
|
|
33
|
+
{ label: "Feature existante", description: "Bug sur feature documentée" },
|
|
34
|
+
{ label: "Nouvelle", description: "Bug sur code non documenté" }
|
|
47
35
|
],
|
|
48
36
|
multiSelect: false
|
|
49
37
|
},
|
|
50
38
|
{
|
|
51
|
-
question: "
|
|
39
|
+
question: "Sévérité du bug?",
|
|
52
40
|
header: "Sévérité",
|
|
53
41
|
options: [
|
|
54
|
-
{ label: "Critique", description: "Bloque
|
|
42
|
+
{ label: "Critique", description: "Bloque utilisation, perte données" },
|
|
55
43
|
{ label: "Majeur", description: "Fonctionnalité principale impactée" },
|
|
56
44
|
{ label: "Mineur", description: "Workaround possible" },
|
|
57
45
|
{ label: "Cosmétique", description: "UI/UX, pas d'impact fonctionnel" }
|
|
@@ -59,13 +47,13 @@ AskUserQuestion({
|
|
|
59
47
|
multiSelect: false
|
|
60
48
|
},
|
|
61
49
|
{
|
|
62
|
-
question: "
|
|
50
|
+
question: "Bug reproductible?",
|
|
63
51
|
header: "Repro",
|
|
64
52
|
options: [
|
|
65
|
-
{ label: "Toujours", description: "100%
|
|
66
|
-
{ label: "Souvent", description: ">50%
|
|
67
|
-
{ label: "Parfois", description: "<50%
|
|
68
|
-
{ label: "Rarement", description: "Difficile
|
|
53
|
+
{ label: "Toujours", description: "100%" },
|
|
54
|
+
{ label: "Souvent", description: ">50%" },
|
|
55
|
+
{ label: "Parfois", description: "<50%" },
|
|
56
|
+
{ label: "Rarement", description: "Difficile" }
|
|
69
57
|
],
|
|
70
58
|
multiSelect: false
|
|
71
59
|
}
|
|
@@ -75,114 +63,7 @@ AskUserQuestion({
|
|
|
75
63
|
|
|
76
64
|
---
|
|
77
65
|
|
|
78
|
-
##
|
|
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)
|
|
66
|
+
## Analyse Root Cause (5 Whys)
|
|
186
67
|
|
|
187
68
|
| # | Question | Réponse |
|
|
188
69
|
|---|----------|---------|
|
|
@@ -190,136 +71,48 @@ Demander à l'utilisateur:
|
|
|
190
71
|
| 2 | Pourquoi {réponse 1}? | {réponse} |
|
|
191
72
|
| 3 | Pourquoi {réponse 2}? | {réponse} |
|
|
192
73
|
| 4 | Pourquoi {réponse 3}? | {réponse} |
|
|
193
|
-
| 5 | Pourquoi {réponse 4}? | **ROOT 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
|
-
```
|
|
74
|
+
| 5 | Pourquoi {réponse 4}? | **ROOT CAUSE** |
|
|
254
75
|
|
|
255
76
|
---
|
|
256
77
|
|
|
257
|
-
##
|
|
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)
|
|
78
|
+
## Template BUG-XXX.md
|
|
269
79
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
## 7. Prévention
|
|
273
|
-
|
|
274
|
-
### Comment éviter ce type de bug à l'avenir?
|
|
80
|
+
```markdown
|
|
81
|
+
# {BUG_ID} - {Title}
|
|
275
82
|
|
|
276
|
-
|
|
277
|
-
|--------|-------------|----------|
|
|
278
|
-
| {action préventive} | {qui} | {quand} |
|
|
83
|
+
> **Feature:** {FEATURE_ID} | **Sévérité:** {X} | **Status:** Open
|
|
279
84
|
|
|
280
|
-
|
|
85
|
+
## 1. Description
|
|
86
|
+
### Observé vs Attendu
|
|
281
87
|
|
|
282
|
-
##
|
|
88
|
+
## 2. Reproduction
|
|
89
|
+
### Prérequis | Étapes | Reproductibilité
|
|
283
90
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
91
|
+
## 3. Analyse
|
|
92
|
+
### Root Cause (5 Whys)
|
|
93
|
+
### Specs impactées (BR/FR/UC)
|
|
94
|
+
### Code impacté
|
|
95
|
+
|
|
96
|
+
## 4. Solution
|
|
97
|
+
### Correction | Fichiers | Tests Gherkin
|
|
98
|
+
|
|
99
|
+
## 5. Prompt correction
|
|
100
|
+
CONTEXTE: Bug {BUG_ID}
|
|
101
|
+
ROOT CAUSE: {cause}
|
|
102
|
+
CORRECTION: {description}
|
|
103
|
+
FICHIERS: {liste}
|
|
104
|
+
VALIDATION: {scénario Gherkin}
|
|
291
105
|
```
|
|
292
106
|
|
|
293
107
|
---
|
|
294
108
|
|
|
295
|
-
##
|
|
109
|
+
## Résumé
|
|
296
110
|
|
|
297
111
|
```
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
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
|
|
112
|
+
BUG - {BUG_ID}
|
|
113
|
+
├── Feature: {FEATURE_ID}
|
|
114
|
+
├── Sévérité: {X}
|
|
115
|
+
├── Root Cause: {résumé}
|
|
116
|
+
├── Specs: BR-XXX, FR-XXX, UC-XXX
|
|
117
|
+
└── Correction: /business-analyse:hotfix {BUG_ID}
|
|
325
118
|
```
|