@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,408 +1,408 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Phase 3 - Business analysis and BRD (ULTRATHINK)
|
|
3
|
-
agent: ba-analyse
|
|
4
|
-
model: sonnet
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Phase 3: Analyse Business - BRD
|
|
8
|
-
|
|
9
|
-
> **Modèle:** Sonnet (modélisation, règles métier)
|
|
10
|
-
> **Coût estimé:** ~$0.15
|
|
11
|
-
> **Input:** 1-discovery.md
|
|
12
|
-
> **Output:** 2-business-requirements.md (BRD)
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## ULTRATHINK MODE
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
20
|
-
║ ANALYSE MÉTIER APPROFONDIE ║
|
|
21
|
-
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
22
|
-
║ ║
|
|
23
|
-
║ Cette phase transforme la découverte en exigences business formelles: ║
|
|
24
|
-
║ ║
|
|
25
|
-
║ • Formaliser les règles métier (BR-XXX) ║
|
|
26
|
-
║ • Modéliser les processus (diagrammes textuels) ║
|
|
27
|
-
║ • Définir les objectifs mesurables ║
|
|
28
|
-
║ • Identifier les intégrations nécessaires ║
|
|
29
|
-
║ ║
|
|
30
|
-
║ RÈGLE: Aucun code technique. Tables et diagrammes textuels uniquement. ║
|
|
31
|
-
║ ║
|
|
32
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## STEP 1: Charger la découverte
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
FEATURE_ID=$1
|
|
41
|
-
FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
|
|
42
|
-
DISCOVERY_FILE="$FEATURE_DIR/1-discovery.md"
|
|
43
|
-
|
|
44
|
-
if [ ! -f "$DISCOVERY_FILE" ]; then
|
|
45
|
-
echo "❌ ERREUR: 1-discovery.md non trouvé"
|
|
46
|
-
echo " Lancez d'abord: /business-analyse:2-discover $FEATURE_ID"
|
|
47
|
-
exit 1
|
|
48
|
-
fi
|
|
49
|
-
|
|
50
|
-
# Lire le document discovery
|
|
51
|
-
DISCOVERY_CONTENT=$(cat "$DISCOVERY_FILE")
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## STEP 2: Scanner la documentation existante
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Scanner les BRD existants pour cohérence
|
|
60
|
-
EXISTING_BRDS=$(find .business-analyse -name "2-business-requirements.md" -o -name "2-brd.md" 2>/dev/null)
|
|
61
|
-
|
|
62
|
-
# Scanner les règles métier existantes
|
|
63
|
-
EXISTING_RULES=$(grep -h "^| BR-" $EXISTING_BRDS 2>/dev/null | sort -u)
|
|
64
|
-
|
|
65
|
-
echo "Règles existantes trouvées: $(echo "$EXISTING_RULES" | wc -l)"
|
|
66
|
-
|
|
67
|
-
# Scanner le glossaire
|
|
68
|
-
GLOSSARY=$(cat .business-analyse/glossary.md 2>/dev/null)
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## STEP 3: Extraction et formalisation des règles métier
|
|
74
|
-
|
|
75
|
-
À partir de la découverte, extraire et formaliser chaque règle:
|
|
76
|
-
|
|
77
|
-
### Pattern de règle métier
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
RULE BR-XXX: {Nom de la règle}
|
|
81
|
-
|
|
82
|
-
ÉNONCÉ:
|
|
83
|
-
{Description formelle de la règle}
|
|
84
|
-
|
|
85
|
-
CONDITIONS:
|
|
86
|
-
SI {condition A}
|
|
87
|
-
ET {condition B}
|
|
88
|
-
ALORS {résultat}
|
|
89
|
-
SINON {résultat alternatif}
|
|
90
|
-
|
|
91
|
-
EXEMPLES:
|
|
92
|
-
| Entrée | Sortie attendue |
|
|
93
|
-
|--------|-----------------|
|
|
94
|
-
| {ex1} | {résultat1} |
|
|
95
|
-
| {ex2} | {résultat2} |
|
|
96
|
-
|
|
97
|
-
VALIDATION:
|
|
98
|
-
- Critère 1
|
|
99
|
-
- Critère 2
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## STEP 4: Modélisation des processus
|
|
105
|
-
|
|
106
|
-
### Diagramme de flux (format texte)
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
110
|
-
│ START │────►│ Étape 1 │────►│ Décision │
|
|
111
|
-
│ │ │ {action} │ │ ? │
|
|
112
|
-
└─────────────┘ └─────────────┘ └──────┬──────┘
|
|
113
|
-
│
|
|
114
|
-
┌────────────────────┼────────────────────┐
|
|
115
|
-
│ │ │
|
|
116
|
-
▼ ▼ ▼
|
|
117
|
-
┌─────────┐ ┌─────────┐ ┌─────────┐
|
|
118
|
-
│ Chemin A│ │ Chemin B│ │ Chemin C│
|
|
119
|
-
└────┬────┘ └────┬────┘ └────┬────┘
|
|
120
|
-
│ │ │
|
|
121
|
-
└────────────────────┼────────────────────┘
|
|
122
|
-
│
|
|
123
|
-
▼
|
|
124
|
-
┌─────────────┐
|
|
125
|
-
│ END │
|
|
126
|
-
└─────────────┘
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## STEP 5: Génération du BRD
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
BRD_FILE="$FEATURE_DIR/2-business-requirements.md"
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Template 2-business-requirements.md
|
|
138
|
-
|
|
139
|
-
```markdown
|
|
140
|
-
# BRD - {FEATURE_ID} {Feature Name}
|
|
141
|
-
|
|
142
|
-
> **Module:** business/{application}/{module}
|
|
143
|
-
> **Version:** 1.0
|
|
144
|
-
> **Basé sur:** 1-discovery.md v1.0
|
|
145
|
-
> **Standard:** BABOK v3
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## 1. Résumé exécutif
|
|
150
|
-
|
|
151
|
-
{Synthèse en 3-5 phrases du besoin business et de la solution proposée}
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## 2. Objectifs business
|
|
156
|
-
|
|
157
|
-
| ID | Objectif | Métrique | Baseline | Cible | Deadline |
|
|
158
|
-
|----|----------|----------|----------|-------|----------|
|
|
159
|
-
| OBJ-001 | {objectif} | {KPI} | {actuel} | {cible} | {date} |
|
|
160
|
-
|
|
161
|
-
### 2.1 Critères de succès
|
|
162
|
-
|
|
163
|
-
| Critère | Mesure | Seuil acceptable |
|
|
164
|
-
|---------|--------|------------------|
|
|
165
|
-
| {critère} | {comment mesurer} | {valeur seuil} |
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## 3. Règles métier
|
|
170
|
-
|
|
171
|
-
| ID | Règle | Catégorie | Priorité | Source |
|
|
172
|
-
|----|-------|-----------|----------|--------|
|
|
173
|
-
| BR-001 | {Description courte} | {catégorie} | Must | Discovery Q{x} |
|
|
174
|
-
|
|
175
|
-
### 3.1 Détail BR-001: {Nom}
|
|
176
|
-
|
|
177
|
-
**Énoncé:**
|
|
178
|
-
{Formulation précise et complète de la règle}
|
|
179
|
-
|
|
180
|
-
**Conditions:**
|
|
181
|
-
```
|
|
182
|
-
SI {condition A}
|
|
183
|
-
ET {condition B}
|
|
184
|
-
ALORS {résultat}
|
|
185
|
-
SINON {résultat alternatif}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**Exemples:**
|
|
189
|
-
|
|
190
|
-
| Scénario | Entrée | Sortie attendue |
|
|
191
|
-
|----------|--------|-----------------|
|
|
192
|
-
| Cas nominal | {entrée} | {résultat} |
|
|
193
|
-
| Cas limite | {entrée} | {résultat} |
|
|
194
|
-
| Cas erreur | {entrée} | {erreur} |
|
|
195
|
-
|
|
196
|
-
**Validation:**
|
|
197
|
-
- [ ] {Critère de validation 1}
|
|
198
|
-
- [ ] {Critère de validation 2}
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## 4. Processus métier
|
|
203
|
-
|
|
204
|
-
### 4.1 Processus principal: {Nom}
|
|
205
|
-
|
|
206
|
-
**Acteurs:** {liste des acteurs impliqués}
|
|
207
|
-
|
|
208
|
-
**Déclencheur:** {événement qui démarre le processus}
|
|
209
|
-
|
|
210
|
-
**Flux:**
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
214
|
-
│ Début │────►│ Étape 1 │────►│ Étape 2 │
|
|
215
|
-
│ │ │ {action} │ │ {action} │
|
|
216
|
-
└─────────────┘ └─────────────┘ └──────┬──────┘
|
|
217
|
-
│
|
|
218
|
-
▼
|
|
219
|
-
┌─────────────┐
|
|
220
|
-
│ Étape 3 │
|
|
221
|
-
│ {action} │
|
|
222
|
-
└──────┬──────┘
|
|
223
|
-
│
|
|
224
|
-
▼
|
|
225
|
-
┌─────────────┐
|
|
226
|
-
│ Fin │
|
|
227
|
-
└─────────────┘
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
**Étapes détaillées:**
|
|
231
|
-
|
|
232
|
-
| # | Étape | Acteur | Action | Système | Règles |
|
|
233
|
-
|---|-------|--------|--------|---------|--------|
|
|
234
|
-
| 1 | {nom} | {qui} | {fait quoi} | {réponse} | BR-XXX |
|
|
235
|
-
|
|
236
|
-
### 4.2 Flux alternatifs
|
|
237
|
-
|
|
238
|
-
| Condition | À l'étape | Flux alternatif | Résultat |
|
|
239
|
-
|-----------|-----------|-----------------|----------|
|
|
240
|
-
| {si...} | {#} | {description} | {état final} |
|
|
241
|
-
|
|
242
|
-
### 4.3 Flux d'erreur
|
|
243
|
-
|
|
244
|
-
| Erreur | À l'étape | Gestion | Message utilisateur |
|
|
245
|
-
|--------|-----------|---------|---------------------|
|
|
246
|
-
| {erreur} | {#} | {action} | {message} |
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## 5. Modèle de données (conceptuel)
|
|
251
|
-
|
|
252
|
-
### 5.1 Entités
|
|
253
|
-
|
|
254
|
-
| Entité | Description | Cardinalité |
|
|
255
|
-
|--------|-------------|-------------|
|
|
256
|
-
| {Entité} | {description métier} | {relation} |
|
|
257
|
-
|
|
258
|
-
### 5.2 Attributs (description métier, PAS de types)
|
|
259
|
-
|
|
260
|
-
| Entité | Attribut | Description | Obligatoire | Règles |
|
|
261
|
-
|--------|----------|-------------|-------------|--------|
|
|
262
|
-
| {E} | {attribut} | {description} | Oui/Non | BR-XXX |
|
|
263
|
-
|
|
264
|
-
### 5.3 Relations
|
|
265
|
-
|
|
266
|
-
```
|
|
267
|
-
┌──────────┐ ┌──────────┐
|
|
268
|
-
│ Entité A │───[1:N]─│ Entité B │
|
|
269
|
-
└──────────┘ └──────────┘
|
|
270
|
-
│
|
|
271
|
-
│[1:1]
|
|
272
|
-
▼
|
|
273
|
-
┌──────────┐
|
|
274
|
-
│ Entité C │
|
|
275
|
-
└──────────┘
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
## 6. Intégrations
|
|
281
|
-
|
|
282
|
-
| Système | Direction | Données | Fréquence | Criticité |
|
|
283
|
-
|---------|-----------|---------|-----------|-----------|
|
|
284
|
-
| {sys} | In/Out/Bi | {données} | {freq} | Haute/Moyenne/Basse |
|
|
285
|
-
|
|
286
|
-
### 6.1 Détail intégration {Système}
|
|
287
|
-
|
|
288
|
-
**Objectif:** {pourquoi cette intégration}
|
|
289
|
-
|
|
290
|
-
**Données échangées:**
|
|
291
|
-
|
|
292
|
-
| Champ | Direction | Format | Mapping |
|
|
293
|
-
|-------|-----------|--------|---------|
|
|
294
|
-
| {champ} | {in/out} | {format} | {vers quel champ} |
|
|
295
|
-
|
|
296
|
-
**Gestion des erreurs:**
|
|
297
|
-
- Si {système} indisponible: {comportement}
|
|
298
|
-
- Si données invalides: {comportement}
|
|
299
|
-
|
|
300
|
-
---
|
|
301
|
-
|
|
302
|
-
## 7. Exigences non-fonctionnelles
|
|
303
|
-
|
|
304
|
-
### 7.1 Performance
|
|
305
|
-
|
|
306
|
-
| Métrique | Exigence | Priorité |
|
|
307
|
-
|----------|----------|----------|
|
|
308
|
-
| Temps de réponse | < {x}ms | Must |
|
|
309
|
-
| Utilisateurs simultanés | {n} | Must |
|
|
310
|
-
| Volume de données | {n} enregistrements | Should |
|
|
311
|
-
|
|
312
|
-
### 7.2 Sécurité
|
|
313
|
-
|
|
314
|
-
| Exigence | Description | Priorité |
|
|
315
|
-
|----------|-------------|----------|
|
|
316
|
-
| Authentification | {méthode} | Must |
|
|
317
|
-
| Autorisation | Par permission granulaire | Must |
|
|
318
|
-
| Audit | {actions à logger} | Must |
|
|
319
|
-
| Conformité | {normes: GDPR, etc.} | Must |
|
|
320
|
-
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
## 8. Glossaire du module
|
|
324
|
-
|
|
325
|
-
| Terme | Définition | Synonymes |
|
|
326
|
-
|-------|------------|-----------|
|
|
327
|
-
| {terme} | {définition métier} | {autres termes} |
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
|
|
331
|
-
## 9. Hypothèses et dépendances
|
|
332
|
-
|
|
333
|
-
### 9.1 Hypothèses
|
|
334
|
-
|
|
335
|
-
| # | Hypothèse | Impact si fausse |
|
|
336
|
-
|---|-----------|------------------|
|
|
337
|
-
| H1 | {hypothèse} | {impact} |
|
|
338
|
-
|
|
339
|
-
### 9.2 Dépendances
|
|
340
|
-
|
|
341
|
-
| # | Dépendance | Type | Owner | Status |
|
|
342
|
-
|---|------------|------|-------|--------|
|
|
343
|
-
| D1 | {dépendance} | Technique/Business | {qui} | {status} |
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
## 10. Prochaines étapes
|
|
348
|
-
|
|
349
|
-
- [ ] Valider ce BRD avec le sponsor
|
|
350
|
-
- [ ] Résoudre les hypothèses non confirmées
|
|
351
|
-
- [ ] Lancer `/business-analyse:4-specify {FEATURE_ID}`
|
|
352
|
-
|
|
353
|
-
---
|
|
354
|
-
|
|
355
|
-
## Historique des versions
|
|
356
|
-
|
|
357
|
-
| Version | Date | Auteur | Modifications |
|
|
358
|
-
|---------|------|--------|---------------|
|
|
359
|
-
| 1.0 | {date} | BA (Sonnet) | Création initiale |
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
## STEP 6: Mise à jour du glossaire global
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
# Ajouter les nouveaux termes au glossaire global
|
|
368
|
-
GLOSSARY_FILE=".business-analyse/glossary.md"
|
|
369
|
-
|
|
370
|
-
# Extraire les termes du BRD section 8
|
|
371
|
-
NEW_TERMS=$(grep "^| " "$BRD_FILE" | grep -v "^| Terme" | grep -v "^|---")
|
|
372
|
-
|
|
373
|
-
# Ajouter au glossaire si non existants
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
## STEP 7: Résumé
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
================================================================================
|
|
382
|
-
ANALYSE BUSINESS COMPLÈTE - {FEATURE_ID}
|
|
383
|
-
================================================================================
|
|
384
|
-
|
|
385
|
-
DOCUMENT GÉNÉRÉ: {FEATURE_DIR}/2-business-requirements.md
|
|
386
|
-
MODÈLE UTILISÉ: Sonnet avec ULTRATHINK
|
|
387
|
-
BASÉ SUR: 1-discovery.md v1.0
|
|
388
|
-
|
|
389
|
-
CONTENU:
|
|
390
|
-
Objectifs: {N} définis
|
|
391
|
-
Règles métier: {N} formalisées (BR-001 à BR-XXX)
|
|
392
|
-
Processus: {N} modélisés
|
|
393
|
-
Entités: {N} identifiées
|
|
394
|
-
Intégrations: {N} documentées
|
|
395
|
-
|
|
396
|
-
================================================================================
|
|
397
|
-
PROCHAINE ÉTAPE
|
|
398
|
-
================================================================================
|
|
399
|
-
|
|
400
|
-
1. Valider 2-business-requirements.md avec le sponsor
|
|
401
|
-
2. Lancer les spécifications fonctionnelles:
|
|
402
|
-
|
|
403
|
-
/business-analyse:4-specify {FEATURE_ID}
|
|
404
|
-
|
|
405
|
-
================================================================================
|
|
406
|
-
|
|
407
|
-
Contact support: support@atlshub.ch
|
|
408
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: Phase 3 - Business analysis and BRD (ULTRATHINK)
|
|
3
|
+
agent: ba-analyse
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Phase 3: Analyse Business - BRD
|
|
8
|
+
|
|
9
|
+
> **Modèle:** Sonnet (modélisation, règles métier)
|
|
10
|
+
> **Coût estimé:** ~$0.15
|
|
11
|
+
> **Input:** 1-discovery.md
|
|
12
|
+
> **Output:** 2-business-requirements.md (BRD)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## ULTRATHINK MODE
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
20
|
+
║ ANALYSE MÉTIER APPROFONDIE ║
|
|
21
|
+
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
22
|
+
║ ║
|
|
23
|
+
║ Cette phase transforme la découverte en exigences business formelles: ║
|
|
24
|
+
║ ║
|
|
25
|
+
║ • Formaliser les règles métier (BR-XXX) ║
|
|
26
|
+
║ • Modéliser les processus (diagrammes textuels) ║
|
|
27
|
+
║ • Définir les objectifs mesurables ║
|
|
28
|
+
║ • Identifier les intégrations nécessaires ║
|
|
29
|
+
║ ║
|
|
30
|
+
║ RÈGLE: Aucun code technique. Tables et diagrammes textuels uniquement. ║
|
|
31
|
+
║ ║
|
|
32
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## STEP 1: Charger la découverte
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
FEATURE_ID=$1
|
|
41
|
+
FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
|
|
42
|
+
DISCOVERY_FILE="$FEATURE_DIR/1-discovery.md"
|
|
43
|
+
|
|
44
|
+
if [ ! -f "$DISCOVERY_FILE" ]; then
|
|
45
|
+
echo "❌ ERREUR: 1-discovery.md non trouvé"
|
|
46
|
+
echo " Lancez d'abord: /business-analyse:2-discover $FEATURE_ID"
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Lire le document discovery
|
|
51
|
+
DISCOVERY_CONTENT=$(cat "$DISCOVERY_FILE")
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## STEP 2: Scanner la documentation existante
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Scanner les BRD existants pour cohérence
|
|
60
|
+
EXISTING_BRDS=$(find .business-analyse -name "2-business-requirements.md" -o -name "2-brd.md" 2>/dev/null)
|
|
61
|
+
|
|
62
|
+
# Scanner les règles métier existantes
|
|
63
|
+
EXISTING_RULES=$(grep -h "^| BR-" $EXISTING_BRDS 2>/dev/null | sort -u)
|
|
64
|
+
|
|
65
|
+
echo "Règles existantes trouvées: $(echo "$EXISTING_RULES" | wc -l)"
|
|
66
|
+
|
|
67
|
+
# Scanner le glossaire
|
|
68
|
+
GLOSSARY=$(cat .business-analyse/glossary.md 2>/dev/null)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## STEP 3: Extraction et formalisation des règles métier
|
|
74
|
+
|
|
75
|
+
À partir de la découverte, extraire et formaliser chaque règle:
|
|
76
|
+
|
|
77
|
+
### Pattern de règle métier
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
RULE BR-XXX: {Nom de la règle}
|
|
81
|
+
|
|
82
|
+
ÉNONCÉ:
|
|
83
|
+
{Description formelle de la règle}
|
|
84
|
+
|
|
85
|
+
CONDITIONS:
|
|
86
|
+
SI {condition A}
|
|
87
|
+
ET {condition B}
|
|
88
|
+
ALORS {résultat}
|
|
89
|
+
SINON {résultat alternatif}
|
|
90
|
+
|
|
91
|
+
EXEMPLES:
|
|
92
|
+
| Entrée | Sortie attendue |
|
|
93
|
+
|--------|-----------------|
|
|
94
|
+
| {ex1} | {résultat1} |
|
|
95
|
+
| {ex2} | {résultat2} |
|
|
96
|
+
|
|
97
|
+
VALIDATION:
|
|
98
|
+
- Critère 1
|
|
99
|
+
- Critère 2
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## STEP 4: Modélisation des processus
|
|
105
|
+
|
|
106
|
+
### Diagramme de flux (format texte)
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
110
|
+
│ START │────►│ Étape 1 │────►│ Décision │
|
|
111
|
+
│ │ │ {action} │ │ ? │
|
|
112
|
+
└─────────────┘ └─────────────┘ └──────┬──────┘
|
|
113
|
+
│
|
|
114
|
+
┌────────────────────┼────────────────────┐
|
|
115
|
+
│ │ │
|
|
116
|
+
▼ ▼ ▼
|
|
117
|
+
┌─────────┐ ┌─────────┐ ┌─────────┐
|
|
118
|
+
│ Chemin A│ │ Chemin B│ │ Chemin C│
|
|
119
|
+
└────┬────┘ └────┬────┘ └────┬────┘
|
|
120
|
+
│ │ │
|
|
121
|
+
└────────────────────┼────────────────────┘
|
|
122
|
+
│
|
|
123
|
+
▼
|
|
124
|
+
┌─────────────┐
|
|
125
|
+
│ END │
|
|
126
|
+
└─────────────┘
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## STEP 5: Génération du BRD
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
BRD_FILE="$FEATURE_DIR/2-business-requirements.md"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Template 2-business-requirements.md
|
|
138
|
+
|
|
139
|
+
```markdown
|
|
140
|
+
# BRD - {FEATURE_ID} {Feature Name}
|
|
141
|
+
|
|
142
|
+
> **Module:** business/{application}/{module}
|
|
143
|
+
> **Version:** 1.0
|
|
144
|
+
> **Basé sur:** 1-discovery.md v1.0
|
|
145
|
+
> **Standard:** BABOK v3
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 1. Résumé exécutif
|
|
150
|
+
|
|
151
|
+
{Synthèse en 3-5 phrases du besoin business et de la solution proposée}
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 2. Objectifs business
|
|
156
|
+
|
|
157
|
+
| ID | Objectif | Métrique | Baseline | Cible | Deadline |
|
|
158
|
+
|----|----------|----------|----------|-------|----------|
|
|
159
|
+
| OBJ-001 | {objectif} | {KPI} | {actuel} | {cible} | {date} |
|
|
160
|
+
|
|
161
|
+
### 2.1 Critères de succès
|
|
162
|
+
|
|
163
|
+
| Critère | Mesure | Seuil acceptable |
|
|
164
|
+
|---------|--------|------------------|
|
|
165
|
+
| {critère} | {comment mesurer} | {valeur seuil} |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 3. Règles métier
|
|
170
|
+
|
|
171
|
+
| ID | Règle | Catégorie | Priorité | Source |
|
|
172
|
+
|----|-------|-----------|----------|--------|
|
|
173
|
+
| BR-001 | {Description courte} | {catégorie} | Must | Discovery Q{x} |
|
|
174
|
+
|
|
175
|
+
### 3.1 Détail BR-001: {Nom}
|
|
176
|
+
|
|
177
|
+
**Énoncé:**
|
|
178
|
+
{Formulation précise et complète de la règle}
|
|
179
|
+
|
|
180
|
+
**Conditions:**
|
|
181
|
+
```
|
|
182
|
+
SI {condition A}
|
|
183
|
+
ET {condition B}
|
|
184
|
+
ALORS {résultat}
|
|
185
|
+
SINON {résultat alternatif}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Exemples:**
|
|
189
|
+
|
|
190
|
+
| Scénario | Entrée | Sortie attendue |
|
|
191
|
+
|----------|--------|-----------------|
|
|
192
|
+
| Cas nominal | {entrée} | {résultat} |
|
|
193
|
+
| Cas limite | {entrée} | {résultat} |
|
|
194
|
+
| Cas erreur | {entrée} | {erreur} |
|
|
195
|
+
|
|
196
|
+
**Validation:**
|
|
197
|
+
- [ ] {Critère de validation 1}
|
|
198
|
+
- [ ] {Critère de validation 2}
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 4. Processus métier
|
|
203
|
+
|
|
204
|
+
### 4.1 Processus principal: {Nom}
|
|
205
|
+
|
|
206
|
+
**Acteurs:** {liste des acteurs impliqués}
|
|
207
|
+
|
|
208
|
+
**Déclencheur:** {événement qui démarre le processus}
|
|
209
|
+
|
|
210
|
+
**Flux:**
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
214
|
+
│ Début │────►│ Étape 1 │────►│ Étape 2 │
|
|
215
|
+
│ │ │ {action} │ │ {action} │
|
|
216
|
+
└─────────────┘ └─────────────┘ └──────┬──────┘
|
|
217
|
+
│
|
|
218
|
+
▼
|
|
219
|
+
┌─────────────┐
|
|
220
|
+
│ Étape 3 │
|
|
221
|
+
│ {action} │
|
|
222
|
+
└──────┬──────┘
|
|
223
|
+
│
|
|
224
|
+
▼
|
|
225
|
+
┌─────────────┐
|
|
226
|
+
│ Fin │
|
|
227
|
+
└─────────────┘
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Étapes détaillées:**
|
|
231
|
+
|
|
232
|
+
| # | Étape | Acteur | Action | Système | Règles |
|
|
233
|
+
|---|-------|--------|--------|---------|--------|
|
|
234
|
+
| 1 | {nom} | {qui} | {fait quoi} | {réponse} | BR-XXX |
|
|
235
|
+
|
|
236
|
+
### 4.2 Flux alternatifs
|
|
237
|
+
|
|
238
|
+
| Condition | À l'étape | Flux alternatif | Résultat |
|
|
239
|
+
|-----------|-----------|-----------------|----------|
|
|
240
|
+
| {si...} | {#} | {description} | {état final} |
|
|
241
|
+
|
|
242
|
+
### 4.3 Flux d'erreur
|
|
243
|
+
|
|
244
|
+
| Erreur | À l'étape | Gestion | Message utilisateur |
|
|
245
|
+
|--------|-----------|---------|---------------------|
|
|
246
|
+
| {erreur} | {#} | {action} | {message} |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 5. Modèle de données (conceptuel)
|
|
251
|
+
|
|
252
|
+
### 5.1 Entités
|
|
253
|
+
|
|
254
|
+
| Entité | Description | Cardinalité |
|
|
255
|
+
|--------|-------------|-------------|
|
|
256
|
+
| {Entité} | {description métier} | {relation} |
|
|
257
|
+
|
|
258
|
+
### 5.2 Attributs (description métier, PAS de types)
|
|
259
|
+
|
|
260
|
+
| Entité | Attribut | Description | Obligatoire | Règles |
|
|
261
|
+
|--------|----------|-------------|-------------|--------|
|
|
262
|
+
| {E} | {attribut} | {description} | Oui/Non | BR-XXX |
|
|
263
|
+
|
|
264
|
+
### 5.3 Relations
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
┌──────────┐ ┌──────────┐
|
|
268
|
+
│ Entité A │───[1:N]─│ Entité B │
|
|
269
|
+
└──────────┘ └──────────┘
|
|
270
|
+
│
|
|
271
|
+
│[1:1]
|
|
272
|
+
▼
|
|
273
|
+
┌──────────┐
|
|
274
|
+
│ Entité C │
|
|
275
|
+
└──────────┘
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 6. Intégrations
|
|
281
|
+
|
|
282
|
+
| Système | Direction | Données | Fréquence | Criticité |
|
|
283
|
+
|---------|-----------|---------|-----------|-----------|
|
|
284
|
+
| {sys} | In/Out/Bi | {données} | {freq} | Haute/Moyenne/Basse |
|
|
285
|
+
|
|
286
|
+
### 6.1 Détail intégration {Système}
|
|
287
|
+
|
|
288
|
+
**Objectif:** {pourquoi cette intégration}
|
|
289
|
+
|
|
290
|
+
**Données échangées:**
|
|
291
|
+
|
|
292
|
+
| Champ | Direction | Format | Mapping |
|
|
293
|
+
|-------|-----------|--------|---------|
|
|
294
|
+
| {champ} | {in/out} | {format} | {vers quel champ} |
|
|
295
|
+
|
|
296
|
+
**Gestion des erreurs:**
|
|
297
|
+
- Si {système} indisponible: {comportement}
|
|
298
|
+
- Si données invalides: {comportement}
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 7. Exigences non-fonctionnelles
|
|
303
|
+
|
|
304
|
+
### 7.1 Performance
|
|
305
|
+
|
|
306
|
+
| Métrique | Exigence | Priorité |
|
|
307
|
+
|----------|----------|----------|
|
|
308
|
+
| Temps de réponse | < {x}ms | Must |
|
|
309
|
+
| Utilisateurs simultanés | {n} | Must |
|
|
310
|
+
| Volume de données | {n} enregistrements | Should |
|
|
311
|
+
|
|
312
|
+
### 7.2 Sécurité
|
|
313
|
+
|
|
314
|
+
| Exigence | Description | Priorité |
|
|
315
|
+
|----------|-------------|----------|
|
|
316
|
+
| Authentification | {méthode} | Must |
|
|
317
|
+
| Autorisation | Par permission granulaire | Must |
|
|
318
|
+
| Audit | {actions à logger} | Must |
|
|
319
|
+
| Conformité | {normes: GDPR, etc.} | Must |
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## 8. Glossaire du module
|
|
324
|
+
|
|
325
|
+
| Terme | Définition | Synonymes |
|
|
326
|
+
|-------|------------|-----------|
|
|
327
|
+
| {terme} | {définition métier} | {autres termes} |
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## 9. Hypothèses et dépendances
|
|
332
|
+
|
|
333
|
+
### 9.1 Hypothèses
|
|
334
|
+
|
|
335
|
+
| # | Hypothèse | Impact si fausse |
|
|
336
|
+
|---|-----------|------------------|
|
|
337
|
+
| H1 | {hypothèse} | {impact} |
|
|
338
|
+
|
|
339
|
+
### 9.2 Dépendances
|
|
340
|
+
|
|
341
|
+
| # | Dépendance | Type | Owner | Status |
|
|
342
|
+
|---|------------|------|-------|--------|
|
|
343
|
+
| D1 | {dépendance} | Technique/Business | {qui} | {status} |
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## 10. Prochaines étapes
|
|
348
|
+
|
|
349
|
+
- [ ] Valider ce BRD avec le sponsor
|
|
350
|
+
- [ ] Résoudre les hypothèses non confirmées
|
|
351
|
+
- [ ] Lancer `/business-analyse:4-specify {FEATURE_ID}`
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Historique des versions
|
|
356
|
+
|
|
357
|
+
| Version | Date | Auteur | Modifications |
|
|
358
|
+
|---------|------|--------|---------------|
|
|
359
|
+
| 1.0 | {date} | BA (Sonnet) | Création initiale |
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## STEP 6: Mise à jour du glossaire global
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Ajouter les nouveaux termes au glossaire global
|
|
368
|
+
GLOSSARY_FILE=".business-analyse/glossary.md"
|
|
369
|
+
|
|
370
|
+
# Extraire les termes du BRD section 8
|
|
371
|
+
NEW_TERMS=$(grep "^| " "$BRD_FILE" | grep -v "^| Terme" | grep -v "^|---")
|
|
372
|
+
|
|
373
|
+
# Ajouter au glossaire si non existants
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## STEP 7: Résumé
|
|
379
|
+
|
|
380
|
+
```
|
|
381
|
+
================================================================================
|
|
382
|
+
ANALYSE BUSINESS COMPLÈTE - {FEATURE_ID}
|
|
383
|
+
================================================================================
|
|
384
|
+
|
|
385
|
+
DOCUMENT GÉNÉRÉ: {FEATURE_DIR}/2-business-requirements.md
|
|
386
|
+
MODÈLE UTILISÉ: Sonnet avec ULTRATHINK
|
|
387
|
+
BASÉ SUR: 1-discovery.md v1.0
|
|
388
|
+
|
|
389
|
+
CONTENU:
|
|
390
|
+
Objectifs: {N} définis
|
|
391
|
+
Règles métier: {N} formalisées (BR-001 à BR-XXX)
|
|
392
|
+
Processus: {N} modélisés
|
|
393
|
+
Entités: {N} identifiées
|
|
394
|
+
Intégrations: {N} documentées
|
|
395
|
+
|
|
396
|
+
================================================================================
|
|
397
|
+
PROCHAINE ÉTAPE
|
|
398
|
+
================================================================================
|
|
399
|
+
|
|
400
|
+
1. Valider 2-business-requirements.md avec le sponsor
|
|
401
|
+
2. Lancer les spécifications fonctionnelles:
|
|
402
|
+
|
|
403
|
+
/business-analyse:4-specify {FEATURE_ID}
|
|
404
|
+
|
|
405
|
+
================================================================================
|
|
406
|
+
|
|
407
|
+
Contact support: support@atlshub.ch
|
|
408
|
+
```
|