@atlashub/smartstack-cli 1.10.2 → 1.12.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.
- 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
|
@@ -6,92 +6,53 @@ model: sonnet
|
|
|
6
6
|
|
|
7
7
|
# Change Request - Modification Post-Handoff
|
|
8
8
|
|
|
9
|
-
> **
|
|
10
|
-
> **Usage:** Changement de scope après validation/handoff
|
|
9
|
+
> **Ref:** Fonctions communes dans [_shared.md](_shared.md)
|
|
11
10
|
> **Output:** `.business-analyse/.../tracking/changes/CR-FEAT-XXX-NNN.md`
|
|
12
11
|
|
|
13
12
|
---
|
|
14
13
|
|
|
15
|
-
##
|
|
14
|
+
## Quand utiliser
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
```
|
|
16
|
+
Utiliser APRÈS validation (phase 5) ou handoff (phase 6) quand:
|
|
17
|
+
- Modification scope demandée par stakeholder
|
|
18
|
+
- Nouvelle exigence découverte
|
|
19
|
+
- Cas d'usage manquant identifié
|
|
20
|
+
- Règle métier à modifier
|
|
38
21
|
|
|
39
22
|
---
|
|
40
23
|
|
|
41
|
-
##
|
|
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
|
|
24
|
+
## Collecte changement
|
|
64
25
|
|
|
65
26
|
```javascript
|
|
66
27
|
AskUserQuestion({
|
|
67
28
|
questions: [
|
|
68
29
|
{
|
|
69
|
-
question: "
|
|
30
|
+
question: "Type de changement?",
|
|
70
31
|
header: "Type",
|
|
71
32
|
options: [
|
|
72
|
-
{ label: "Nouvelle fonctionnalité", description: "Ajouter
|
|
73
|
-
{ label: "Modification existant", description: "Changer
|
|
74
|
-
{ label: "Suppression", description: "Retirer
|
|
75
|
-
{ label: "Clarification", description: "Préciser
|
|
33
|
+
{ label: "Nouvelle fonctionnalité", description: "Ajouter nouveau" },
|
|
34
|
+
{ label: "Modification existant", description: "Changer comportement" },
|
|
35
|
+
{ label: "Suppression", description: "Retirer fonctionnalité" },
|
|
36
|
+
{ label: "Clarification", description: "Préciser spec ambiguë" }
|
|
76
37
|
],
|
|
77
38
|
multiSelect: false
|
|
78
39
|
},
|
|
79
40
|
{
|
|
80
|
-
question: "
|
|
41
|
+
question: "Priorité?",
|
|
81
42
|
header: "Priorité",
|
|
82
43
|
options: [
|
|
83
|
-
{ label: "Critique", description: "Bloque
|
|
84
|
-
{ label: "Haute", description: "Important
|
|
44
|
+
{ label: "Critique", description: "Bloque release" },
|
|
45
|
+
{ label: "Haute", description: "Important MVP" },
|
|
85
46
|
{ label: "Moyenne", description: "Souhaitable" },
|
|
86
47
|
{ label: "Basse", description: "Nice-to-have" }
|
|
87
48
|
],
|
|
88
49
|
multiSelect: false
|
|
89
50
|
},
|
|
90
51
|
{
|
|
91
|
-
question: "
|
|
52
|
+
question: "Approuvé par sponsor?",
|
|
92
53
|
header: "Approbation",
|
|
93
54
|
options: [
|
|
94
|
-
{ label: "Oui
|
|
55
|
+
{ label: "Oui", description: "Sponsor validé" },
|
|
95
56
|
{ label: "En attente", description: "Discussion en cours" },
|
|
96
57
|
{ label: "À soumettre", description: "Pas encore discuté" }
|
|
97
58
|
],
|
|
@@ -103,266 +64,81 @@ AskUserQuestion({
|
|
|
103
64
|
|
|
104
65
|
---
|
|
105
66
|
|
|
106
|
-
##
|
|
67
|
+
## Analyse d'impact
|
|
107
68
|
|
|
108
|
-
|
|
109
|
-
- Description du changement demandé
|
|
110
|
-
- Justification business
|
|
111
|
-
- Demandeur (qui a demandé)
|
|
69
|
+
### Matrice documents
|
|
112
70
|
|
|
113
|
-
|
|
71
|
+
| Document | Impact | Modification |
|
|
72
|
+
|----------|--------|--------------|
|
|
73
|
+
| Discovery | {Aucun/Mineur/Majeur} | {description} |
|
|
74
|
+
| BRD | {Aucun/Mineur/Majeur} | {description} |
|
|
75
|
+
| FRD | {Aucun/Mineur/Majeur} | {description} |
|
|
76
|
+
| Handoff | {Aucun/Mineur/Majeur} | {description} |
|
|
114
77
|
|
|
115
|
-
|
|
78
|
+
### Impact code (si implémenté)
|
|
116
79
|
|
|
117
|
-
|
|
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
|
-
|--------|-------------------|---------------------|
|
|
80
|
+
| Couche | Fichiers | Modification |
|
|
81
|
+
|--------|----------|--------------|
|
|
147
82
|
| Domain | {fichiers} | {ajouter/modifier/supprimer} |
|
|
148
83
|
| Application | {fichiers} | {ajouter/modifier/supprimer} |
|
|
149
|
-
| Infrastructure | {fichiers} | {ajouter/modifier/supprimer} |
|
|
150
84
|
| API | {fichiers} | {ajouter/modifier/supprimer} |
|
|
151
85
|
| Frontend | {fichiers} | {ajouter/modifier/supprimer} |
|
|
152
86
|
|
|
153
87
|
---
|
|
154
88
|
|
|
155
|
-
##
|
|
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
|
|
89
|
+
## Template CR-FEAT-XXX-NNN.md
|
|
170
90
|
|
|
171
91
|
```markdown
|
|
172
92
|
# {CR_ID} - Change Request
|
|
173
93
|
|
|
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
|
|
94
|
+
> **Feature:** {FEATURE_ID} | **Type:** {X} | **Priorité:** {X} | **Status:** {X}
|
|
207
95
|
|
|
208
|
-
|
|
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} |
|
|
96
|
+
## 1. Changement
|
|
97
|
+
### Description | Justification | Demandeur
|
|
213
98
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
| Fichier | Modification |
|
|
217
|
-
|---------|--------------|
|
|
218
|
-
| `{path}` | {description} |
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 3. Effort estimé
|
|
99
|
+
## 2. Impact
|
|
100
|
+
### Documents impactés | Specs (BR/FR/UC) | Code
|
|
223
101
|
|
|
102
|
+
## 3. Effort
|
|
224
103
|
| Composant | Effort | Risque |
|
|
225
|
-
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
| Frontend | {heures} | {Faible/Moyen/Élevé} |
|
|
229
|
-
| Tests | {heures} | {Faible/Moyen/Élevé} |
|
|
230
|
-
| **Total** | **{heures}** | |
|
|
231
|
-
|
|
232
|
-
---
|
|
104
|
+
| Specs | {h} | {X} |
|
|
105
|
+
| Backend | {h} | {X} |
|
|
106
|
+
| Frontend | {h} | {X} |
|
|
233
107
|
|
|
234
108
|
## 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
|
-
---
|
|
109
|
+
### Recommandation | Justification | Conditions
|
|
247
110
|
|
|
248
111
|
## 5. Approbation
|
|
112
|
+
| Rôle | Décision | Date |
|
|
249
113
|
|
|
250
|
-
|
|
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
|
-
```
|
|
114
|
+
## 6. Prompt modification (si approuvé)
|
|
268
115
|
CHANGE REQUEST: {CR_ID}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
{
|
|
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} |
|
|
116
|
+
CHANGEMENT: {description}
|
|
117
|
+
FICHIERS: {liste}
|
|
118
|
+
VALIDATION: {critères}
|
|
294
119
|
```
|
|
295
120
|
|
|
296
121
|
---
|
|
297
122
|
|
|
298
|
-
##
|
|
299
|
-
|
|
300
|
-
Si le CR est approuvé:
|
|
301
|
-
|
|
302
|
-
### 7.1 Mise à jour des documents
|
|
123
|
+
## Actions post-approbation
|
|
303
124
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
125
|
+
| Action | Commande |
|
|
126
|
+
|--------|----------|
|
|
127
|
+
| Implémentation immédiate | Générer prompt |
|
|
128
|
+
| Planifier | Ajouter backlog |
|
|
129
|
+
| Specs seulement | Modifier documents |
|
|
308
130
|
|
|
309
|
-
|
|
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
|
-
```
|
|
131
|
+
**Versioning:** 1.0 → 1.1 (mineur) / 1.0 → 2.0 (majeur)
|
|
329
132
|
|
|
330
133
|
---
|
|
331
134
|
|
|
332
|
-
##
|
|
135
|
+
## Résumé
|
|
333
136
|
|
|
334
137
|
```
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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
|
|
138
|
+
CR - {CR_ID}
|
|
139
|
+
├── Feature: {FEATURE_ID}
|
|
140
|
+
├── Type: {X}
|
|
141
|
+
├── Impact: {N} documents, {N} fichiers
|
|
142
|
+
├── Effort: {N} heures
|
|
143
|
+
└── Status: {En attente/Approuvé/Rejeté}
|
|
368
144
|
```
|
|
@@ -6,46 +6,33 @@ model: haiku
|
|
|
6
6
|
|
|
7
7
|
# Hotfix - Correction Urgente
|
|
8
8
|
|
|
9
|
-
> **
|
|
10
|
-
> **
|
|
11
|
-
> **Output:** `.business-analyse/tracking/bugs/{BUG-ID}.md` (format court)
|
|
9
|
+
> **Ref:** Fonctions communes dans [_shared.md](_shared.md)
|
|
10
|
+
> **Output:** `.business-analyse/tracking/hotfixes/HF-YYYYMMDD-NNN.md`
|
|
12
11
|
|
|
13
12
|
---
|
|
14
13
|
|
|
15
|
-
##
|
|
14
|
+
## Quand utiliser
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
║ ✅ UTILISER pour: ║
|
|
23
|
-
║ • Bug bloquant en production ║
|
|
24
|
-
║ • Correction simple et évidente ║
|
|
25
|
-
║ • Pas de changement de scope ║
|
|
26
|
-
║ ║
|
|
27
|
-
║ ❌ NE PAS utiliser pour: ║
|
|
28
|
-
║ • Bug complexe nécessitant analyse → /business-analyse:bug ║
|
|
29
|
-
║ • Changement de fonctionnalité → /business-analyse:change-request ║
|
|
30
|
-
║ • Nouvelle feature → workflow complet ║
|
|
31
|
-
║ ║
|
|
32
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
33
|
-
```
|
|
16
|
+
| ✅ Utiliser | ❌ Ne pas utiliser |
|
|
17
|
+
|-------------|-------------------|
|
|
18
|
+
| Bug bloquant production | Bug complexe → `/business-analyse:bug` |
|
|
19
|
+
| Correction simple, évidente | Changement fonctionnalité → `/business-analyse:change-request` |
|
|
20
|
+
| Pas de changement scope | Nouvelle feature → workflow complet |
|
|
34
21
|
|
|
35
22
|
---
|
|
36
23
|
|
|
37
|
-
##
|
|
24
|
+
## Collecte rapide
|
|
38
25
|
|
|
39
26
|
```javascript
|
|
40
27
|
AskUserQuestion({
|
|
41
28
|
questions: [
|
|
42
29
|
{
|
|
43
|
-
question: "Quel est le problème?
|
|
30
|
+
question: "Quel est le problème?",
|
|
44
31
|
header: "Bug",
|
|
45
32
|
options: [
|
|
46
33
|
{ label: "Crash/Erreur 500", description: "Application plante" },
|
|
47
34
|
{ label: "Données incorrectes", description: "Calcul ou affichage erroné" },
|
|
48
|
-
{ label: "Permission/Accès", description: "Problème
|
|
35
|
+
{ label: "Permission/Accès", description: "Problème autorisation" },
|
|
49
36
|
{ label: "UI bloquée", description: "Interface non responsive" }
|
|
50
37
|
],
|
|
51
38
|
multiSelect: false
|
|
@@ -54,10 +41,10 @@ AskUserQuestion({
|
|
|
54
41
|
question: "Où se trouve le bug?",
|
|
55
42
|
header: "Location",
|
|
56
43
|
options: [
|
|
57
|
-
{ label: "Backend API", description: "Controller, Service
|
|
58
|
-
{ label: "Frontend", description: "Page, Composant
|
|
59
|
-
{ label: "Database", description: "Migration,
|
|
60
|
-
{ label: "Config", description: "appsettings, env
|
|
44
|
+
{ label: "Backend API", description: "Controller, Service" },
|
|
45
|
+
{ label: "Frontend", description: "Page, Composant" },
|
|
46
|
+
{ label: "Database", description: "Migration, Query" },
|
|
47
|
+
{ label: "Config", description: "appsettings, env" }
|
|
61
48
|
],
|
|
62
49
|
multiSelect: false
|
|
63
50
|
}
|
|
@@ -67,134 +54,63 @@ AskUserQuestion({
|
|
|
67
54
|
|
|
68
55
|
---
|
|
69
56
|
|
|
70
|
-
##
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
# Format: HF-YYYYMMDD-NNN
|
|
74
|
-
DATE=$(date +%Y%m%d)
|
|
75
|
-
LAST_HF=$(find .business-analyse -name "HF-${DATE}-*.md" 2>/dev/null | wc -l)
|
|
76
|
-
HF_ID="HF-${DATE}-$(printf "%03d" $((LAST_HF + 1)))"
|
|
77
|
-
|
|
78
|
-
# Dossier
|
|
79
|
-
HF_DIR=".business-analyse/tracking/hotfixes"
|
|
80
|
-
mkdir -p "$HF_DIR"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## STEP 3: Template court
|
|
86
|
-
|
|
87
|
-
### {HF_ID}.md
|
|
57
|
+
## Template HF-YYYYMMDD-NNN.md
|
|
88
58
|
|
|
89
59
|
```markdown
|
|
90
60
|
# {HF_ID} - Hotfix
|
|
91
61
|
|
|
92
|
-
> **Date:** {YYYY-MM-DD HH:MM}
|
|
93
|
-
> **Sévérité:** Critique
|
|
94
|
-
> **Status:** En cours
|
|
62
|
+
> **Date:** {YYYY-MM-DD HH:MM} | **Sévérité:** Critique | **Status:** En cours
|
|
95
63
|
|
|
96
64
|
## Bug
|
|
97
|
-
|
|
98
65
|
**Symptôme:** {description courte}
|
|
99
|
-
|
|
100
66
|
**Impact:** {qui est bloqué}
|
|
101
67
|
|
|
102
68
|
## Cause
|
|
103
|
-
|
|
104
|
-
**
|
|
105
|
-
|
|
106
|
-
**Ligne:** ~{numéro}
|
|
107
|
-
|
|
108
|
-
**Problème:** {description technique courte}
|
|
69
|
+
**Fichier:** `{path}` | **Ligne:** ~{N}
|
|
70
|
+
**Problème:** {description technique}
|
|
109
71
|
|
|
110
72
|
## Correction
|
|
111
|
-
|
|
112
73
|
```{language}
|
|
113
74
|
// AVANT
|
|
114
75
|
{code incorrect}
|
|
115
|
-
|
|
116
76
|
// APRÈS
|
|
117
77
|
{code corrigé}
|
|
118
78
|
```
|
|
119
79
|
|
|
120
80
|
## Validation
|
|
121
|
-
|
|
122
81
|
- [ ] Fix appliqué
|
|
123
82
|
- [ ] Test manuel OK
|
|
124
83
|
- [ ] Déployé
|
|
125
|
-
|
|
126
|
-
## Notes
|
|
127
|
-
|
|
128
|
-
{notes additionnelles si nécessaire}
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
Hotfix créé le {timestamp}
|
|
132
84
|
```
|
|
133
85
|
|
|
134
86
|
---
|
|
135
87
|
|
|
136
|
-
##
|
|
137
|
-
|
|
138
|
-
Générer automatiquement un prompt pour Claude:
|
|
88
|
+
## Prompt correction
|
|
139
89
|
|
|
140
90
|
```
|
|
141
91
|
HOTFIX URGENT - {HF_ID}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
{description
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
{path/to/file}
|
|
148
|
-
|
|
149
|
-
CORRECTION À APPLIQUER:
|
|
150
|
-
{description de ce qu'il faut changer}
|
|
151
|
-
|
|
152
|
-
VALIDATION:
|
|
153
|
-
Après correction, vérifier que {comportement attendu}
|
|
154
|
-
|
|
155
|
-
⚠️ Ne pas modifier d'autres fichiers
|
|
156
|
-
⚠️ Commit message: "hotfix({module}): {HF_ID} - {description courte}"
|
|
92
|
+
PROBLÈME: {symptôme}
|
|
93
|
+
FICHIER: {path}
|
|
94
|
+
CORRECTION: {description}
|
|
95
|
+
VALIDATION: {comportement attendu}
|
|
96
|
+
⚠️ Commit: "hotfix({module}): {HF_ID} - {description}"
|
|
157
97
|
```
|
|
158
98
|
|
|
159
99
|
---
|
|
160
100
|
|
|
161
|
-
##
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
================================================================================
|
|
165
|
-
HOTFIX CRÉÉ - {HF_ID}
|
|
166
|
-
================================================================================
|
|
167
|
-
|
|
168
|
-
FICHIER: {HF_DIR}/{HF_ID}.md
|
|
169
|
-
SÉVÉRITÉ: Critique
|
|
170
|
-
LOCATION: {Backend/Frontend/Database/Config}
|
|
171
|
-
|
|
172
|
-
================================================================================
|
|
173
|
-
PROMPT DE CORRECTION
|
|
174
|
-
================================================================================
|
|
175
|
-
|
|
176
|
-
{prompt généré}
|
|
177
|
-
|
|
178
|
-
================================================================================
|
|
179
|
-
COMMIT
|
|
180
|
-
================================================================================
|
|
181
|
-
|
|
182
|
-
git commit -m "hotfix({module}): {HF_ID} - {description}"
|
|
183
|
-
|
|
184
|
-
================================================================================
|
|
101
|
+
## Post-hotfix
|
|
185
102
|
|
|
186
|
-
|
|
187
|
-
|
|
103
|
+
1. Marquer résolu dans .md
|
|
104
|
+
2. Si analyse approfondie nécessaire: `/business-analyse:bug {FEATURE_ID}`
|
|
105
|
+
3. Ajouter test régression
|
|
188
106
|
|
|
189
107
|
---
|
|
190
108
|
|
|
191
|
-
##
|
|
192
|
-
|
|
193
|
-
Après déploiement du hotfix:
|
|
109
|
+
## Résumé
|
|
194
110
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
111
|
+
```
|
|
112
|
+
HOTFIX - {HF_ID}
|
|
113
|
+
├── Sévérité: Critique
|
|
114
|
+
├── Location: {Backend/Frontend/DB/Config}
|
|
115
|
+
└── Commit: hotfix({module}): {HF_ID}
|
|
116
|
+
```
|