@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
@@ -6,133 +6,73 @@ model: haiku
6
6
 
7
7
  # Phase 5: Validation Utilisateur
8
8
 
9
- > **Modèle:** Haiku (gate approbation, oui/non)
10
- > **Coût estimé:** ~$0.01
11
- > **Prérequis:** 3-functional-specification.md existant
9
+ > **Ref:** Fonctions communes dans [_shared.md](_shared.md)
12
10
 
13
11
  ---
14
12
 
15
- ## GATE VALIDATION (BLOQUANT)
16
-
17
- ```
18
- ╔══════════════════════════════════════════════════════════════════════════════╗
19
- ║ VALIDATION OBLIGATOIRE AVANT HANDOFF ║
20
- ╠══════════════════════════════════════════════════════════════════════════════╣
21
- ║ ║
22
- ║ Cette phase est un GATE qui BLOQUE le passage au handoff si non approuvé. ║
23
- ║ ║
24
- ║ Le sponsor/stakeholder DOIT valider: ║
25
- ║ • Les cas d'utilisation sont complets ║
26
- ║ • Les wireframes correspondent aux attentes ║
27
- ║ • Les règles métier sont correctes ║
28
- ║ • Les permissions sont appropriées ║
29
- ║ ║
30
- ║ SI REJET: ║
31
- ║ → Retour à /business-analyse:3-analyse pour révision ║
32
- ║ → Document versionné (incrémentation minor ou major) ║
33
- ║ ║
34
- ╚══════════════════════════════════════════════════════════════════════════════╝
35
- ```
36
-
37
- ---
38
-
39
- ## STEP 1: Charger les documents
13
+ ## Prérequis
40
14
 
41
15
  ```bash
42
- FEATURE_ID=$1
43
- FEATURE_DIR=$(find .business-analyse -type d -name "${FEATURE_ID}*" | head -1)
44
- FRD_FILE="$FEATURE_DIR/3-functional-specification.md"
45
-
46
- if [ ! -f "$FRD_FILE" ]; then
47
- echo "❌ ERREUR: 3-functional-specification.md non trouvé"
48
- echo " Lancez d'abord: /business-analyse:4-specify $FEATURE_ID"
49
- exit 1
50
- fi
51
-
52
- # Charger les documents pour résumé
53
- DISCOVERY=$(cat "$FEATURE_DIR/1-discovery.md" 2>/dev/null)
54
- BRD=$(cat "$FEATURE_DIR/2-business-requirements.md" 2>/dev/null)
55
- FRD=$(cat "$FRD_FILE")
16
+ find_feature_dir "$1" || exit 1
17
+ [ -f "$FEATURE_DIR/3-functional-specification.md" ] || { echo " FRD requis"; exit 1; }
56
18
  ```
57
19
 
58
20
  ---
59
21
 
60
- ## STEP 2: Afficher le résumé pour validation
22
+ ## GATE VALIDATION
61
23
 
62
- ```
63
- ================================================================================
64
- VALIDATION DES SPÉCIFICATIONS - {FEATURE_ID}
65
- ================================================================================
24
+ Cette phase BLOQUE le passage au handoff si non approuvé.
66
25
 
67
- DOCUMENTS À VALIDER:
68
-
69
- 1. DISCOVERY (1-discovery.md)
70
- ────────────────────────────────────────
71
- Stakeholders identifiés: {N}
72
- • Questions ouvertes: {N}
73
- • Périmètre défini: ✅
74
-
75
- 2. BRD (2-business-requirements.md)
76
- ────────────────────────────────────────
77
- • Objectifs business: {N}
78
- • Règles métier: {N} (BR-001 à BR-XXX)
79
- • Processus modélisés: {N}
80
-
81
- 3. FRD (3-functional-specification.md)
82
- ────────────────────────────────────────
83
- • Cas d'utilisation: {N} (UC-001 à UC-XXX)
84
- • Exigences fonctionnelles: {N} (FR-001 à FR-XXX)
85
- • Wireframes: {N} écrans
86
- • Permissions: {N} définies
87
- • Scénarios Gherkin: {N}
88
-
89
- ================================================================================
90
- ```
26
+ Le stakeholder DOIT valider:
27
+ - Cas d'utilisation complets
28
+ - Wireframes conformes
29
+ - Règles métier correctes
30
+ - Permissions appropriées
91
31
 
92
32
  ---
93
33
 
94
- ## STEP 3: Demande de validation
34
+ ## Demande de validation
95
35
 
96
36
  ```javascript
97
37
  AskUserQuestion({
98
38
  questions: [
99
39
  {
100
- question: "Les cas d'utilisation couvrent-ils tous les besoins exprimés?",
40
+ question: "Les cas d'utilisation couvrent-ils tous les besoins?",
101
41
  header: "Use Cases",
102
42
  options: [
103
- { label: "Oui, complets", description: "Tous les UC sont validés" },
104
- { label: "Partiellement", description: "Certains UC manquent ou sont incomplets" },
105
- { label: "Non", description: "Révision majeure nécessaire" }
43
+ { label: "Oui, complets", description: "Tous les UC validés" },
44
+ { label: "Partiellement", description: "UC incomplets" },
45
+ { label: "Non", description: "Révision majeure" }
106
46
  ],
107
47
  multiSelect: false
108
48
  },
109
49
  {
110
- question: "Les wireframes correspondent-ils à vos attentes?",
50
+ question: "Les wireframes correspondent aux attentes?",
111
51
  header: "UI/UX",
112
52
  options: [
113
- { label: "Oui, validés", description: "Les écrans sont conformes" },
114
- { label: "Ajustements mineurs", description: "Quelques modifications à faire" },
115
- { label: "Non", description: "Refonte des wireframes nécessaire" }
53
+ { label: "Oui, validés", description: "Écrans conformes" },
54
+ { label: "Ajustements mineurs", description: "Modifications légères" },
55
+ { label: "Non", description: "Refonte nécessaire" }
116
56
  ],
117
57
  multiSelect: false
118
58
  },
119
59
  {
120
- question: "Les règles métier (BR-XXX) sont-elles correctes?",
60
+ question: "Les règles métier (BR-XXX) sont correctes?",
121
61
  header: "Règles",
122
62
  options: [
123
- { label: "Oui, correctes", description: "Toutes les règles sont validées" },
124
- { label: "Corrections mineures", description: "Quelques règles à ajuster" },
125
- { label: "Non", description: "Règles incorrectes ou manquantes" }
63
+ { label: "Oui, correctes", description: "Toutes validées" },
64
+ { label: "Corrections mineures", description: "Quelques ajustements" },
65
+ { label: "Non", description: "Règles incorrectes" }
126
66
  ],
127
67
  multiSelect: false
128
68
  },
129
69
  {
130
- question: "Les permissions sont-elles appropriées?",
70
+ question: "Les permissions sont appropriées?",
131
71
  header: "Permissions",
132
72
  options: [
133
- { label: "Oui, validées", description: "Matrice permissions OK" },
134
- { label: "À ajuster", description: "Certains rôles/permissions à modifier" },
135
- { label: "Non", description: "Permissions à revoir entièrement" }
73
+ { label: "Oui, validées", description: "Matrice OK" },
74
+ { label: "À ajuster", description: "Rôles à modifier" },
75
+ { label: "Non", description: "À revoir" }
136
76
  ],
137
77
  multiSelect: false
138
78
  }
@@ -142,185 +82,51 @@ AskUserQuestion({
142
82
 
143
83
  ---
144
84
 
145
- ## STEP 4: Traitement de la décision
85
+ ## Traitement décision
146
86
 
147
- ### Si toutes les réponses sont positives (Oui/Validé)
87
+ ### Si APPROUVÉ (toutes réponses positives)
148
88
 
149
- ```bash
150
- # Créer le fichier validation.json
151
- cat > "$FEATURE_DIR/validation.json" << EOF
89
+ ```json
152
90
  {
153
- "featureId": "$FEATURE_ID",
154
- "validatedAt": "$(date -Iseconds)",
155
- "validatedBy": "{stakeholder}",
91
+ "featureId": "{FEATURE_ID}",
156
92
  "status": "APPROVED",
157
93
  "documents": {
158
94
  "discovery": { "version": "1.0", "status": "approved" },
159
95
  "brd": { "version": "1.0", "status": "approved" },
160
96
  "frd": { "version": "1.0", "status": "approved" }
161
97
  },
162
- "comments": "",
163
98
  "nextStep": "handoff"
164
99
  }
165
- EOF
166
-
167
- echo "✅ VALIDATION APPROUVÉE"
168
100
  ```
169
101
 
170
- **Output:**
171
- ```
172
- ================================================================================
173
- ✅ VALIDATION APPROUVÉE - {FEATURE_ID}
174
- ================================================================================
175
-
176
- Tous les documents ont été validés par le stakeholder.
177
-
178
- DOCUMENTS VERROUILLÉS:
179
- • 1-discovery.md v1.0 ✅
180
- • 2-business-requirements.md v1.0 ✅
181
- • 3-functional-specification.md v1.0 ✅
182
-
183
- FICHIER CRÉÉ: validation.json
184
-
185
- ================================================================================
186
- PROCHAINE ÉTAPE
187
- ================================================================================
188
-
189
- Générez le prompt de développement:
190
-
191
- /business-analyse:6-handoff {FEATURE_ID}
192
-
193
- ================================================================================
194
- ```
195
-
196
- ### Si réponses négatives ou partielles
102
+ ### Si REJETÉ
197
103
 
198
- ```bash
199
- # Créer le fichier validation.json avec status REJECTED
200
- cat > "$FEATURE_DIR/validation.json" << EOF
104
+ ```json
201
105
  {
202
- "featureId": "$FEATURE_ID",
203
- "validatedAt": "$(date -Iseconds)",
204
- "validatedBy": "{stakeholder}",
106
+ "featureId": "{FEATURE_ID}",
205
107
  "status": "REJECTED",
206
- "rejectionReasons": {
207
- "useCases": "{feedback}",
208
- "wireframes": "{feedback}",
209
- "businessRules": "{feedback}",
210
- "permissions": "{feedback}"
211
- },
212
- "requiredChanges": [
213
- "{change 1}",
214
- "{change 2}"
215
- ],
108
+ "rejectionReasons": { "useCases": "", "wireframes": "", "businessRules": "", "permissions": "" },
216
109
  "nextStep": "revise"
217
110
  }
218
- EOF
219
-
220
- echo "❌ VALIDATION REJETÉE - Révision requise"
221
- ```
222
-
223
- **Output:**
224
111
  ```
225
- ================================================================================
226
- ❌ VALIDATION REJETÉE - {FEATURE_ID}
227
- ================================================================================
228
-
229
- Le stakeholder a demandé des révisions.
230
-
231
- POINTS À RÉVISER:
232
- □ Use Cases: {feedback détaillé}
233
- □ Wireframes: {feedback détaillé}
234
- □ Règles métier: {feedback détaillé}
235
- □ Permissions: {feedback détaillé}
236
-
237
- FICHIER CRÉÉ: validation.json (status: REJECTED)
238
-
239
- ================================================================================
240
- ACTION REQUISE
241
- ================================================================================
242
-
243
- 1. Relire le feedback dans validation.json
244
- 2. Réviser les documents concernés
245
- 3. Relancer les phases appropriées:
246
-
247
- # Si révision majeure (scope change)
248
- /business-analyse:3-analyse {FEATURE_ID} # Incrémente version major
249
-
250
- # Si révision mineure (ajustements)
251
- /business-analyse:4-specify {FEATURE_ID} # Incrémente version minor
252
-
253
- 4. Relancer la validation:
254
- /business-analyse:5-validate {FEATURE_ID}
255
-
256
- ================================================================================
257
- ```
258
-
259
- ---
260
-
261
- ## STEP 5: Collecte du feedback détaillé (si rejet)
262
-
263
- ```javascript
264
- AskUserQuestion({
265
- questions: [{
266
- question: "Décrivez les changements nécessaires pour chaque point rejeté:",
267
- header: "Feedback",
268
- options: [
269
- { label: "Fourni ci-dessous", description: "Je vais détailler les changements" },
270
- { label: "Réunion nécessaire", description: "Je préfère discuter en réunion" }
271
- ],
272
- multiSelect: false
273
- }]
274
- })
275
- ```
276
-
277
- Si "Fourni ci-dessous":
278
- - Collecter le feedback textuel
279
- - Ajouter au validation.json
280
- - Créer un fichier de tracking pour les changements
281
112
 
282
113
  ---
283
114
 
284
- ## Règles de versioning post-validation
115
+ ## Versioning post-validation
285
116
 
286
117
  | Situation | Action | Nouvelle version |
287
118
  |-----------|--------|------------------|
288
119
  | Approuvé | Verrouiller | 1.0 (locked) |
289
120
  | Rejet mineur | Réviser specify | 1.1 |
290
121
  | Rejet majeur | Réviser analyse | 2.0 |
291
- | Change request post-handoff | CR process | via CR-FEAT-XXX-001 |
292
122
 
293
123
  ---
294
124
 
295
- ## Fichier validation.json
125
+ ## Résumé
296
126
 
297
- ```json
298
- {
299
- "featureId": "FEAT-XXX",
300
- "validatedAt": "2024-01-15T14:30:00Z",
301
- "validatedBy": "product.owner@company.com",
302
- "status": "APPROVED | REJECTED",
303
- "documents": {
304
- "discovery": { "version": "1.0", "status": "approved" },
305
- "brd": { "version": "1.0", "status": "approved" },
306
- "frd": { "version": "1.0", "status": "approved | needs_revision" }
307
- },
308
- "rejectionReasons": {
309
- "useCases": "string or null",
310
- "wireframes": "string or null",
311
- "businessRules": "string or null",
312
- "permissions": "string or null"
313
- },
314
- "requiredChanges": [],
315
- "comments": "string",
316
- "nextStep": "handoff | revise"
317
- }
318
127
  ```
319
-
320
- ---
321
-
322
- ## Support
323
-
324
- > **Questions sur le processus de validation?**
325
- >
326
- > 📧 **support@atlshub.ch**
128
+ VALIDATE - {FEATURE_ID}
129
+ ├── Status: {APPROVED/REJECTED}
130
+ ├── Documents: {N} validés
131
+ └── Prochain: /business-analyse:6-handoff {FEATURE_ID}
132
+ ```