@atlashub/smartstack-cli 2.9.0 → 3.1.0
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 +1 -371
- package/.documentation/business-analyse.html +81 -17
- package/.documentation/cli-commands.html +1 -1
- package/.documentation/commands.html +1 -1
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +1 -1
- package/.documentation/hooks.html +27 -66
- package/.documentation/index.html +166 -166
- package/.documentation/init.html +6 -7
- package/.documentation/installation.html +1 -1
- package/.documentation/ralph-loop.html +1 -9
- package/.documentation/test-web.html +15 -39
- package/dist/index.js +23 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +1302 -223
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/templates/agents/efcore/db-deploy.md +1 -1
- package/templates/agents/efcore/migration.md +26 -10
- package/templates/agents/efcore/rebase-snapshot.md +24 -7
- package/templates/agents/efcore/squash.md +73 -57
- package/templates/agents/gitflow/commit.md +138 -18
- package/templates/agents/gitflow/exec.md +1 -1
- package/templates/agents/gitflow/finish.md +79 -62
- package/templates/agents/gitflow/init-clone.md +186 -0
- package/templates/agents/gitflow/init-detect.md +137 -0
- package/templates/agents/gitflow/init-validate.md +210 -0
- package/templates/agents/gitflow/init.md +231 -74
- package/templates/agents/gitflow/merge.md +115 -33
- package/templates/agents/gitflow/pr.md +151 -46
- package/templates/agents/gitflow/start.md +76 -33
- package/templates/agents/gitflow/status.md +41 -71
- package/templates/hooks/appsettings-guard.sh +76 -0
- package/templates/hooks/ef-migration-check.md +1 -1
- package/templates/hooks/hooks.json +9 -0
- package/templates/project/appsettings.json.template +8 -2
- package/templates/project/test-frontend/msw/handlers.ts +58 -0
- package/templates/project/test-frontend/msw/server.ts +25 -0
- package/templates/project/test-frontend/setup.ts +16 -0
- package/templates/project/test-frontend/test-utils.tsx +59 -0
- package/templates/project/test-frontend/vitest.config.ts +31 -0
- package/templates/skills/_resources/config-safety.md +61 -0
- package/templates/skills/_resources/formatting-guide.md +2 -2
- package/templates/skills/application/SKILL.md +12 -3
- package/templates/skills/application/steps/step-04-backend.md +21 -0
- package/templates/skills/application/steps/step-07-tests.md +259 -120
- package/templates/skills/business-analyse/SKILL.md +57 -28
- package/templates/skills/business-analyse/_shared.md +70 -39
- package/templates/skills/business-analyse/html/ba-interactive.html +2596 -0
- package/templates/skills/business-analyse/questionnaire/00-application.md +123 -131
- package/templates/skills/business-analyse/questionnaire/01-context.md +173 -24
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +170 -50
- package/templates/skills/business-analyse/questionnaire/03-scope.md +154 -48
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +1 -1
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -0
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -0
- package/templates/skills/business-analyse/questionnaire.md +55 -46
- package/templates/skills/business-analyse/steps/step-00-init.md +24 -2
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +31 -20
- package/templates/skills/business-analyse/steps/step-03-specify.md +58 -0
- package/templates/skills/business-analyse/steps/step-05-handoff.md +301 -1
- package/templates/skills/business-analyse/steps/step-06-extract.md +518 -0
- package/templates/skills/check-version/SKILL.md +1 -1
- package/templates/skills/efcore/steps/db/step-deploy.md +22 -3
- package/templates/skills/efcore/steps/db/step-reset.md +27 -4
- package/templates/skills/efcore/steps/db/step-seed.md +46 -2
- package/templates/skills/efcore/steps/db/step-status.md +14 -0
- package/templates/skills/efcore/steps/migration/step-01-check.md +31 -5
- package/templates/skills/efcore/steps/migration/step-02-create.md +20 -4
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +60 -0
- package/templates/skills/efcore/steps/shared/step-00-init.md +47 -8
- package/templates/skills/efcore/steps/squash/step-03-create.md +27 -5
- package/templates/skills/gitflow/SKILL.md +91 -29
- package/templates/skills/gitflow/_shared.md +144 -2
- package/templates/skills/gitflow/phases/status.md +11 -1
- package/templates/skills/gitflow/steps/step-commit.md +1 -1
- package/templates/skills/gitflow/steps/step-init.md +202 -39
- package/templates/skills/gitflow/steps/step-pr.md +17 -5
- package/templates/skills/gitflow/templates/config.json +10 -1
- package/templates/skills/ralph-loop/SKILL.md +22 -15
- package/templates/skills/ralph-loop/steps/step-01-task.md +89 -4
- package/templates/skills/ralph-loop/steps/step-02-execute.md +408 -23
- package/templates/skills/ralph-loop/steps/step-03-commit.md +84 -2
- package/templates/skills/ralph-loop/steps/step-04-check.md +235 -6
- package/templates/skills/ralph-loop/steps/step-05-report.md +115 -0
- package/templates/skills/validate-feature/SKILL.md +83 -0
- package/templates/skills/validate-feature/steps/step-01-compile.md +38 -0
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -0
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -0
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +157 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Categorie 15 : Criteres de reussite
|
|
2
|
+
|
|
3
|
+
> **Usage :** Definir comment mesurer le succes du projet de maniere objective
|
|
4
|
+
> **Quand charger :** TOUJOURS (noyau, charge dans le cadrage)
|
|
5
|
+
> **Objectif :** Etablir des criteres observables et mesurables pour evaluer le resultat
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 15.1 La definition du succes
|
|
10
|
+
|
|
11
|
+
> **But :** Determiner concretement ce qui fera dire "ce projet est un succes".
|
|
12
|
+
|
|
13
|
+
| # | Question | Type de reponse |
|
|
14
|
+
|---|----------|-----------------|
|
|
15
|
+
| Q15.1 | Quand le systeme sera en place, comment saurez-vous que le projet est un succes ? Quel changement concret observerez-vous ? | Description du succes observable |
|
|
16
|
+
| Q15.2 | Si vous deviez convaincre votre direction que le projet a reussi, quels chiffres ou faits leur presenteriez-vous ? | Metriques de succes |
|
|
17
|
+
| Q15.3 | Au bout de combien de temps apres le lancement pourrez-vous juger si ca fonctionne ? 1 semaine ? 1 mois ? 3 mois ? | Delai d'evaluation |
|
|
18
|
+
|
|
19
|
+
**Reformulation guidee pour Q15.1 :**
|
|
20
|
+
```
|
|
21
|
+
question: "Comment saurez-vous que le projet est un succes ?"
|
|
22
|
+
header: "Succes"
|
|
23
|
+
options:
|
|
24
|
+
- label: "Gain de temps mesurable"
|
|
25
|
+
description: "Un processus qui prenait X heures ne prend plus que Y minutes"
|
|
26
|
+
- label: "Reduction des erreurs"
|
|
27
|
+
description: "Le nombre d'erreurs ou de corrections a diminue de maniere significative"
|
|
28
|
+
- label: "Meilleure satisfaction"
|
|
29
|
+
description: "Les utilisateurs expriment clairement que leur quotidien s'est ameliore"
|
|
30
|
+
- label: "Indicateurs en hausse"
|
|
31
|
+
description: "Des chiffres cles (chiffre d'affaires, productivite, qualite) se sont ameliores"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 15.2 Les objectifs mesurables
|
|
37
|
+
|
|
38
|
+
> **But :** Transformer les attentes en objectifs chiffres et verifiables.
|
|
39
|
+
|
|
40
|
+
| # | Question | Type de reponse |
|
|
41
|
+
|---|----------|-----------------|
|
|
42
|
+
| Q15.4 | Pour chaque amelioration attendue, pouvez-vous donner un objectif chiffre ? Par exemple : "reduire le temps de traitement de 2 heures a 30 minutes" | Objectifs quantifies |
|
|
43
|
+
| Q15.5 | Quels indicateurs suivez-vous deja aujourd'hui qui pourraient servir de reference ? | Indicateurs existants |
|
|
44
|
+
| Q15.6 | Y a-t-il des indicateurs que vous ne suivez pas aujourd'hui mais que vous aimeriez pouvoir mesurer grace au nouveau systeme ? | Nouveaux indicateurs souhaites |
|
|
45
|
+
|
|
46
|
+
**Reformulation guidee pour Q15.4 :**
|
|
47
|
+
```
|
|
48
|
+
question: "Pouvez-vous chiffrer les ameliorations attendues ?"
|
|
49
|
+
header: "Objectifs"
|
|
50
|
+
options:
|
|
51
|
+
- label: "Temps divise par 2 ou plus"
|
|
52
|
+
description: "Le processus actuel prend trop de temps, l'objectif est de le reduire d'au moins 50%"
|
|
53
|
+
- label: "Erreurs reduites a moins de 5%"
|
|
54
|
+
description: "Le taux d'erreur actuel est trop eleve, l'objectif est de le ramener sous les 5%"
|
|
55
|
+
- label: "100% de tracabilite"
|
|
56
|
+
description: "Aujourd'hui des informations se perdent, l'objectif est de tout tracer"
|
|
57
|
+
- label: "Difficile a chiffrer"
|
|
58
|
+
description: "L'amelioration est qualitative et difficile a mesurer numeriquement"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 15.3 Les criteres d'acceptation
|
|
64
|
+
|
|
65
|
+
> **But :** Definir les conditions minimales pour que le systeme soit considere comme livre.
|
|
66
|
+
|
|
67
|
+
| # | Question | Type de reponse |
|
|
68
|
+
|---|----------|-----------------|
|
|
69
|
+
| Q15.7 | Quelles sont les conditions minimales pour que vous acceptiez de mettre le systeme en service ? | Liste de conditions obligatoires |
|
|
70
|
+
| Q15.8 | Qui decide officiellement que le systeme est pret a etre utilise ? Quel est le processus de validation finale ? | Processus de validation |
|
|
71
|
+
|
|
72
|
+
**Reformulation guidee pour Q15.7 :**
|
|
73
|
+
```
|
|
74
|
+
question: "Quelles conditions minimales pour mettre le systeme en service ?"
|
|
75
|
+
header: "Acceptation"
|
|
76
|
+
multiSelect: true
|
|
77
|
+
options:
|
|
78
|
+
- label: "Toutes les fonctionnalites vitales presentes"
|
|
79
|
+
description: "Les fonctionnalites classees indispensables fonctionnent correctement"
|
|
80
|
+
- label: "Donnees migrees et verifiees"
|
|
81
|
+
description: "Les donnees existantes ont ete transferees et validees dans le nouveau systeme"
|
|
82
|
+
- label: "Utilisateurs formes"
|
|
83
|
+
description: "Les utilisateurs principaux ont ete formes et savent utiliser le systeme"
|
|
84
|
+
- label: "Tests valides"
|
|
85
|
+
description: "Les tests de fonctionnement ont ete realises et les resultats sont satisfaisants"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Guide d'elicitation approfondi
|
|
91
|
+
|
|
92
|
+
### Techniques de relance par question
|
|
93
|
+
|
|
94
|
+
| Question | Si la reponse est vague ou insuffisante | Relance recommandee |
|
|
95
|
+
|----------|----------------------------------------|---------------------|
|
|
96
|
+
| Q15.1 (succes) | "Que tout fonctionne bien" | "Concretement, imaginons que je visite votre bureau 3 mois apres le lancement. Qu'est-ce que je verrais de different par rapport a aujourd'hui ? Qu'est-ce que les gens feraient differemment ?" |
|
|
97
|
+
| Q15.2 (chiffres) | "Je ne sais pas quels chiffres" | "Pensez a votre patron : qu'est-ce qui le convaincrait ? Nombre de dossiers traites par jour ? Temps de reponse aux clients ? Taux d'erreur ? Satisfaction des equipes ?" |
|
|
98
|
+
| Q15.3 (delai) | "Tout de suite" | "Certains benefices apparaissent immediatement (gain de temps) et d'autres prennent du temps (adoption, qualite des donnees). Quel delai est realiste pour chaque benefice ?" |
|
|
99
|
+
| Q15.4 (objectifs chiffres) | "Difficile a chiffrer" | "Meme approximativement : le processus prend combien de temps aujourd'hui ? Quel serait un temps acceptable ? Combien d'erreurs par mois avez-vous aujourd'hui ?" |
|
|
100
|
+
| Q15.5 (indicateurs existants) | "On ne mesure rien" | "Comment evaluez-vous si la journee s'est bien passee ? Quels signaux vous disent que ca va bien ou mal ?" |
|
|
101
|
+
| Q15.7 (conditions minimales) | "Il faut que tout soit parfait" | "Si vous deviez lancer avec seulement 80% des fonctionnalites, lesquelles seraient dans ces 80% ?" |
|
|
102
|
+
|
|
103
|
+
### Signaux d'alerte a detecter
|
|
104
|
+
|
|
105
|
+
| Signal du client | Probleme sous-jacent | Action de l'analyste |
|
|
106
|
+
|------------------|---------------------|----------------------|
|
|
107
|
+
| Aucun critere mesurable | **Succes non defini** | Proposer des metriques standards : temps de traitement, taux d'erreur, taux d'adoption, satisfaction utilisateur |
|
|
108
|
+
| "Ca doit etre parfait" | **Attentes irrealistes** | "La perfection est un objectif, mais quel est le niveau minimum acceptable pour un premier lancement ?" |
|
|
109
|
+
| Indicateurs contradictoires | **Objectifs mal alignes** | "Ces deux objectifs semblent en tension. Lequel est prioritaire si vous devez choisir ?" |
|
|
110
|
+
| Pas de processus de validation | **Pas de gouvernance** | "Qui signe l'acceptation ? Un email suffit ou faut-il un proces-verbal formel ?" |
|
|
111
|
+
| Succes mesure uniquement par la technique | **Oubli de l'humain** | "Au-dela du fonctionnement technique, comment mesurez-vous la satisfaction des utilisateurs ?" |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Mapping vers le cadrage
|
|
116
|
+
|
|
117
|
+
| Reponse | Alimente |
|
|
118
|
+
|---------|----------|
|
|
119
|
+
| Q15.1, Q15.2, Q15.3 | `cadrage.acceptanceCriteria[]` |
|
|
120
|
+
| Q15.4, Q15.5, Q15.6 | `cadrage.acceptanceCriteria[]` + `cadrage.toBe` (enrichissement) |
|
|
121
|
+
| Q15.7, Q15.8 | `cadrage.acceptanceCriteria[]` (conditions de livraison) |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Strategie de questionnement
|
|
126
|
+
|
|
127
|
+
### Ordre des questions en 2 lots
|
|
128
|
+
|
|
129
|
+
**Lot 1 (Q15.1, Q15.2, Q15.3, Q15.4) : Definir le succes**
|
|
130
|
+
- Commencer par la vision qualitative du succes
|
|
131
|
+
- Puis quantifier avec des metriques et des delais
|
|
132
|
+
|
|
133
|
+
**Lot 2 (Q15.5, Q15.6, Q15.7, Q15.8) : Mesurer et valider**
|
|
134
|
+
- Identifier les indicateurs de reference existants
|
|
135
|
+
- Definir les conditions minimales de livraison
|
|
136
|
+
- Clarifier le processus de validation finale
|
|
@@ -258,66 +258,75 @@
|
|
|
258
258
|
|
|
259
259
|
---
|
|
260
260
|
|
|
261
|
-
##
|
|
261
|
+
## Categories conditionnelles (chargees selon le contexte)
|
|
262
262
|
|
|
263
|
-
###
|
|
264
|
-
>
|
|
263
|
+
### Categorie 11 : Cycle de vie des donnees (questionnaire/11-data-lifecycle.md)
|
|
264
|
+
> Charge si : les entites ont des exigences de retention, d'archivage ou de conformite
|
|
265
265
|
|
|
266
|
-
###
|
|
267
|
-
>
|
|
266
|
+
### Categorie 12 : Migration (questionnaire/12-migration.md)
|
|
267
|
+
> Charge si : migration de donnees depuis un systeme existant
|
|
268
268
|
|
|
269
|
-
###
|
|
270
|
-
>
|
|
269
|
+
### Categorie 13 : Impact inter-modules (questionnaire/13-cross-module.md)
|
|
270
|
+
> Charge si : la fonctionnalite interagit avec des modules existants
|
|
271
|
+
|
|
272
|
+
### Categorie 14 : Risques et hypotheses (questionnaire/14-risk-assumptions.md)
|
|
273
|
+
> Charge : TOUJOURS (noyau, integre au cadrage)
|
|
274
|
+
|
|
275
|
+
### Categorie 15 : Criteres de reussite (questionnaire/15-success-metrics.md)
|
|
276
|
+
> Charge : TOUJOURS (noyau, integre au cadrage)
|
|
271
277
|
|
|
272
278
|
---
|
|
273
279
|
|
|
274
|
-
##
|
|
280
|
+
## Utilisation des questionnaires
|
|
275
281
|
|
|
276
|
-
###
|
|
282
|
+
### Correspondance avec les phases
|
|
277
283
|
|
|
278
|
-
| Phase | Categories
|
|
279
|
-
|
|
280
|
-
| step-01-cadrage | 00 (
|
|
281
|
-
| step-03-specify (
|
|
284
|
+
| Phase | Categories utilisees |
|
|
285
|
+
|-------|---------------------|
|
|
286
|
+
| step-01-cadrage | 00 (si mode application), 01, 02, 03, 14, 15 + conditionnelles (05, 06, 08, 09, 10) |
|
|
287
|
+
| step-03-specify (par module) | 04, 07, 11, 12, 13 (chargees par module) |
|
|
282
288
|
|
|
283
|
-
###
|
|
289
|
+
### Phase de cadrage
|
|
284
290
|
|
|
285
|
-
1. **
|
|
286
|
-
2. **
|
|
287
|
-
3. **
|
|
288
|
-
4. **
|
|
289
|
-
5. **
|
|
291
|
+
1. **Debut :** Commencer par la categorie 0 (si mode application), puis la categorie 1 (Contexte metier)
|
|
292
|
+
2. **Adapter :** Sauter les questions non pertinentes selon le contexte
|
|
293
|
+
3. **Approfondir :** Poser des questions de relance sur les reponses vagues
|
|
294
|
+
4. **Challenger :** Ne pas accepter "on verra plus tard" sur les fonctionnalites indispensables
|
|
295
|
+
5. **Par lots :** Presenter 3 a 4 questions par interaction (AskUserQuestion)
|
|
296
|
+
6. **Risques et succes :** TOUJOURS poser les categories 14 et 15 en fin de cadrage
|
|
290
297
|
|
|
291
|
-
###
|
|
298
|
+
### Questions de relance
|
|
292
299
|
|
|
293
|
-
|
|
294
|
-
- "
|
|
295
|
-
- "
|
|
296
|
-
- "
|
|
297
|
-
- "
|
|
300
|
+
Pour chaque reponse vague, utiliser :
|
|
301
|
+
- "Pouvez-vous me donner un exemple concret ?"
|
|
302
|
+
- "Comment mesurez-vous cela aujourd'hui ?"
|
|
303
|
+
- "Que se passe-t-il si cette regle n'est pas respectee ?"
|
|
304
|
+
- "Qui est impacte par cette decision ?"
|
|
298
305
|
|
|
299
|
-
###
|
|
306
|
+
### Filtre de pertinence
|
|
300
307
|
|
|
301
|
-
|
|
302
|
-
> "
|
|
303
|
-
>
|
|
308
|
+
Chaque question conservee passe ce test :
|
|
309
|
+
> "La reponse change-t-elle quelque chose dans le systeme a construire ?"
|
|
310
|
+
> Oui → Conserver | Non → Supprimer
|
|
304
311
|
|
|
305
312
|
---
|
|
306
313
|
|
|
307
|
-
##
|
|
308
|
-
|
|
309
|
-
|
|
|
310
|
-
|
|
311
|
-
| 0.
|
|
312
|
-
| 1.
|
|
313
|
-
| 2.
|
|
314
|
-
| 3.
|
|
315
|
-
| 4.
|
|
316
|
-
| 5. Integrations | 8 | step-01 (
|
|
317
|
-
| 6.
|
|
318
|
-
| 7.
|
|
319
|
-
| 8. Performance | 4 | step-01 (
|
|
320
|
-
| 9.
|
|
321
|
-
| 10. Documentation | 4 | step-01 (
|
|
322
|
-
|
|
|
323
|
-
|
|
|
314
|
+
## Synthese
|
|
315
|
+
|
|
316
|
+
| Categorie | Questions | Phase | Focus |
|
|
317
|
+
|-----------|-----------|-------|-------|
|
|
318
|
+
| 0. Identite de l'application | 8 | step-01 (mode application) | Nom, domaines, profils |
|
|
319
|
+
| 1. Contexte metier | 12 | step-01 | Probleme, situation actuelle, vision, declencheur |
|
|
320
|
+
| 2. Parties prenantes | 14 | step-01 | Utilisateurs, taches, acces, changement |
|
|
321
|
+
| 3. Perimetre fonctionnel | 12 | step-01 | Priorites, parcours, besoins transversaux |
|
|
322
|
+
| 4. Donnees | 8 | step-03 (par module) | Entites et regles |
|
|
323
|
+
| 5. Integrations | 8 | step-01 (conditionnel) | Systemes et flux |
|
|
324
|
+
| 6. Securite et acces | 8 | step-01 (conditionnel) | Permissions et restrictions |
|
|
325
|
+
| 7. Interface utilisateur | 8 | step-03 (par module) | Ecrans et experience |
|
|
326
|
+
| 8. Performance et qualite | 4 | step-01 (conditionnel) | Temps de reponse et tests |
|
|
327
|
+
| 9. Contraintes | 4 | step-01 (conditionnel) | Technologies et dependances |
|
|
328
|
+
| 10. Documentation | 4 | step-01 (conditionnel) | Guides et formation |
|
|
329
|
+
| 14. Risques et hypotheses | 8 | step-01 | Risques, hypotheses, lecons du passe |
|
|
330
|
+
| 15. Criteres de reussite | 8 | step-01 | Indicateurs de succes, conditions d'acceptation |
|
|
331
|
+
| **Total noyau** | **~86** | | |
|
|
332
|
+
| 11-13 (conditionnel) | ~24 | step-03 (par module) | Cycle de vie, migration, impact inter-modules |
|
|
@@ -36,6 +36,7 @@ context: business
|
|
|
36
36
|
question_mode: false
|
|
37
37
|
refactor_mode: false
|
|
38
38
|
micro_mode: false
|
|
39
|
+
extract_mode: false
|
|
39
40
|
interactive_mode: false
|
|
40
41
|
application_mode: false # Multi-module application analysis
|
|
41
42
|
```
|
|
@@ -52,6 +53,7 @@ application_mode: false # Multi-module application analysis
|
|
|
52
53
|
| `-r` | `--refactor` | Refactoring mode | next arg = FEAT-ID, remaining = change description |
|
|
53
54
|
| `-m` | `--micro` | Micro feature mode | none |
|
|
54
55
|
| `-i` | `--interactive` | Interactive mode | none |
|
|
56
|
+
| `-x` | `--extract` | Extract mode: import from interactive HTML export | next arg = JSON file path |
|
|
55
57
|
| `-app` | `--application` | Application mode: multi-module analysis | none |
|
|
56
58
|
|
|
57
59
|
**Remaining arguments after flag removal = feature_description**
|
|
@@ -62,6 +64,8 @@ IF question_mode = true:
|
|
|
62
64
|
use_case = "question"
|
|
63
65
|
ELSE IF refactor_mode = true:
|
|
64
66
|
use_case = "refactoring"
|
|
67
|
+
ELSE IF extract_mode = true:
|
|
68
|
+
use_case = "extract"
|
|
65
69
|
ELSE IF micro_mode = true:
|
|
66
70
|
use_case = "micro"
|
|
67
71
|
ELSE:
|
|
@@ -125,6 +129,23 @@ ba -r FEAT-001 "Add support for multi-language feature names"
|
|
|
125
129
|
ba -m "Add email notification on approval"
|
|
126
130
|
```
|
|
127
131
|
|
|
132
|
+
### Extract Mode (-x)
|
|
133
|
+
```
|
|
134
|
+
1. Parse: extract_mode = true, json_path = first remaining arg
|
|
135
|
+
2. Validate JSON file exists at {json_path}
|
|
136
|
+
3. Read JSON file content
|
|
137
|
+
4. Load step-06-extract.md with {json_data} = parsed content
|
|
138
|
+
5. EXIT after extraction — step-06 handles everything
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Example:**
|
|
142
|
+
```
|
|
143
|
+
ba -x ./docs/business/MyApp/ba-export.json
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
> **Note:** The JSON file is the export from the interactive HTML document (`ba-interactive.html`).
|
|
147
|
+
> The extract step maps ALL client data to feature.json format with zero information loss.
|
|
148
|
+
|
|
128
149
|
### Default Mode (New Feature)
|
|
129
150
|
```
|
|
130
151
|
1. Set use_case = "new"
|
|
@@ -557,17 +578,18 @@ NEXT STEP: step-01-analyse ({use_case} mode)
|
|
|
557
578
|
|
|
558
579
|
## Step 13: Load Next Step
|
|
559
580
|
|
|
560
|
-
**All modes except question (-q)
|
|
581
|
+
**All modes except question (-q), micro (-m), and extract (-x):**
|
|
561
582
|
After showing initialization summary, proceed to `./step-01-cadrage.md`
|
|
562
583
|
|
|
563
584
|
**Question mode (-q):** EXIT after ba-reader answers the question.
|
|
564
585
|
**Micro mode (-m):** Load `./step-05-handoff.md` directly.
|
|
586
|
+
**Extract mode (-x):** Load `./step-06-extract.md` with `{json_data}` from parsed JSON file.
|
|
565
587
|
|
|
566
588
|
**Pass context variables:**
|
|
567
589
|
```yaml
|
|
568
590
|
feature_id: string
|
|
569
591
|
feature_description: string
|
|
570
|
-
use_case: "new" | "question" | "refactoring" | "micro" | "application"
|
|
592
|
+
use_case: "new" | "question" | "refactoring" | "micro" | "extract" | "application"
|
|
571
593
|
application_name: string
|
|
572
594
|
module_name: string
|
|
573
595
|
language: string
|
|
@@ -104,35 +104,46 @@ After each batch: Apply ULTRATHINK + Elicitation Techniques.
|
|
|
104
104
|
|
|
105
105
|
### 4. Core Questionnaires (always)
|
|
106
106
|
|
|
107
|
-
Load these categories in order
|
|
107
|
+
Load these categories in order. Each questionnaire contains its own batching strategy and elicitation guide.
|
|
108
108
|
|
|
109
|
-
**
|
|
110
|
-
- Q1.1-Q1.
|
|
111
|
-
-
|
|
109
|
+
**Categorie 01 - Contexte metier** (`questionnaire/01-context.md`)
|
|
110
|
+
- Q1.1-Q1.12 : Probleme, situation actuelle, vision, declencheur
|
|
111
|
+
- 3 lots AskUserQuestion (probleme, processus actuel, vision et urgence)
|
|
112
|
+
- ULTRATHINK : Identifier la douleur reelle, pas la solution imaginee
|
|
112
113
|
|
|
113
|
-
**
|
|
114
|
-
- Q2.1-Q2.
|
|
115
|
-
-
|
|
116
|
-
- ULTRATHINK:
|
|
114
|
+
**Categorie 02 - Parties prenantes** (`questionnaire/02-stakeholders.md`)
|
|
115
|
+
- Q2.1-Q2.14 : Utilisateurs, taches, acces, conduite du changement
|
|
116
|
+
- 4 lots AskUserQuestion
|
|
117
|
+
- ULTRATHINK : Mapper les parties prenantes vers les profils d'acces
|
|
117
118
|
|
|
118
|
-
**
|
|
119
|
-
- Q3.1-Q3.
|
|
120
|
-
-
|
|
121
|
-
- ULTRATHINK:
|
|
119
|
+
**Categorie 03 - Perimetre fonctionnel** (`questionnaire/03-scope.md`)
|
|
120
|
+
- Q3.1-Q3.12 : Priorites (indispensable/important/optionnel/hors perimetre), parcours, besoins transversaux
|
|
121
|
+
- 3 lots AskUserQuestion
|
|
122
|
+
- ULTRATHINK : S'assurer que le perimetre couvre les besoins identifies
|
|
123
|
+
|
|
124
|
+
**Categorie 14 - Risques et hypotheses** (`questionnaire/14-risk-assumptions.md`)
|
|
125
|
+
- Q14.1-Q14.8 : Risques, hypotheses non verifiees, lecons du passe
|
|
126
|
+
- 2 lots AskUserQuestion
|
|
127
|
+
- TOUJOURS charge (noyau) - ne jamais sauter cette categorie
|
|
128
|
+
|
|
129
|
+
**Categorie 15 - Criteres de reussite** (`questionnaire/15-success-metrics.md`)
|
|
130
|
+
- Q15.1-Q15.8 : Definition du succes, objectifs mesurables, conditions d'acceptation
|
|
131
|
+
- 2 lots AskUserQuestion
|
|
132
|
+
- TOUJOURS charge (noyau) - ne jamais sauter cette categorie
|
|
122
133
|
|
|
123
134
|
### 5. Conditional Questionnaires
|
|
124
135
|
|
|
125
136
|
Based on feature description analysis, load additional categories:
|
|
126
137
|
|
|
127
|
-
| Condition |
|
|
128
|
-
|
|
129
|
-
|
|
|
130
|
-
| Integration
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
|
|
|
138
|
+
| Condition | Categorie | Questionnaire |
|
|
139
|
+
|-----------|-----------|---------------|
|
|
140
|
+
| Securite ou conformite mentionnee | 06 | `questionnaire/06-security.md` |
|
|
141
|
+
| Integration avec des systemes externes | 05 | `questionnaire/05-integrations.md` |
|
|
142
|
+
| Exigences de performance | 08 | `questionnaire/08-performance.md` |
|
|
143
|
+
| Contraintes techniques | 09 | `questionnaire/09-constraints.md` |
|
|
144
|
+
| Besoins de documentation | 10 | `questionnaire/10-documentation.md` |
|
|
134
145
|
|
|
135
|
-
> **Categories 04 (
|
|
146
|
+
> **Categories 04 (donnees), 07 (interface), 11 (cycle de vie), 12 (migration), 13 (inter-modules) sont par module et chargees dans step-03.**
|
|
136
147
|
|
|
137
148
|
### 6. Application Roles Definition
|
|
138
149
|
|
|
@@ -447,6 +447,7 @@ For EACH section confirmed in 3a, build the `specification.sections[]` structure
|
|
|
447
447
|
#### 3b. For Each Section: Generate MANDATORY ASCII Mockup
|
|
448
448
|
|
|
449
449
|
> **BLOCKING RULE:** Every section MUST have a wireframe. No section proceeds to entity definition (step 6) without a validated mockup stored in `specification.uiWireframes[]`.
|
|
450
|
+
> **HTML INTEGRATION:** These wireframes are also rendered in the interactive HTML document (`ba-interactive.html`) deployed at handoff. The client can review and annotate mockups directly in their browser.
|
|
450
451
|
|
|
451
452
|
For each confirmed section, generate an ASCII mockup and validate with client:
|
|
452
453
|
|
|
@@ -1262,6 +1263,62 @@ ba-writer.updateStatus({module_feature_id}, "specified")
|
|
|
1262
1263
|
ba-writer.updateModuleStatus({feature_id}, {currentModule.code}, "specified")
|
|
1263
1264
|
```
|
|
1264
1265
|
|
|
1266
|
+
### 11-bis. Deploy Incremental Interactive HTML (MANDATORY)
|
|
1267
|
+
|
|
1268
|
+
> **After each module is specified, deploy/update the interactive HTML document with all available data.**
|
|
1269
|
+
> This allows the client to review completed modules while the next module is being specified.
|
|
1270
|
+
> The HTML is incrementally enriched: after module 1, only module 1 specs appear; after module 2, both appear; etc.
|
|
1271
|
+
|
|
1272
|
+
**Source:** `html/ba-interactive.html` (relative to skill root = `~/.claude/skills/business-analyse/html/`)
|
|
1273
|
+
|
|
1274
|
+
**Destination:** `docs/business/{app}/business-analyse/v{version}/ba-interactive.html`
|
|
1275
|
+
|
|
1276
|
+
**Steps:**
|
|
1277
|
+
|
|
1278
|
+
1. **Read sources:**
|
|
1279
|
+
- Read the HTML template from skill directory
|
|
1280
|
+
- Read the master feature.json (application level — now updated with current module status)
|
|
1281
|
+
- Read EACH completed module's feature.json (including the one just specified)
|
|
1282
|
+
|
|
1283
|
+
2. **Build FEATURE_DATA object:**
|
|
1284
|
+
|
|
1285
|
+
> **Use the EXACT SAME mapping defined in step-05-handoff.md section 9d.**
|
|
1286
|
+
> The mapping is identical — the only difference is that `moduleSpecs` only includes completed modules.
|
|
1287
|
+
> Modules not yet specified will NOT appear in `moduleSpecs` (their entry in `modules[]` will show `status: "pending"`).
|
|
1288
|
+
|
|
1289
|
+
Follow step-05 section 9d "Step 2: Build FEATURE_DATA object" for the complete mapping pseudocode:
|
|
1290
|
+
- `metadata`, `cadrage`, `modules[]`, `dependencies[]` → from master feature.json
|
|
1291
|
+
- `moduleSpecs[moduleCode]` → only for modules with status "specified" (completed so far)
|
|
1292
|
+
- `consolidation` → empty `{ interactions: [], e2eFlows: [] }` (not yet consolidated)
|
|
1293
|
+
- `handoff` → empty `{}` (not yet handed off)
|
|
1294
|
+
|
|
1295
|
+
3. **Replace placeholders in template:**
|
|
1296
|
+
- Serialize the FEATURE_DATA object as JSON (2-space indentation)
|
|
1297
|
+
- Replace `{{FEATURE_DATA}}` with the serialized JSON
|
|
1298
|
+
- Replace `{{APPLICATION_NAME}}` → `{application_name}`
|
|
1299
|
+
- Replace `{{APPLICATION_ID}}` → `{feature_id}`
|
|
1300
|
+
- Replace `{{VERSION}}` → `{version}`
|
|
1301
|
+
- Replace `{{CREATED_AT}}` → `{ISO timestamp}`
|
|
1302
|
+
|
|
1303
|
+
4. **Write and confirm:**
|
|
1304
|
+
|
|
1305
|
+
```
|
|
1306
|
+
✓ Interactive HTML updated (incremental):
|
|
1307
|
+
Path: docs/business/{app}/business-analyse/v{version}/ba-interactive.html
|
|
1308
|
+
Modules included: {completedModules.length}/{totalModules} specified
|
|
1309
|
+
- {completedModule1}: {uc_count} UCs, {br_count} BRs, {entity_count} entities
|
|
1310
|
+
- {completedModule2}: ...
|
|
1311
|
+
Remaining: {pendingModules.join(', ')} (will be added after specification)
|
|
1312
|
+
→ Client can open in browser to review completed modules now.
|
|
1313
|
+
```
|
|
1314
|
+
|
|
1315
|
+
> **WHY incremental?** The client doesn't have to wait until handoff to start reviewing.
|
|
1316
|
+
> While module 2 is being specified, the client can already give feedback on module 1.
|
|
1317
|
+
> Each incremental deployment OVERWRITES the previous HTML (latest state always).
|
|
1318
|
+
> The FINAL deployment at step-05 (handoff) will include consolidation and handoff data.
|
|
1319
|
+
|
|
1320
|
+
---
|
|
1321
|
+
|
|
1265
1322
|
### 12. Loop Decision
|
|
1266
1323
|
|
|
1267
1324
|
```
|
|
@@ -1337,6 +1394,7 @@ Read metadata.workflow.currentModule
|
|
|
1337
1394
|
- Client confirmed module specification
|
|
1338
1395
|
- Module feature.json written
|
|
1339
1396
|
- Master updated with module status
|
|
1397
|
+
- **Interactive HTML deployed/updated with completed module data (incremental)**
|
|
1340
1398
|
- Loop advanced correctly
|
|
1341
1399
|
|
|
1342
1400
|
## FAILURE MODES
|