@atlashub/smartstack-cli 1.5.1 → 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/css/styles.css +2168 -2168
- package/.documentation/js/app.js +794 -794
- 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 +0 -0
- 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 -567
- 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,368 +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
|
-
```
|
|
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
|
+
```
|