@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.
Files changed (74) hide show
  1. package/.documentation/agents.html +7 -2
  2. package/.documentation/apex.html +7 -2
  3. package/.documentation/business-analyse.html +7 -2
  4. package/.documentation/cli-commands.html +871 -0
  5. package/.documentation/commands.html +7 -2
  6. package/.documentation/efcore.html +7 -2
  7. package/.documentation/gitflow.html +7 -2
  8. package/.documentation/hooks.html +7 -2
  9. package/.documentation/index.html +7 -2
  10. package/.documentation/init.html +7 -2
  11. package/.documentation/installation.html +7 -2
  12. package/.documentation/ralph-loop.html +7 -2
  13. package/.documentation/test-web.html +7 -2
  14. package/dist/index.js +1932 -336
  15. package/dist/index.js.map +1 -1
  16. package/package.json +8 -2
  17. package/templates/agents/efcore/squash.md +67 -31
  18. package/templates/agents/gitflow/finish.md +68 -56
  19. package/templates/commands/business-analyse/0-orchestrate.md +72 -556
  20. package/templates/commands/business-analyse/1-init.md +23 -193
  21. package/templates/commands/business-analyse/2-discover.md +85 -462
  22. package/templates/commands/business-analyse/3-analyse.md +40 -342
  23. package/templates/commands/business-analyse/4-specify.md +72 -537
  24. package/templates/commands/business-analyse/5-validate.md +43 -237
  25. package/templates/commands/business-analyse/6-handoff.md +93 -682
  26. package/templates/commands/business-analyse/7-doc-html.md +45 -544
  27. package/templates/commands/business-analyse/_shared.md +176 -0
  28. package/templates/commands/business-analyse/bug.md +50 -257
  29. package/templates/commands/business-analyse/change-request.md +59 -283
  30. package/templates/commands/business-analyse/hotfix.md +36 -120
  31. package/templates/commands/business-analyse.md +55 -574
  32. package/templates/commands/efcore/_shared.md +206 -0
  33. package/templates/commands/efcore/conflicts.md +39 -201
  34. package/templates/commands/efcore/db-deploy.md +28 -237
  35. package/templates/commands/efcore/db-reset.md +41 -390
  36. package/templates/commands/efcore/db-seed.md +44 -323
  37. package/templates/commands/efcore/db-status.md +31 -210
  38. package/templates/commands/efcore/migration.md +45 -368
  39. package/templates/commands/efcore/rebase-snapshot.md +38 -241
  40. package/templates/commands/efcore/scan.md +35 -204
  41. package/templates/commands/efcore/squash.md +158 -251
  42. package/templates/commands/efcore.md +49 -177
  43. package/templates/commands/gitflow/1-init.md +94 -1318
  44. package/templates/commands/gitflow/10-start.md +86 -990
  45. package/templates/commands/gitflow/11-finish.md +264 -454
  46. package/templates/commands/gitflow/12-cleanup.md +40 -213
  47. package/templates/commands/gitflow/2-status.md +51 -386
  48. package/templates/commands/gitflow/3-commit.md +108 -801
  49. package/templates/commands/gitflow/4-plan.md +42 -13
  50. package/templates/commands/gitflow/5-exec.md +60 -5
  51. package/templates/commands/gitflow/6-abort.md +54 -277
  52. package/templates/commands/gitflow/7-pull-request.md +74 -717
  53. package/templates/commands/gitflow/8-review.md +51 -178
  54. package/templates/commands/gitflow/9-merge.md +74 -404
  55. package/templates/commands/gitflow/_shared.md +196 -0
  56. package/templates/commands/quickstart.md +154 -0
  57. package/templates/commands/ralph-loop/ralph-loop.md +104 -2
  58. package/templates/hooks/hooks.json +13 -0
  59. package/templates/hooks/ralph-mcp-logger.sh +46 -0
  60. package/templates/hooks/ralph-session-end.sh +69 -0
  61. package/templates/ralph/README.md +91 -0
  62. package/templates/ralph/ralph.config.yaml +113 -0
  63. package/templates/scripts/setup-ralph-loop.sh +173 -0
  64. package/templates/skills/_shared.md +117 -0
  65. package/templates/skills/ai-prompt/SKILL.md +87 -654
  66. package/templates/skills/application/SKILL.md +76 -499
  67. package/templates/skills/controller/SKILL.md +38 -165
  68. package/templates/skills/documentation/SKILL.md +2 -1
  69. package/templates/skills/feature-full/SKILL.md +107 -732
  70. package/templates/skills/notification/SKILL.md +85 -474
  71. package/templates/skills/ui-components/SKILL.md +62 -762
  72. package/templates/skills/workflow/SKILL.md +85 -489
  73. package/templates/commands/gitflow/rescue.md +0 -867
  74. 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 des Besoins
7
+ # Phase 2: Discovery - Élicitation
8
8
 
9
- > **Modèle:** OPUS (élicitation exhaustive, ULTRATHINK requis)
10
- > **Coût estimé:** ~$0.30 (one-shot) / ~$1.50-4.50 (avec ralph-loop)
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
- ## RALPH-LOOP INTEGRATION (RECOMMANDÉ)
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
- # Charger la configuration
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
- ## STEP 2: Introduction et collecte du besoin initial
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
- **ULTRATHINK:** Esquisser un modèle conceptuel simplifié.
24
+ ### Catégories à couvrir
173
25
 
174
- ### 3.5 Sécurité & Permissions (Q6.1 - Q6.8)
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
- Questions clés:
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
- Si OUI, demander:
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
- **ULTRATHINK:** Pour chaque intégration identifiée, noter le skill associé:
254
- - Notifications `/notification`
255
- - Workflows `/workflow`
256
- - IA `/ai-prompt`
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
- ## STEP 4: Validation des réponses
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
- question: "Voici le résumé de vos réponses pour [Catégorie]. Est-ce complet et correct?",
268
- header: "Validation",
269
- options: [
270
- { label: "Correct", description: "Passer à la catégorie suivante" },
271
- { label: "À corriger", description: "Modifier certaines réponses" },
272
- { label: "À compléter", description: "Ajouter des informations manquantes" }
273
- ],
274
- multiSelect: false
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
- ## STEP 5: Génération du document 1-discovery.md
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} {Feature Name}
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
- ### 3.1 In Scope (Must-Have)
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
- ### 7.3 Assistance IA
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
- | # | Question | Responsable | Deadline | Status |
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
- ## Historique des versions
122
+ ## Checklist complétude
457
123
 
458
- | Version | Date | Auteur | Modifications |
459
- |---------|------|--------|---------------|
460
- | 1.0 | {date} | BA (OPUS) | Création initiale |
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
- ## STEP 6: Vérification de complétude (RALPH-LOOP)
466
-
467
- Avant de terminer, vérifier que TOUS les critères sont remplis:
134
+ ## Résumé
468
135
 
469
136
  ```
470
- CHECKLIST COMPLÉTUDE:
471
- Section 1 (Contexte Business) - AS-IS et TO-BE documentés
472
- Section 2 (Stakeholders) - ≥3 rôles identifiés avec responsabilités
473
- Section 3 (Périmètre) - ≥5 must-have, ≥2 exclusions
474
- Section 4 (Données) - Entités et relations documentées
475
- Section 5 (Sécurité) - Matrice CRUD complète
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.