@atlashub/smartstack-cli 1.11.0 → 1.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.documentation/agents.html +7 -2
- package/.documentation/apex.html +7 -2
- package/.documentation/business-analyse.html +7 -2
- package/.documentation/cli-commands.html +871 -0
- package/.documentation/commands.html +7 -2
- package/.documentation/efcore.html +7 -2
- package/.documentation/gitflow.html +7 -2
- package/.documentation/hooks.html +7 -2
- package/.documentation/index.html +7 -2
- package/.documentation/init.html +7 -2
- package/.documentation/installation.html +7 -2
- package/.documentation/ralph-loop.html +7 -2
- package/.documentation/test-web.html +7 -2
- package/dist/index.js +1932 -336
- package/dist/index.js.map +1 -1
- package/package.json +8 -2
- package/templates/agents/efcore/squash.md +67 -31
- package/templates/agents/gitflow/finish.md +68 -56
- package/templates/commands/business-analyse/0-orchestrate.md +72 -556
- package/templates/commands/business-analyse/1-init.md +23 -193
- package/templates/commands/business-analyse/2-discover.md +85 -462
- package/templates/commands/business-analyse/3-analyse.md +40 -342
- package/templates/commands/business-analyse/4-specify.md +72 -537
- package/templates/commands/business-analyse/5-validate.md +43 -237
- package/templates/commands/business-analyse/6-handoff.md +93 -682
- package/templates/commands/business-analyse/7-doc-html.md +45 -544
- package/templates/commands/business-analyse/_shared.md +176 -0
- package/templates/commands/business-analyse/bug.md +50 -257
- package/templates/commands/business-analyse/change-request.md +59 -283
- package/templates/commands/business-analyse/hotfix.md +36 -120
- package/templates/commands/business-analyse.md +55 -574
- package/templates/commands/efcore/_shared.md +206 -0
- package/templates/commands/efcore/conflicts.md +39 -201
- package/templates/commands/efcore/db-deploy.md +28 -237
- package/templates/commands/efcore/db-reset.md +41 -390
- package/templates/commands/efcore/db-seed.md +44 -323
- package/templates/commands/efcore/db-status.md +31 -210
- package/templates/commands/efcore/migration.md +45 -368
- package/templates/commands/efcore/rebase-snapshot.md +38 -241
- package/templates/commands/efcore/scan.md +35 -204
- package/templates/commands/efcore/squash.md +158 -251
- package/templates/commands/efcore.md +49 -177
- package/templates/commands/gitflow/1-init.md +94 -1318
- package/templates/commands/gitflow/10-start.md +86 -990
- package/templates/commands/gitflow/11-finish.md +264 -454
- package/templates/commands/gitflow/12-cleanup.md +40 -213
- package/templates/commands/gitflow/2-status.md +51 -386
- package/templates/commands/gitflow/3-commit.md +108 -801
- package/templates/commands/gitflow/4-plan.md +42 -13
- package/templates/commands/gitflow/5-exec.md +60 -5
- package/templates/commands/gitflow/6-abort.md +54 -277
- package/templates/commands/gitflow/7-pull-request.md +74 -717
- package/templates/commands/gitflow/8-review.md +51 -178
- package/templates/commands/gitflow/9-merge.md +74 -404
- package/templates/commands/gitflow/_shared.md +196 -0
- package/templates/commands/quickstart.md +154 -0
- package/templates/commands/ralph-loop/ralph-loop.md +104 -2
- package/templates/hooks/hooks.json +13 -0
- package/templates/hooks/ralph-mcp-logger.sh +46 -0
- package/templates/hooks/ralph-session-end.sh +69 -0
- package/templates/ralph/README.md +91 -0
- package/templates/ralph/ralph.config.yaml +113 -0
- package/templates/scripts/setup-ralph-loop.sh +173 -0
- package/templates/skills/_shared.md +117 -0
- package/templates/skills/ai-prompt/SKILL.md +87 -654
- package/templates/skills/application/SKILL.md +76 -499
- package/templates/skills/controller/SKILL.md +38 -165
- package/templates/skills/documentation/SKILL.md +2 -1
- package/templates/skills/feature-full/SKILL.md +107 -732
- package/templates/skills/notification/SKILL.md +85 -474
- package/templates/skills/ui-components/SKILL.md +62 -762
- package/templates/skills/workflow/SKILL.md +85 -489
- package/templates/commands/gitflow/rescue.md +0 -867
- package/templates/skills/business-analyse/SKILL.md +0 -191
|
@@ -4,517 +4,140 @@ agent: ba-discover
|
|
|
4
4
|
model: opus
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# Phase 2: Discovery - Élicitation
|
|
7
|
+
# Phase 2: Discovery - Élicitation
|
|
8
8
|
|
|
9
|
-
> **
|
|
10
|
-
> **
|
|
11
|
-
> **Standard:** BABOK v3 - Techniques d'élicitation
|
|
9
|
+
> **Ref:** Fonctions communes dans [_shared.md](_shared.md)
|
|
10
|
+
> **Questionnaire:** [questionnaire.md](../skills/business-analyse/questionnaire.md)
|
|
12
11
|
|
|
13
12
|
---
|
|
14
13
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
19
|
-
║ UTILISATION AVEC RALPH-LOOP POUR SPECS EN BÉTON ║
|
|
20
|
-
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
21
|
-
║ ║
|
|
22
|
-
║ /ralph-loop "/business-analyse:2-discover FEAT-XXX" ║
|
|
23
|
-
║ --completion-promise "COMPLETE" --max-iterations 15 ║
|
|
24
|
-
║ ║
|
|
25
|
-
║ FICHIERS RALPH (créés automatiquement): ║
|
|
26
|
-
║ ├── prd.json → Catégories à documenter avec statut ║
|
|
27
|
-
║ └── progress.txt → Mémoire des questions/réponses ║
|
|
28
|
-
║ ║
|
|
29
|
-
║ PROCESSUS PAR ITERATION: ║
|
|
30
|
-
║ 1. Lire prd.json → Trouver prochaine catégorie "passes": false ║
|
|
31
|
-
║ 2. Lire progress.txt → Voir questions déjà posées ║
|
|
32
|
-
║ 3. Poser questions sur UNE catégorie ║
|
|
33
|
-
║ 4. Mettre à jour 1-discovery.md ║
|
|
34
|
-
║ 5. Mettre à jour prd.json → "passes": true ║
|
|
35
|
-
║ 6. Ajouter Q&R à progress.txt ║
|
|
36
|
-
║ 7. Si TOUTES catégories "passes": true → <promise>COMPLETE</promise> ║
|
|
37
|
-
║ ║
|
|
38
|
-
║ SIGNAL DE FIN: <promise>COMPLETE</promise> ║
|
|
39
|
-
║ ║
|
|
40
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Structure prd.json pour Discovery
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
{
|
|
47
|
-
"feature_id": "FEAT-XXX",
|
|
48
|
-
"phase": "discovery",
|
|
49
|
-
"userStories": [
|
|
50
|
-
{ "id": "1", "title": "Section Contexte Business", "passes": false },
|
|
51
|
-
{ "id": "2", "title": "Section Stakeholders (≥3)", "passes": false },
|
|
52
|
-
{ "id": "3", "title": "Section Périmètre (≥5 must-have)", "passes": false },
|
|
53
|
-
{ "id": "4", "title": "Section Données et Entités", "passes": false },
|
|
54
|
-
{ "id": "5", "title": "Section Sécurité (matrice CRUD)", "passes": false },
|
|
55
|
-
{ "id": "6", "title": "Section Contraintes", "passes": false },
|
|
56
|
-
{ "id": "7", "title": "Section Intégrations SmartStack", "passes": false },
|
|
57
|
-
{ "id": "8", "title": "Section Questions ouvertes", "passes": false },
|
|
58
|
-
{ "id": "9", "title": "Validation: aucun TBD/? restant", "passes": false }
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## ULTRATHINK MODE (OBLIGATOIRE)
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
69
|
-
║ ULTRATHINK: Réflexion approfondie pour élicitation exhaustive ║
|
|
70
|
-
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
71
|
-
║ ║
|
|
72
|
-
║ CE MODE EXIGE: ║
|
|
73
|
-
║ • Considérer TOUS les edge cases avant chaque question ║
|
|
74
|
-
║ • Challenger CHAQUE hypothèse du stakeholder ║
|
|
75
|
-
║ • Anticiper les besoins NON exprimés ║
|
|
76
|
-
║ • Ne JAMAIS accepter de réponses vagues ║
|
|
77
|
-
║ • Valider la complétude avant de passer à la catégorie suivante ║
|
|
78
|
-
║ ║
|
|
79
|
-
║ QUESTIONS DE SUIVI OBLIGATOIRES: ║
|
|
80
|
-
║ • "Pouvez-vous donner un exemple concret?" ║
|
|
81
|
-
║ • "Comment mesurez-vous cela aujourd'hui?" ║
|
|
82
|
-
║ • "Que se passe-t-il si cette règle n'est pas respectée?" ║
|
|
83
|
-
║ • "Qui est impacté par cette décision?" ║
|
|
84
|
-
║ ║
|
|
85
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## STEP 1: Charger le contexte
|
|
14
|
+
## Prérequis
|
|
91
15
|
|
|
92
16
|
```bash
|
|
93
|
-
|
|
94
|
-
CONFIG=$(cat .business-analyse/config.json)
|
|
95
|
-
FEATURE_ID=$1 # Paramètre: FEAT-XXX
|
|
96
|
-
|
|
97
|
-
# Trouver le dossier feature
|
|
98
|
-
FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
|
|
99
|
-
|
|
100
|
-
if [ -z "$FEATURE_DIR" ]; then
|
|
101
|
-
echo "❌ ERREUR: Feature $FEATURE_ID non trouvée"
|
|
102
|
-
echo " Lancez d'abord: /business-analyse:1-init"
|
|
103
|
-
exit 1
|
|
104
|
-
fi
|
|
105
|
-
|
|
106
|
-
# Extraire application et module du path
|
|
107
|
-
APPLICATION=$(echo $FEATURE_DIR | grep -oP 'business/\K[^/]+')
|
|
108
|
-
MODULE=$(echo $FEATURE_DIR | grep -oP 'modules/\K[^/]+')
|
|
17
|
+
find_feature_dir "$1" || exit 1
|
|
109
18
|
```
|
|
110
19
|
|
|
111
20
|
---
|
|
112
21
|
|
|
113
|
-
##
|
|
114
|
-
|
|
115
|
-
```javascript
|
|
116
|
-
AskUserQuestion({
|
|
117
|
-
questions: [{
|
|
118
|
-
question: "Décrivez le besoin business en quelques phrases. Quel problème voulez-vous résoudre?",
|
|
119
|
-
header: "Besoin",
|
|
120
|
-
options: [
|
|
121
|
-
{ label: "Nouveau processus", description: "Créer un processus qui n'existe pas" },
|
|
122
|
-
{ label: "Amélioration", description: "Améliorer un processus existant" },
|
|
123
|
-
{ label: "Automatisation", description: "Automatiser des tâches manuelles" },
|
|
124
|
-
{ label: "Intégration", description: "Connecter des systèmes existants" }
|
|
125
|
-
],
|
|
126
|
-
multiSelect: false
|
|
127
|
-
}]
|
|
128
|
-
})
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## STEP 3: Élicitation structurée (40+ questions)
|
|
134
|
-
|
|
135
|
-
> **Référence:** Utiliser le questionnaire complet dans `questionnaire.md`
|
|
136
|
-
|
|
137
|
-
### 3.1 Contexte Business (Q1.1 - Q1.8)
|
|
138
|
-
|
|
139
|
-
Questions clés à poser:
|
|
140
|
-
- Quel problème business ce module doit-il résoudre?
|
|
141
|
-
- Quelle est la situation actuelle (AS-IS)?
|
|
142
|
-
- Quelle est la situation cible (TO-BE)?
|
|
143
|
-
- Quels sont les KPIs de succès mesurables?
|
|
144
|
-
|
|
145
|
-
**ULTRATHINK:** Pour chaque réponse, challenger avec "Pourquoi?" au moins 3 fois.
|
|
146
|
-
|
|
147
|
-
### 3.2 Stakeholders (Q2.1 - Q2.8)
|
|
148
|
-
|
|
149
|
-
Questions clés:
|
|
150
|
-
- Qui sont les utilisateurs finaux directs?
|
|
151
|
-
- Qui est le sponsor/décideur final?
|
|
152
|
-
- Pour chaque rôle: Quelles tâches doit-il accomplir?
|
|
153
|
-
|
|
154
|
-
**ULTRATHINK:** Créer une matrice rôle/responsabilité/fréquence.
|
|
155
|
-
|
|
156
|
-
### 3.3 Périmètre fonctionnel (Q3.1 - Q3.8)
|
|
157
|
-
|
|
158
|
-
Questions clés:
|
|
159
|
-
- Fonctionnalités ESSENTIELLES (Must-Have)?
|
|
160
|
-
- Fonctionnalités SOUHAITÉES (Should-Have)?
|
|
161
|
-
- Qu'est-ce qui est EXPLICITEMENT exclu?
|
|
162
|
-
|
|
163
|
-
**ULTRATHINK:** Pour chaque Must-Have, demander "Que se passe-t-il sans cette fonctionnalité?"
|
|
164
|
-
|
|
165
|
-
### 3.4 Données (Q4.1 - Q4.8)
|
|
166
|
-
|
|
167
|
-
Questions clés:
|
|
168
|
-
- Quelles sont les entités principales manipulées?
|
|
169
|
-
- Pour chaque entité: attributs importants?
|
|
170
|
-
- Données sensibles à protéger?
|
|
22
|
+
## Élicitation structurée (40+ questions)
|
|
171
23
|
|
|
172
|
-
|
|
24
|
+
### Catégories à couvrir
|
|
173
25
|
|
|
174
|
-
|
|
26
|
+
| Cat | Thème | Questions clés |
|
|
27
|
+
|-----|-------|----------------|
|
|
28
|
+
| 1 | Contexte Business | AS-IS, TO-BE, KPIs |
|
|
29
|
+
| 2 | Stakeholders | Rôles, responsabilités, pain points |
|
|
30
|
+
| 3 | Périmètre | Must/Should/Could-Have, exclusions |
|
|
31
|
+
| 4 | Données | Entités, attributs, relations, sensibilité |
|
|
32
|
+
| 5 | Sécurité | Matrice CRUD, audit, conformité |
|
|
33
|
+
| 6 | Contraintes | Techniques, budget, délais |
|
|
34
|
+
| 7 | Intégrations SmartStack | Notifications, Workflows, IA |
|
|
35
|
+
| 8 | Questions ouvertes | À résoudre |
|
|
175
36
|
|
|
176
|
-
|
|
177
|
-
- Qui peut VOIR/CRÉER/MODIFIER/SUPPRIMER?
|
|
178
|
-
- Audit trail requis?
|
|
179
|
-
- Conformité réglementaire?
|
|
180
|
-
|
|
181
|
-
**ULTRATHINK:** Construire matrice CRUD par rôle.
|
|
182
|
-
|
|
183
|
-
### 3.6 Intégrations SmartStack (Q7.1 - Q7.10) ⭐ NOUVEAU
|
|
184
|
-
|
|
185
|
-
> **CRITIQUE:** Ces questions déterminent les skills à utiliser pendant l'implémentation.
|
|
186
|
-
|
|
187
|
-
#### Notifications (Q7.1 - Q7.3)
|
|
188
|
-
|
|
189
|
-
```javascript
|
|
190
|
-
AskUserQuestion({
|
|
191
|
-
questions: [{
|
|
192
|
-
question: "Des notifications in-app sont-elles nécessaires pour cette feature?",
|
|
193
|
-
header: "Notifs",
|
|
194
|
-
options: [
|
|
195
|
-
{ label: "Oui", description: "Notifier les utilisateurs lors d'événements" },
|
|
196
|
-
{ label: "Non", description: "Pas de notification nécessaire" },
|
|
197
|
-
{ label: "À déterminer", description: "À analyser selon les cas d'usage" }
|
|
198
|
-
],
|
|
199
|
-
multiSelect: false
|
|
200
|
-
}]
|
|
201
|
-
})
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
Si OUI, demander:
|
|
205
|
-
- Q7.2: Quels événements déclenchent une notification? (création, modification, assignation, etc.)
|
|
206
|
-
- Q7.3: Qui doit être notifié? (créateur, assigné, admin, rôle spécifique)
|
|
207
|
-
|
|
208
|
-
#### Workflows & Emails (Q7.4 - Q7.6)
|
|
209
|
-
|
|
210
|
-
```javascript
|
|
211
|
-
AskUserQuestion({
|
|
212
|
-
questions: [{
|
|
213
|
-
question: "Des workflows automatisés sont-ils nécessaires? (emails, rappels, escalades)",
|
|
214
|
-
header: "Workflow",
|
|
215
|
-
options: [
|
|
216
|
-
{ label: "Oui - Email", description: "Envoi d'emails automatiques" },
|
|
217
|
-
{ label: "Oui - Rappels", description: "Rappels programmés (ex: SLA)" },
|
|
218
|
-
{ label: "Oui - Multi-étapes", description: "Workflow complexe multi-étapes" },
|
|
219
|
-
{ label: "Non", description: "Pas de workflow automatisé" }
|
|
220
|
-
],
|
|
221
|
-
multiSelect: true
|
|
222
|
-
}]
|
|
223
|
-
})
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
Si OUI, demander:
|
|
227
|
-
- Q7.5: Quels triggers déclenchent le workflow? (entity.created, entity.updated, etc.)
|
|
228
|
-
- Q7.6: Quelles variables sont disponibles? (entityId, entityName, userEmail, etc.)
|
|
229
|
-
|
|
230
|
-
#### Assistance IA (Q7.7 - Q7.10)
|
|
231
|
-
|
|
232
|
-
```javascript
|
|
233
|
-
AskUserQuestion({
|
|
234
|
-
questions: [{
|
|
235
|
-
question: "Une assistance IA est-elle pertinente pour cette feature?",
|
|
236
|
-
header: "IA",
|
|
237
|
-
options: [
|
|
238
|
-
{ label: "Génération texte", description: "Générer du contenu (descriptions, résumés)" },
|
|
239
|
-
{ label: "Classification", description: "Catégoriser automatiquement (priorité, tags)" },
|
|
240
|
-
{ label: "Suggestions", description: "Proposer des actions ou réponses" },
|
|
241
|
-
{ label: "Non applicable", description: "Pas d'IA nécessaire" }
|
|
242
|
-
],
|
|
243
|
-
multiSelect: true
|
|
244
|
-
}]
|
|
245
|
-
})
|
|
246
|
-
```
|
|
37
|
+
---
|
|
247
38
|
|
|
248
|
-
|
|
249
|
-
- Q7.8: Quel type de sortie attendue? (texte libre, JSON structuré, enum)
|
|
250
|
-
- Q7.9: Quelles données d'entrée? (contexte, historique, documents)
|
|
251
|
-
- Q7.10: Quelle validation requise? (schema JSON, longueur max, format)
|
|
39
|
+
## ULTRATHINK obligatoire
|
|
252
40
|
|
|
253
|
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
256
|
-
-
|
|
41
|
+
Pour chaque réponse:
|
|
42
|
+
- Challenger avec "Pourquoi?" 3× minimum
|
|
43
|
+
- Demander exemples concrets
|
|
44
|
+
- Valider complétude avant catégorie suivante
|
|
257
45
|
|
|
258
46
|
---
|
|
259
47
|
|
|
260
|
-
##
|
|
261
|
-
|
|
262
|
-
Pour chaque catégorie complétée:
|
|
48
|
+
## Intégrations SmartStack (Section 7)
|
|
263
49
|
|
|
264
50
|
```javascript
|
|
265
51
|
AskUserQuestion({
|
|
266
|
-
questions: [
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
52
|
+
questions: [
|
|
53
|
+
{
|
|
54
|
+
question: "Notifications in-app nécessaires?",
|
|
55
|
+
header: "Notifs",
|
|
56
|
+
options: [
|
|
57
|
+
{ label: "Oui", description: "Notifier sur événements" },
|
|
58
|
+
{ label: "Non", description: "Pas nécessaire" }
|
|
59
|
+
],
|
|
60
|
+
multiSelect: false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: "Workflows automatisés nécessaires?",
|
|
64
|
+
header: "Workflow",
|
|
65
|
+
options: [
|
|
66
|
+
{ label: "Email", description: "Envoi emails auto" },
|
|
67
|
+
{ label: "Rappels/SLA", description: "Notifications délais" },
|
|
68
|
+
{ label: "Aucun", description: "Pas de workflow" }
|
|
69
|
+
],
|
|
70
|
+
multiSelect: true
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: "Assistance IA pertinente?",
|
|
74
|
+
header: "IA",
|
|
75
|
+
options: [
|
|
76
|
+
{ label: "Génération texte", description: "Contenu auto" },
|
|
77
|
+
{ label: "Classification", description: "Catégorisation" },
|
|
78
|
+
{ label: "Non", description: "Pas d'IA" }
|
|
79
|
+
],
|
|
80
|
+
multiSelect: true
|
|
81
|
+
}
|
|
82
|
+
]
|
|
276
83
|
})
|
|
277
84
|
```
|
|
278
85
|
|
|
279
86
|
---
|
|
280
87
|
|
|
281
|
-
##
|
|
282
|
-
|
|
283
|
-
```bash
|
|
284
|
-
DISCOVERY_FILE="$FEATURE_DIR/1-discovery.md"
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Template 1-discovery.md
|
|
88
|
+
## Template 1-discovery.md
|
|
288
89
|
|
|
289
90
|
```markdown
|
|
290
|
-
# Discovery - {FEATURE_ID}
|
|
291
|
-
|
|
292
|
-
> **Module:** business/{application}/{module}
|
|
293
|
-
> **Version:** 1.0
|
|
294
|
-
> **Date:** {YYYY-MM-DD}
|
|
295
|
-
> **Auteur:** Business Analyst (Claude OPUS)
|
|
91
|
+
# Discovery - {FEATURE_ID}
|
|
296
92
|
|
|
297
|
-
|
|
93
|
+
> **Module:** business/{app}/{module} | **Version:** 1.0
|
|
298
94
|
|
|
299
95
|
## 1. Contexte Business
|
|
300
|
-
|
|
301
|
-
### 1.1 Description du besoin
|
|
302
|
-
{Besoin exprimé par le stakeholder}
|
|
303
|
-
|
|
304
|
-
### 1.2 Problème actuel (AS-IS)
|
|
305
|
-
{Description de la situation actuelle et ses limitations}
|
|
306
|
-
|
|
307
|
-
### 1.3 Situation cible (TO-BE)
|
|
308
|
-
{Description de l'état souhaité après implémentation}
|
|
309
|
-
|
|
310
|
-
### 1.4 Valeur attendue
|
|
311
|
-
|
|
312
|
-
| KPI | Valeur actuelle | Valeur cible | Gain |
|
|
313
|
-
|-----|-----------------|--------------|------|
|
|
314
|
-
| {kpi} | {actuel} | {cible} | {gain} |
|
|
315
|
-
|
|
316
|
-
---
|
|
96
|
+
### AS-IS | TO-BE | KPIs
|
|
317
97
|
|
|
318
98
|
## 2. Stakeholders
|
|
319
|
-
|
|
320
|
-
| Rôle | Nom/Fonction | Implication | Niveau décision |
|
|
321
|
-
|------|--------------|-------------|-----------------|
|
|
322
|
-
| {rôle} | {nom} | {description} | {niveau} |
|
|
323
|
-
|
|
324
|
-
### 2.1 Besoins par rôle
|
|
325
|
-
|
|
326
|
-
| Rôle | Tâches principales | Fréquence | Pain points actuels |
|
|
327
|
-
|------|-------------------|-----------|---------------------|
|
|
328
|
-
| {rôle} | {tâches} | {fréquence} | {frustrations} |
|
|
329
|
-
|
|
330
|
-
---
|
|
99
|
+
| Rôle | Implication | Pain points |
|
|
331
100
|
|
|
332
101
|
## 3. Périmètre
|
|
102
|
+
### Must-Have | Should-Have | Out of Scope
|
|
333
103
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
| # | Fonctionnalité | Justification |
|
|
337
|
-
|---|----------------|---------------|
|
|
338
|
-
| 1 | {fonctionnalité} | {pourquoi essentiel} |
|
|
339
|
-
|
|
340
|
-
### 3.2 In Scope (Should-Have)
|
|
341
|
-
|
|
342
|
-
| # | Fonctionnalité | Priorité |
|
|
343
|
-
|---|----------------|----------|
|
|
344
|
-
| 1 | {fonctionnalité} | {priorité} |
|
|
345
|
-
|
|
346
|
-
### 3.3 Out of Scope
|
|
347
|
-
|
|
348
|
-
| # | Exclusion | Raison |
|
|
349
|
-
|---|-----------|--------|
|
|
350
|
-
| 1 | {exclusion} | {justification} |
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
## 4. Données identifiées
|
|
355
|
-
|
|
356
|
-
### 4.1 Entités principales
|
|
357
|
-
|
|
358
|
-
| Entité | Description | Attributs clés |
|
|
359
|
-
|--------|-------------|----------------|
|
|
360
|
-
| {entité} | {description} | {attributs} |
|
|
361
|
-
|
|
362
|
-
### 4.2 Relations
|
|
363
|
-
|
|
364
|
-
```
|
|
365
|
-
{Entité A} ──[1:N]──► {Entité B}
|
|
366
|
-
{Entité A} ──[N:M]──► {Entité C}
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
### 4.3 Données sensibles
|
|
370
|
-
|
|
371
|
-
| Donnée | Niveau sensibilité | Protection requise |
|
|
372
|
-
|--------|-------------------|-------------------|
|
|
373
|
-
| {donnée} | {niveau} | {mesures} |
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
## 5. Sécurité préliminaire
|
|
378
|
-
|
|
379
|
-
### 5.1 Matrice CRUD par rôle
|
|
104
|
+
## 4. Données
|
|
105
|
+
| Entité | Attributs | Relations |
|
|
380
106
|
|
|
107
|
+
## 5. Sécurité
|
|
381
108
|
| Permission | Admin | Manager | User | ReadOnly |
|
|
382
|
-
|------------|-------|---------|------|----------|
|
|
383
|
-
| Read | ✅ | ✅ | ✅ | ✅ |
|
|
384
|
-
| Create | ✅ | ✅ | ? | ❌ |
|
|
385
|
-
| Update | ✅ | ✅ | ? | ❌ |
|
|
386
|
-
| Delete | ✅ | ? | ❌ | ❌ |
|
|
387
|
-
|
|
388
|
-
### 5.2 Audit requis
|
|
389
|
-
|
|
390
|
-
| Action | Audit | Détails à logger |
|
|
391
|
-
|--------|-------|------------------|
|
|
392
|
-
| {action} | Oui/Non | {détails} |
|
|
393
|
-
|
|
394
|
-
---
|
|
395
|
-
|
|
396
|
-
## 6. Contraintes identifiées
|
|
397
|
-
|
|
398
|
-
| Type | Contrainte | Impact | Mitigation |
|
|
399
|
-
|------|------------|--------|------------|
|
|
400
|
-
| Technique | {contrainte} | {impact} | {solution} |
|
|
401
|
-
| Budget | {contrainte} | {impact} | {solution} |
|
|
402
|
-
| Délai | {contrainte} | {impact} | {solution} |
|
|
403
109
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
## 7. Intégrations SmartStack ⭐
|
|
407
|
-
|
|
408
|
-
> **Skills associés à utiliser pendant l'implémentation**
|
|
409
|
-
|
|
410
|
-
### 7.1 Notifications
|
|
411
|
-
|
|
412
|
-
| Besoin | Oui/Non | Événements | Destinataires |
|
|
413
|
-
|--------|---------|------------|---------------|
|
|
414
|
-
| Notifications in-app | {oui/non} | {événements déclencheurs} | {qui notifier} |
|
|
415
|
-
|
|
416
|
-
**Skill:** `/notification` si Oui
|
|
417
|
-
|
|
418
|
-
### 7.2 Workflows & Emails
|
|
419
|
-
|
|
420
|
-
| Besoin | Oui/Non | Type | Trigger |
|
|
421
|
-
|--------|---------|------|---------|
|
|
422
|
-
| Emails automatiques | {oui/non} | {transactionnel/marketing} | {entity.event} |
|
|
423
|
-
| Rappels/SLA | {oui/non} | {type rappel} | {conditions} |
|
|
424
|
-
| Workflow multi-étapes | {oui/non} | {description} | {trigger} |
|
|
425
|
-
|
|
426
|
-
**Skill:** `/workflow` si Oui
|
|
110
|
+
## 6. Contraintes
|
|
111
|
+
| Type | Impact | Mitigation |
|
|
427
112
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
| Besoin | Oui/Non | Type | Données entrée | Sortie attendue |
|
|
431
|
-
|--------|---------|------|----------------|-----------------|
|
|
432
|
-
| Génération texte | {oui/non} | {description/résumé} | {contexte} | {format} |
|
|
433
|
-
| Classification | {oui/non} | {priorité/catégorie} | {données} | {enum/tags} |
|
|
434
|
-
| Suggestions | {oui/non} | {actions/réponses} | {historique} | {liste} |
|
|
435
|
-
|
|
436
|
-
**Skill:** `/ai-prompt` si Oui
|
|
437
|
-
|
|
438
|
-
---
|
|
113
|
+
## 7. Intégrations SmartStack
|
|
114
|
+
| Notifications | Workflows | IA |
|
|
439
115
|
|
|
440
116
|
## 8. Questions ouvertes
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|---|----------|-------------|----------|--------|
|
|
444
|
-
| Q1 | {question} | {qui} | {date} | ⏳ |
|
|
445
|
-
|
|
446
|
-
---
|
|
447
|
-
|
|
448
|
-
## 9. Prochaines étapes
|
|
449
|
-
|
|
450
|
-
- [ ] Valider ce document avec le sponsor
|
|
451
|
-
- [ ] Résoudre les questions ouvertes
|
|
452
|
-
- [ ] Lancer `/business-analyse:3-analyse {FEATURE_ID}`
|
|
117
|
+
| Question | Responsable | Status |
|
|
118
|
+
```
|
|
453
119
|
|
|
454
120
|
---
|
|
455
121
|
|
|
456
|
-
##
|
|
122
|
+
## Checklist complétude
|
|
457
123
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
124
|
+
- [ ] Contexte: AS-IS et TO-BE documentés
|
|
125
|
+
- [ ] Stakeholders: ≥3 rôles
|
|
126
|
+
- [ ] Périmètre: ≥5 must-have, ≥2 exclusions
|
|
127
|
+
- [ ] Données: Entités et relations
|
|
128
|
+
- [ ] Sécurité: Matrice CRUD complète
|
|
129
|
+
- [ ] Intégrations: Notif/Workflow/IA évalués (Oui/Non)
|
|
130
|
+
- [ ] Aucun "TBD" ou "?" restant
|
|
462
131
|
|
|
463
132
|
---
|
|
464
133
|
|
|
465
|
-
##
|
|
466
|
-
|
|
467
|
-
Avant de terminer, vérifier que TOUS les critères sont remplis:
|
|
134
|
+
## Résumé
|
|
468
135
|
|
|
469
136
|
```
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
□ Section 6 (Contraintes) - Au moins 1 contrainte identifiée
|
|
477
|
-
□ Section 7 (Intégrations) - Notifications/Workflows/IA évalués (Oui/Non)
|
|
478
|
-
□ Section 8 (Questions) - Toutes les questions ont un responsable
|
|
479
|
-
□ Aucun marqueur "TBD", "?", "{...}" restant dans le document
|
|
137
|
+
DISCOVERY - {FEATURE_ID}
|
|
138
|
+
├── Stakeholders: {N}
|
|
139
|
+
├── Must-Have: {N}
|
|
140
|
+
├── Entités: {N}
|
|
141
|
+
├── Intégrations: {liste}
|
|
142
|
+
└── Prochain: /business-analyse:3-analyse {FEATURE_ID}
|
|
480
143
|
```
|
|
481
|
-
|
|
482
|
-
**SI TOUS LES CRITÈRES SONT REMPLIS:**
|
|
483
|
-
|
|
484
|
-
```
|
|
485
|
-
================================================================================
|
|
486
|
-
DISCOVERY COMPLÈTE - {FEATURE_ID}
|
|
487
|
-
================================================================================
|
|
488
|
-
|
|
489
|
-
DOCUMENT GÉNÉRÉ: {FEATURE_DIR}/1-discovery.md
|
|
490
|
-
MODÈLE UTILISÉ: OPUS avec ULTRATHINK
|
|
491
|
-
QUESTIONS POSÉES: {N} questions
|
|
492
|
-
CATÉGORIES: 10 catégories couvertes
|
|
493
|
-
|
|
494
|
-
RÉSUMÉ:
|
|
495
|
-
Stakeholders: {N} identifiés
|
|
496
|
-
Must-Have: {N} fonctionnalités
|
|
497
|
-
Should-Have: {N} fonctionnalités
|
|
498
|
-
Entités: {N} identifiées
|
|
499
|
-
Questions: {N} ouvertes
|
|
500
|
-
|
|
501
|
-
================================================================================
|
|
502
|
-
PROCHAINE ÉTAPE
|
|
503
|
-
================================================================================
|
|
504
|
-
|
|
505
|
-
1. Valider 1-discovery.md avec le stakeholder
|
|
506
|
-
2. Résoudre les questions ouvertes
|
|
507
|
-
3. Lancer l'analyse:
|
|
508
|
-
|
|
509
|
-
/business-analyse:3-analyse {FEATURE_ID}
|
|
510
|
-
|
|
511
|
-
================================================================================
|
|
512
|
-
|
|
513
|
-
<promise>COMPLETE</promise>
|
|
514
|
-
|
|
515
|
-
Contact support: support@atlshub.ch
|
|
516
|
-
```
|
|
517
|
-
|
|
518
|
-
**SI DES CRITÈRES MANQUENT:**
|
|
519
|
-
|
|
520
|
-
Ne pas afficher le signal de complétion. Continuer l'élicitation en posant des questions ciblées sur les sections incomplètes.
|