@atlashub/smartstack-cli 4.40.0 → 4.42.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.
Files changed (149) hide show
  1. package/.documentation/apex.html +2 -2
  2. package/.documentation/business-analyse.html +26 -27
  3. package/.documentation/commands.html +6 -6
  4. package/dist/index.js +24 -13
  5. package/dist/index.js.map +1 -1
  6. package/package.json +2 -2
  7. package/templates/agents/ba-reader.md +2 -2
  8. package/templates/agents/ba-writer.md +44 -9
  9. package/templates/hooks/stop-hook.sh +6 -6
  10. package/templates/ralph/README.md +1 -1
  11. package/templates/scripts/setup-ralph-loop.sh +2 -2
  12. package/templates/skills/_resources/context-digest-template.md +1 -1
  13. package/templates/skills/_shared.md +13 -13
  14. package/templates/skills/apex/SKILL.md +15 -7
  15. package/templates/skills/apex/_shared.md +1 -1
  16. package/templates/skills/apex/references/analysis-methods.md +24 -0
  17. package/templates/skills/apex/references/challenge-questions.md +46 -13
  18. package/templates/skills/apex/references/core-seed-data.md +4 -4
  19. package/templates/skills/apex/references/error-classification.md +3 -3
  20. package/templates/skills/apex/references/smartstack-api.md +1 -1
  21. package/templates/skills/apex/references/smartstack-layers.md +1 -1
  22. package/templates/skills/apex/steps/step-00-init.md +48 -8
  23. package/templates/skills/apex/steps/step-01-analyze.md +42 -2
  24. package/templates/skills/apex/steps/step-02-plan.md +3 -1
  25. package/templates/skills/apex/steps/step-03-execute.md +3 -1
  26. package/templates/skills/apex/steps/step-03a-layer0-domain.md +2 -0
  27. package/templates/skills/apex/steps/step-03b-layer1-seed.md +111 -3
  28. package/templates/skills/apex/steps/step-03c-layer2-backend.md +2 -0
  29. package/templates/skills/apex/steps/step-03d-layer3-frontend.md +2 -0
  30. package/templates/skills/apex/steps/step-03e-layer4-devdata.md +2 -0
  31. package/templates/skills/apex/steps/step-04-examine.md +18 -0
  32. package/templates/skills/business-analyse/SKILL.md +83 -22
  33. package/templates/skills/business-analyse/_shared.md +12 -9
  34. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +13 -0
  35. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +33 -0
  36. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +1 -1
  37. package/templates/skills/business-analyse/react/components.md +1 -1
  38. package/templates/skills/business-analyse/react/schema.md +1 -1
  39. package/templates/skills/business-analyse/references/acceptance-criteria.md +3 -3
  40. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +1 -1
  41. package/templates/skills/business-analyse/references/detection-strategies.md +2 -2
  42. package/templates/skills/business-analyse/references/entity-architecture-decision.md +1 -1
  43. package/templates/skills/business-analyse/references/naming-conventions.md +6 -6
  44. package/templates/skills/business-analyse/references/robustness-checks.md +4 -4
  45. package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
  46. package/templates/skills/business-analyse/references/validation-checklist.md +3 -3
  47. package/templates/skills/business-analyse/schemas/feature-schema.json +1 -1
  48. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +2 -2
  49. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +3 -2
  50. package/templates/skills/business-analyse/steps/step-00-init.md +15 -5
  51. package/templates/skills/business-analyse/steps/step-01-cadrage.md +14 -5
  52. package/templates/skills/business-analyse/steps/step-02-structure.md +17 -1
  53. package/templates/skills/business-analyse/steps/step-03-specify.md +136 -26
  54. package/templates/skills/business-analyse/steps/step-04-consolidate.md +44 -8
  55. package/templates/skills/business-analyse/templates/tpl-handoff.md +5 -5
  56. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +4 -4
  57. package/templates/skills/business-analyse/templates-frd.md +4 -4
  58. package/templates/skills/{ba-design-ui → business-analyse-design}/SKILL.md +9 -9
  59. package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-01-screens.md +9 -0
  60. package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-03-navigation.md +9 -2
  61. package/templates/skills/business-analyse-develop/SKILL.md +248 -0
  62. package/templates/skills/{ralph-loop → business-analyse-develop}/references/category-completeness.md +1 -1
  63. package/templates/skills/{ralph-loop → business-analyse-develop}/references/init-resume-recovery.md +8 -8
  64. package/templates/skills/{ralph-loop → business-analyse-develop}/references/multi-module-queue.md +1 -1
  65. package/templates/skills/business-analyse-develop/references/quality-gates.md +70 -0
  66. package/templates/skills/{ralph-loop → business-analyse-develop}/references/task-transform-legacy.md +1 -1
  67. package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-00-init.md +20 -4
  68. package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-01-task.md +3 -2
  69. package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +131 -0
  70. package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +156 -0
  71. package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-04-check.md +1 -1
  72. package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-05-report.md +1 -1
  73. package/templates/skills/{derive-prd → business-analyse-handoff}/SKILL.md +7 -7
  74. package/templates/skills/{derive-prd → business-analyse-handoff}/references/acceptance-criteria.md +5 -5
  75. package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-file-templates.md +1 -1
  76. package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-mappings.md +1 -1
  77. package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-seeddata-generation.md +2 -2
  78. package/templates/skills/{derive-prd → business-analyse-handoff}/references/prd-generation.md +14 -14
  79. package/templates/skills/{derive-prd → business-analyse-handoff}/schemas/handoff-schema.json +2 -2
  80. package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-00-validate.md +6 -6
  81. package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-01-transform.md +46 -7
  82. package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-02-export.md +34 -14
  83. package/templates/skills/{ba-generate-html → business-analyse-html}/SKILL.md +4 -4
  84. package/templates/skills/{ba-generate-html → business-analyse-html}/html/ba-interactive.html +709 -277
  85. package/templates/skills/{ba-generate-html → business-analyse-html}/html/build-html.js +25 -3
  86. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/01-data-init.js +54 -0
  87. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/02-navigation.js +97 -3
  88. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/03-render-cadrage.js +8 -7
  89. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/04-render-modules.js +7 -7
  90. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/05-render-specs.js +188 -85
  91. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/06-render-consolidation.js +15 -14
  92. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/06-render-mockups.js +19 -19
  93. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/07-render-handoff.js +24 -4
  94. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/08-editing.js +6 -2
  95. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/09-export.js +27 -57
  96. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/10-comments.js +67 -45
  97. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/11-review-panel.js +15 -13
  98. package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +216 -0
  99. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/05-modules.css +36 -0
  100. package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/template.html +22 -12
  101. package/templates/skills/{ba-generate-html → business-analyse-html}/references/data-build.md +1 -1
  102. package/templates/skills/{ba-generate-html → business-analyse-html}/references/data-mapping.md +5 -1
  103. package/templates/skills/{ba-generate-html → business-analyse-html}/references/output-modes.md +7 -7
  104. package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-01-collect.md +25 -1
  105. package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-02-build-data.md +33 -5
  106. package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-03-render.md +2 -2
  107. package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-04-verify.md +2 -2
  108. package/templates/skills/{ba-review → business-analyse-review}/SKILL.md +11 -10
  109. package/templates/skills/{ba-review → business-analyse-review}/references/review-data-mapping.md +2 -2
  110. package/templates/skills/business-analyse-review/steps/step-00-init.md +107 -0
  111. package/templates/skills/{ba-review → business-analyse-review}/steps/step-01-apply.md +19 -11
  112. package/templates/skills/business-analyse-status/SKILL.md +118 -0
  113. package/templates/skills/documentation/SKILL.md +2 -2
  114. package/templates/skills/sketch/SKILL.md +172 -0
  115. package/templates/skills/sketch/references/domain-heuristics.md +116 -0
  116. package/templates/skills/ba-generate-html/html/src/styles/02-layout.css +0 -101
  117. package/templates/skills/ralph-loop/SKILL.md +0 -240
  118. /package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-02-wireframes.md +0 -0
  119. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/category-rules.md +0 -0
  120. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/compact-loop.md +0 -0
  121. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/module-transition.md +0 -0
  122. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/parallel-execution.md +0 -0
  123. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/section-splitting.md +0 -0
  124. /package/templates/skills/{ralph-loop → business-analyse-develop}/references/team-orchestration.md +0 -0
  125. /package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-02-execute.md +0 -0
  126. /package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-03-commit.md +0 -0
  127. /package/templates/skills/{derive-prd → business-analyse-handoff}/references/entity-domain-mapping.md +0 -0
  128. /package/templates/skills/{derive-prd → business-analyse-handoff}/references/readiness-scoring.md +0 -0
  129. /package/templates/skills/{derive-prd → business-analyse-handoff}/templates/tpl-progress.md +0 -0
  130. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-context.html +0 -0
  131. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-scope.html +0 -0
  132. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-stakeholders.html +0 -0
  133. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-success.html +0 -0
  134. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-datamodel.html +0 -0
  135. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-flows.html +0 -0
  136. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-interactions.html +0 -0
  137. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-permissions.html +0 -0
  138. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/decomp-dependencies.html +0 -0
  139. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/decomp-modules.html +0 -0
  140. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/handoff-summary.html +0 -0
  141. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/module-spec-container.html +0 -0
  142. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/01-variables.css +0 -0
  143. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/03-navigation.css +0 -0
  144. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/04-cards.css +0 -0
  145. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/06-wireframes.css +0 -0
  146. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/07-comments.css +0 -0
  147. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/08-review-panel.css +0 -0
  148. /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/09-mockups-html.css +0 -0
  149. /package/templates/skills/{ba-generate-html → business-analyse-html}/references/wireframe-svg-style-guide.md +0 -0
@@ -35,6 +35,35 @@
35
35
  | Q3.12 | Informations clés par écran ? Quelles colonnes dans la liste, quels champs dans le formulaire ? | Par écran |
36
36
  | Q3.13 | Actions possibles par écran ? (créer, éditer, supprimer, valider, exporter, changer statut) | Par écran |
37
37
 
38
+ ## 3.5 Volumétrie et performance
39
+
40
+ | # | Question | Type de réponse |
41
+ |---|----------|-----------------|
42
+ | Q3.17 | Combien de [entité] prévoyez-vous ? (par mois et total à 2 ans) | Estimation chiffrée |
43
+ | Q3.18 | Y a-t-il des pics d'utilisation ? (fin de mois, clôture annuelle) | Description des pics |
44
+
45
+ - Relance si vague : "Moins de 100 ? Entre 100-10 000 ? Plus de 10 000 ?"
46
+ - Mapping → `entities.json` : champ `estimatedVolume` (`monthly`, `total2y`)
47
+
48
+ ## 3.6 Recherche et filtres
49
+
50
+ | # | Question | Type de réponse |
51
+ |---|----------|-----------------|
52
+ | Q3.19 | Par quels critères cherchez-vous un [entité] ? (nom, date, statut, code...) | Liste de critères |
53
+ | Q3.20 | Quels filtres rapides sont indispensables dans la liste ? | Liste de filtres |
54
+
55
+ - Relance : "Triez-vous souvent par date ? Filtrez-vous par statut ?"
56
+ - Mapping → `entities.json` : champs `searchableFields[]` et `defaultFilters[]`
57
+
58
+ ## 3.7 Notifications et alertes
59
+
60
+ | # | Question | Type de réponse |
61
+ |---|----------|-----------------|
62
+ | Q3.21 | Quels événements doivent déclencher une notification ? (création, approbation, deadline...) | Liste d'événements |
63
+ | Q3.22 | Qui doit être notifié ? Par quel canal ? (in-app, email) | Cible + canal |
64
+
65
+ - Mapping → `rules.json` : règles de catégorie `notification`
66
+
38
67
  ## 3.4 Tableaux de bord
39
68
 
40
69
  | # | Question | Type de réponse |
@@ -58,6 +87,7 @@
58
87
  | Q3.11 (écrans) | "Un écran de liste" | "Avec pages dédiées pour création et édition ? Détail en page avec onglets ?" |
59
88
  | Q3.13 (actions) | "CRUD classique" | "Actions métier spécifiques ? (valider, dupliquer, archiver, changer statut, assigner)" |
60
89
  | Q3.14 (dashboards) | "Juste des chiffres" | "Les tendances ne seraient-elles pas plus lisibles en graphique ?" |
90
+ | Q3.17 (volume) | "Je ne sais pas" | "Commençons petit : combien d'employés dans l'entreprise ? Combien de factures par mois environ ?" |
61
91
 
62
92
  ### Anti-patterns à détecter
63
93
 
@@ -90,3 +120,6 @@
90
120
  | Q3.7-Q3.9 | `rules.json` (règles métier de validation et sécurité) |
91
121
  | Q3.10-Q3.13 | `screens.json` (sections, resources, colonnes, actions) |
92
122
  | Q3.14-Q3.16 | `screens.json` (sections dashboard, KPI resources) |
123
+ | Q3.17-Q3.18 | `entities.json` (estimatedVolume) |
124
+ | Q3.19-Q3.20 | `entities.json` (searchableFields, defaultFilters) |
125
+ | Q3.21-Q3.22 | `rules.json` (règles category: notification) |
@@ -3,4 +3,4 @@
3
3
  > **NOT USED** — Les risques projet, hypotheses, lecons du passe, metriques de succes et conditions de livraison
4
4
  > ne sont pas du scope de la BA en vibe coding.
5
5
  >
6
- > La documentation technique est generee automatiquement par `/documentation` apres `/ralph-loop`.
6
+ > La documentation technique est generee automatiquement par `/documentation` apres `/business-analyse-develop`.
@@ -1,7 +1,7 @@
1
1
  # React Components - Business Analyse Viewer
2
2
 
3
3
  > **Usage:** React component that renders index.json directly
4
- > **Loaded in:** /ba-generate-html
4
+ > **Loaded in:** /business-analyse-html
5
5
  > **Data source (module):** `docs/{app}/{module}/business-analyse/v{X.Y}/index.json`
6
6
  > **Data source (application):** `docs/{app}/business-analyse/v{X.Y}/index.json`
7
7
  > **Related:** `react/application-viewer.md` for application-level view
@@ -1,7 +1,7 @@
1
1
  # TypeScript Schema - Feature JSON Types
2
2
 
3
3
  > **Usage:** TypeScript interfaces aligned with index.json and application-schema.json
4
- > **Loaded in:** /ba-generate-html (for web app rendering)
4
+ > **Loaded in:** /business-analyse-html (for web app rendering)
5
5
  > **Source (module):** `docs/{app}/{module}/business-analyse/v{X.Y}/index.json`
6
6
  > **Source (application):** `docs/{app}/business-analyse/v{X.Y}/index.json`
7
7
 
@@ -1,6 +1,6 @@
1
1
  # Module Acceptance Criteria (Shared Reference)
2
2
 
3
- > **Loaded by:** step-03-specify (post-check), ralph-loop step-01-task (input validation)
3
+ > **Loaded by:** step-03-specify (post-check), business-analyse-develop step-01-task (input validation)
4
4
  > **Purpose:** Define measurable, bash-verifiable acceptance criteria that a module MUST pass before being marked "specified".
5
5
  > **Key principle:** These checks read the REAL JSON files on disk — NOT in-memory data the model "thinks" it wrote.
6
6
 
@@ -137,11 +137,11 @@ console.log('PASS: All acceptance criteria met (AC-01 to AC-17)');
137
137
  After writing module JSON files, run the bash script above.
138
138
  IF FAIL → re-execute section 11 write with corrected data → re-run until PASS.
139
139
 
140
- ### 2. ralph-loop step-01-task.md (input validation)
140
+ ### 2. business-analyse-develop step-01-task.md (input validation)
141
141
 
142
142
  At PRD load time, run the bash script on each module index.json.
143
143
  IF FAIL → BLOCKING: "Module {name} does not meet acceptance criteria — run /business-analyse to fix".
144
- This prevents ralph-loop from generating code from incomplete specifications.
144
+ This prevents business-analyse-develop from generating code from incomplete specifications.
145
145
 
146
146
  ---
147
147
 
@@ -20,7 +20,7 @@
20
20
  | `specification.wireframes[]` | YES | Must have >=1 wireframe with `layout` object |
21
21
  | `specification.lifeCycles[]` | IF entities have status | States must be objects (NOT strings) |
22
22
  | `specification.seedDataCore` | YES | Must have 9 arrays: navigationApplications, applicationRoles, navigationModules, navigationSections, navigationResources, navigationTranslations, permissions, rolePermissions, permissionConstants |
23
- | `specification.seedDataBusiness` | NO (WARNING) | Business seed data is generated during implementation (ralph-loop), not during BA. If present, validates format. |
23
+ | `specification.seedDataBusiness` | NO (WARNING) | Business seed data is generated during implementation (business-analyse-develop), not during BA. If present, validates format. |
24
24
  | `specification.gherkinScenarios` | YES | Must be `[{feature, scenarios[]}]` (array of objects, NOT single object or flat array) |
25
25
  | `specification.navigation` | YES | Must have entries[] |
26
26
  | `specification.i18nKeys[]` | YES | Must have >=1 key with fr, en, it, de |
@@ -73,7 +73,7 @@ function detectReviewMode(feature_description) {
73
73
  | Condition | Action |
74
74
  |-----------|--------|
75
75
  | `{feature_description}` starts with `-review` | Activate review mode detection |
76
- | ba-review.json found | Redirect user to `/ba-review` skill |
76
+ | ba-review.json found | Redirect user to `/business-analyse-review` skill |
77
77
  | ba-review.json NOT found | Display error with fix instructions, STOP |
78
78
  | No applications exist | Display error, STOP |
79
79
 
@@ -416,7 +416,7 @@ interface DetectionResult {
416
416
  **Test Case 4: Review Mode**
417
417
  - Input: `"-review"`
418
418
  - Existing: `HumanResources` with ba-review.json present
419
- - Expected: Redirect user to `/ba-review` skill
419
+ - Expected: Redirect user to `/business-analyse-review` skill
420
420
 
421
421
  **Test Case 5: Review Mode - File Missing**
422
422
  - Input: `"-review"`
@@ -135,7 +135,7 @@ L'entite {E} est-elle CORE pour cette application ?
135
135
 
136
136
  ## 4. Section Pattern for Modules
137
137
 
138
- > **REGLE FONDAMENTALE : Les sections representent des zones fonctionnelles, PAS des operations CRUD.**
138
+ > **REGLE FONDAMENTALE : Les sections representent des sections fonctionnelles, PAS des operations CRUD.**
139
139
 
140
140
  ### Le pattern de navigation SmartStack
141
141
 
@@ -71,11 +71,11 @@ Route = ToKebabCase($"/{appCode}/{moduleCode}")
71
71
  - `Projects` → `projects` (single word, no change)
72
72
  - `AI` → `ai` (acronym lowercase)
73
73
 
74
- **Implementation:** See `templates/skills/ralph-loop/references/core-seed-data.md` line 162
74
+ **Implementation:** See `templates/skills/business-analyse-develop/references/core-seed-data.md` line 162
75
75
 
76
76
  ### JavaScript (BA Handoff Generation)
77
77
 
78
- **Location:** Used in /ba-generate-html when building seedDataCore
78
+ **Location:** Used in /business-analyse-html when building seedDataCore
79
79
 
80
80
  **Usage:**
81
81
  ```javascript
@@ -113,7 +113,7 @@ function toKebabCase(str: string): string {
113
113
 
114
114
  ## Validation
115
115
 
116
- ### During Generation (ralph-loop)
116
+ ### During Generation (business-analyse-develop)
117
117
 
118
118
  POST-CHECK after NavigationSeedData generation:
119
119
 
@@ -237,7 +237,7 @@ src/API/Controllers/HumanResources/TimeManagementController.cs
237
237
 
238
238
  ## References
239
239
 
240
- - **Template:** `templates/skills/ralph-loop/references/core-seed-data.md`
240
+ - **Template:** `templates/skills/business-analyse-develop/references/core-seed-data.md`
241
241
  - **Validation:** `src/mcp/tools/validate-frontend-routes.ts`
242
- - **POST-CHECK:** `templates/skills/ralph-loop/steps/step-02-execute.md` (section 5)
243
- - **Handoff:** `/derive-prd` skill (handoff section)
242
+ - **POST-CHECK:** `templates/skills/business-analyse-develop/steps/step-02-execute.md` (section 5)
243
+ - **Handoff:** `/business-analyse-handoff` skill (handoff section)
@@ -5,7 +5,7 @@
5
5
 
6
6
  ## Overview
7
7
 
8
- This document consolidates all robustness checks implemented across the business-analyse workflow. Each check serves to catch issues early, before they cause ralph-loop failures or runtime errors.
8
+ This document consolidates all robustness checks implemented across the business-analyse workflow. Each check serves to catch issues early, before they cause business-analyse-develop failures or runtime errors.
9
9
 
10
10
  ---
11
11
 
@@ -151,7 +151,7 @@ DO NOT PROCEED TO CONSOLIDATION UNTIL ALL CHECKS PASS
151
151
 
152
152
  ### Purpose
153
153
 
154
- Verifies ALL cross-module entity references are resolvable. Prevents FK constraint violations and runtime errors during ralph-loop code generation.
154
+ Verifies ALL cross-module entity references are resolvable. Prevents FK constraint violations and runtime errors during business-analyse-develop code generation.
155
155
 
156
156
  ### Process
157
157
 
@@ -264,7 +264,7 @@ DEVELOPMENT CANNOT PROCEED WITH CIRCULAR DEPENDENCIES
264
264
 
265
265
  ---
266
266
 
267
- > **Note:** Ralph Readiness Validation (PRD files, handoff completeness, etc.) is handled by the `/derive-prd` skill.
267
+ > **Note:** Ralph Readiness Validation (PRD files, handoff completeness, etc.) is handled by the `/business-analyse-handoff` skill.
268
268
 
269
269
  ---
270
270
 
@@ -416,7 +416,7 @@ WHERE: Return to step-03-specify.md for TimeTracking module
416
416
 
417
417
  **Success:**
418
418
  - Application marked as "consolidated"
419
- - Ready for `/ba-generate-html` and `/derive-prd`
419
+ - Ready for `/business-analyse-html` and `/business-analyse-handoff`
420
420
 
421
421
  ---
422
422
 
@@ -32,9 +32,9 @@
32
32
 
33
33
  ## Auto-Generated UI Components by featureType
34
34
 
35
- > **RULE:** Sections = functional zones only. `create`/`edit` are separate pages with own URL routes (`/create` and `/:id/edit`). `detail` is a tabbed page reached from `list`.
35
+ > **RULE:** Sections are functional, not CRUD-based. `create`/`edit` are separate pages with own URL routes (`/create` and `/:id/edit`). `detail` is a tabbed page reached from `list`.
36
36
 
37
- | featureType | Sections (functional zones) | permissionMode | List page includes | Form pages | Detail page tabs |
37
+ | featureType | Sections (functional) | permissionMode | List page includes | Form pages | Detail page tabs |
38
38
  |---|---|---|---|---|---|
39
39
  | data-centric | list | `crud` | grid, filters, create button | `/create` page, `/:id/edit` page | Infos, {relations} |
40
40
  | data-centric | (detail — implicit) | `inherit` | — | — | — |
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Authoritative minimums:** See `_shared.md` for the single source of truth on all minimum thresholds.
4
4
  > **CRITICAL:** This checklist MUST be FULLY COMPLETED before marking module status = "specified".
5
- > **Rationale:** Prevents incomplete modules from reaching handoff, reduces ralph-loop failures.
5
+ > **Rationale:** Prevents incomplete modules from reaching handoff, reduces business-analyse-develop failures.
6
6
 
7
7
  ## Checklist Structure
8
8
 
@@ -232,8 +232,8 @@ const checklist = {
232
232
  seedDataBusiness: {
233
233
  check: "Business seed data template defined (if applicable — generated during implementation, not BA)",
234
234
  status: specification.seedDataBusiness !== undefined ? "PASS" : "WARN",
235
- blocking: false, // WARNING only — business seed data is generated during ralph-loop implementation, not during BA phase
236
- details: "Business seed data (reference types, categories, statuses) is generated during implementation (ralph-loop). " +
235
+ blocking: false, // WARNING only — business seed data is generated during business-analyse-develop implementation, not during BA phase
236
+ details: "Business seed data (reference types, categories, statuses) is generated during implementation (business-analyse-develop). " +
237
237
  "BA phase ensures seedDataCore is complete (navigation, permissions). seedDataBusiness is optional at this stage."
238
238
  },
239
239
 
@@ -43,7 +43,7 @@
43
43
  }
44
44
  },
45
45
 
46
- "$comment": "Sub-schema loading guide per BA step: step-00-init → metadata-schema.json | step-01-cadrage → discovery-schema.json (module) OR application-schema.json (master) | step-02-structure → application-schema.json (modules[], dependencyGraph) | step-03-specify → analysis-schema.json + specification-schema.json | step-04-consolidate → validation-schema.json + application-schema.json (consolidation). HTML generation → /ba-generate-html skill. Review corrections → /ba-review skill. Handoff → /derive-prd skill",
46
+ "$comment": "Sub-schema loading guide per BA step: step-00-init → metadata-schema.json | step-01-cadrage → discovery-schema.json (module) OR application-schema.json (master) | step-02-structure → application-schema.json (modules[], dependencyGraph) | step-03-specify → analysis-schema.json + specification-schema.json | step-04-consolidate → validation-schema.json + application-schema.json (consolidation). HTML generation → /business-analyse-html skill. Review corrections → /business-analyse-review skill. Handoff → /business-analyse-handoff skill",
47
47
 
48
48
  "$defs": {
49
49
  "stepStatus": { "$ref": "shared/common-defs.json#/$defs/stepStatus" },
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "handoff-schema.json",
4
4
  "title": "SmartStack BA - Handoff",
5
- "description": "Module-level handoff: file mapping (8 categories), BR-to-code mapping, API endpoint summary. Used by /derive-prd skill.",
5
+ "description": "Module-level handoff: file mapping (8 categories), BR-to-code mapping, API endpoint summary. Used by /business-analyse-handoff skill.",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "complexity": { "type": "string", "enum": ["simple", "medium", "complex"] },
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "ralphPrd": {
63
63
  "type": "object",
64
- "description": "Embedded Ralph Loop task breakdown (also exported to .ralph/prd.json by ss derive-prd)",
64
+ "description": "Embedded Ralph Loop task breakdown (also exported to .ralph/prd.json by ss business-analyse-handoff)",
65
65
  "properties": {
66
66
  "tasks": {
67
67
  "type": "array",
@@ -26,6 +26,7 @@
26
26
  "id": { "type": "string", "pattern": "^UC-[A-Z]{2,4}-\\d{3}$", "description": "Module-prefixed UC ID (e.g., UC-RM-001)" },
27
27
  "name": { "type": "string" },
28
28
  "primaryActor": { "type": "string" },
29
+ "sectionCode": { "type": "string", "description": "Code of the anticipatedSection this UC belongs to (e.g., list, detail, dashboard). Must match a code in anticipatedSections[]." },
29
30
  "permission": { "type": "string", "description": "Module-level: {app}.{module}.{action} or section-level: {app}.{module}.{section}.{action}" },
30
31
  "preconditions": { "type": "array", "items": { "type": "string" } },
31
32
  "postconditions": { "type": "array", "items": { "type": "string" } },
@@ -214,7 +215,7 @@
214
215
  },
215
216
  "layout": {
216
217
  "type": "object",
217
- "description": "Structural layout for deterministic consumption by ralph-loop. Source of truth for code generation.",
218
+ "description": "Structural layout for deterministic consumption by business-analyse-develop. Source of truth for code generation.",
218
219
  "properties": {
219
220
  "type": { "type": "string", "enum": ["page", "dialog", "panel"] },
220
221
  "regions": {
@@ -509,7 +510,7 @@
509
510
  },
510
511
  "sections": {
511
512
  "type": "array",
512
- "description": "Level 4 (Section) decomposition. Each section = 1 React page. MANDATORY for ralph-loop consumption.",
513
+ "description": "Level 4 (Section) decomposition. Each section = 1 React page. MANDATORY for business-analyse-develop consumption.",
513
514
  "items": {
514
515
  "type": "object",
515
516
  "required": ["code", "labels", "route", "permission", "wireframe", "useCases", "resources"],
@@ -101,7 +101,7 @@ Execute workflow detection algorithm:
101
101
  - Continue to application name determination.
102
102
 
103
103
  **Key decision points:**
104
- 1. IF review mode → inform user to use `/ba-review` skill instead
104
+ 1. IF review mode → inform user to use `/business-analyse-review` skill instead
105
105
  2. IF no existing apps → workflow_type = "new"
106
106
  3. IF existing apps → analyze similarity → prompt user
107
107
 
@@ -418,7 +418,7 @@ This guard catches any accidental creation of module-only files at the wrong sco
418
418
 
419
419
  ## Step 10: Update Config
420
420
 
421
- Update `.business-analyse/config.json` with new feature information.
421
+ Write ALL context variables to `.business-analyse/config.json`. This file is the **single source of truth** for session state — downstream steps MUST re-read it instead of assuming LLM memory.
422
422
 
423
423
  ```json
424
424
  {
@@ -427,12 +427,22 @@ Update `.business-analyse/config.json` with new feature information.
427
427
  "version": "{version}",
428
428
  "docsDir": "{docs_dir}",
429
429
  "workflowType": "{workflow_type}",
430
- "application": "{application_name}"
430
+ "workflowMode": "{workflow_mode}",
431
+ "application": "{application_name}",
432
+ "applicationCode": "{applicationCode}",
433
+ "projectId": "{project_id}",
434
+ "language": "{language}",
435
+ "analysisMode": "interactive",
436
+ "mcpAvailable": true,
437
+ "candidateApplications": "{candidate_applications}",
438
+ "sharedModulesExtracted": "{shared_modules_extracted}"
431
439
  },
432
440
  "lastInitialized": "{ISO timestamp}"
433
441
  }
434
442
  ```
435
443
 
444
+ > **CRITICAL:** Every downstream step (01-04) MUST start by reading this file to recover variables. Do NOT rely on LLM memory for `docs_dir`, `feature_id`, `applicationCode`, or `workflow_mode`.
445
+
436
446
  ## Step 11: Display Summary
437
447
 
438
448
  ```
@@ -505,7 +515,7 @@ If initialization was interrupted:
505
515
  **Status-based resume routing (check in this order):**
506
516
 
507
517
  - If status = `"handed-off"` or `"consolidated"`:
508
- → Display: "BA workflow complete. Use /ba-generate-html to generate HTML, /ba-review for corrections."
518
+ → Display: "BA workflow complete. Use /business-analyse-html to generate HTML, /business-analyse-review for corrections."
509
519
  → STOP
510
520
 
511
521
  - If status = `"specified"` AND `metadata.workflow.allModulesSpecified === true`:
@@ -535,5 +545,5 @@ If a project-level index.json is found (scope = "project"):
535
545
  → All applications specified → Resume at `step-04-consolidate.md`
536
546
 
537
547
  - If status = `"consolidated"`:
538
- → Display: "BA workflow complete. Use /ba-generate-html to generate HTML."
548
+ → Display: "BA workflow complete. Use /business-analyse-html to generate HTML."
539
549
  → STOP
@@ -21,6 +21,15 @@ next_step: steps/step-02-structure.md
21
21
  - **NEVER skip the reformulation phase** — it is the foundation of good analysis
22
22
  - **NEVER auto-infer cadrage data without client validation** — every key decision is confirmed
23
23
 
24
+ ## CONTEXT RECOVERY
25
+
26
+ Re-read session variables from `.business-analyse/config.json` (do NOT rely on LLM memory):
27
+ ```javascript
28
+ const config = readJSON('.business-analyse/config.json').currentFeature;
29
+ const { id: feature_id, docsDir: docs_dir, application: application_name,
30
+ applicationCode, workflowMode: workflow_mode, language, version } = config;
31
+ ```
32
+
24
33
  ## YOUR TASK
25
34
 
26
35
  Frame the analysis scope at the **application level** through an interactive conversation with the client: understand the problem, stakeholders, scope, and define application-level roles. The analysis phase is ALWAYS interactive — the AI listens, reformulates, challenges, and validates with the user.
@@ -127,9 +136,9 @@ Analyze `{feature_description}` silently:
127
136
  4. **Prepare challenge questions** — specific to this brief, not generic
128
137
  5. **Pre-identify anticipated sections and resources** per detected module
129
138
 
130
- Store in `{pre_analysis}` (internal use only, NOT written to index.json):
139
+ Store in `{pre_analysis}` Write pre_analysis to cadrage.json as a `_preAnalysis` field (transient — removed on cadrage completion). This ensures the data survives context compaction:
131
140
  ```yaml
132
- pre_analysis:
141
+ _preAnalysis:
133
142
  problem_type: "new_tool|replace|automate|centralize"
134
143
  detected_modules: [{name, description, detected_sections}]
135
144
  shadow_zones: [{topic, why_it_matters, challenge_question}]
@@ -310,7 +319,7 @@ ULTRATHINK — Entity Architecture Analysis for {entity_name}:
310
319
  - Module code: {PascalCase}
311
320
  - Section `list`: {main entity grid + create action + navigation to detail}
312
321
  - Detail page tabs: [{tab_name: content}] (accessible by clicking a row in list)
313
- - Additional sections: [{code: justification}] (ONLY functional zones: dashboard, approve, import, rapport...)
322
+ - Additional sections: [{code: justification}] (ONLY functional sections: dashboard, approve, import, rapport...)
314
323
  - Dependencies: [{which modules reference/are referenced by this entity}]
315
324
  - Topological position: layer {N} (foundation if no dependencies)
316
325
  ```
@@ -430,7 +439,7 @@ options:
430
439
  | Choice | Action |
431
440
  |--------|--------|
432
441
  | **Géré dans l'app** | Entity becomes a sub-entity of the parent module. Add as a **tab in the detail page** of the referencing module. Note in coverageMatrix with `parentModule` field. |
433
- | **Nouveau module dédié** | **Add new module to `{pre_analysis}.detected_modules[]`** with the proposed architecture (sections, detail tabs, dependencies). Add to `coverageMatrix` as inScope. The `list` section is ALWAYS the main section. Additional sections ONLY for distinct functional zones (dashboard, approve, import...). `create` and `edit` are ACTIONS within `list` and detail pages, NEVER standalone sections. |
442
+ | **Nouveau module dédié** | **Add new module to `{pre_analysis}.detected_modules[]`** with the proposed architecture (sections, detail tabs, dependencies). Add to `coverageMatrix` as inScope. The `list` section is ALWAYS the main section. Additional sections ONLY for distinct functional sections (dashboard, approve, import...). `create` and `edit` are ACTIONS within `list` and detail pages, NEVER standalone sections. |
434
443
  | **Système externe** | Flag for integration specification. Add to `coverageMatrix` as integration. Load questionnaire materials on integrations if not already covered. |
435
444
  | **Liste simple en config** | Entity becomes a lookup/reference table (no dedicated module, no section). Note in coverageMatrix as config data. |
436
445
 
@@ -583,7 +592,7 @@ BEFORE transitioning to step-02:
583
592
  - Create an entry in `cadrage.coverageMatrix[]`
584
593
  - Assign it to inScope or outOfScope
585
594
  - Assign the module that will cover it (or null if cross-cutting)
586
- - List anticipated sections (Level 4) — ONLY functional zones
595
+ - List anticipated sections (Level 4) — ONLY functional sections
587
596
  - List anticipated resources (Level 5) for each section
588
597
  - List detail page tabs — for entities accessible via click from `list`
589
598
 
@@ -11,6 +11,15 @@ next_step: steps/step-03-specify.md
11
11
 
12
12
  Identify the complete hierarchy **Application > Module > Section > Resource** from the cadrage data, then CHALLENGE each element to ensure nothing is missing or superfluous.
13
13
 
14
+ ## Context Recovery
15
+
16
+ Re-read session variables from `.business-analyse/config.json`:
17
+ ```javascript
18
+ const config = readJSON('.business-analyse/config.json').currentFeature;
19
+ const { id: feature_id, docsDir: docs_dir, application: application_name,
20
+ applicationCode, workflowMode: workflow_mode, language } = config;
21
+ ```
22
+
14
23
  ## Prerequisites
15
24
 
16
25
  - Step 01 (cadrage) completed
@@ -83,7 +92,7 @@ For each section:
83
92
  | sectionType | permissionMode | When to use | Examples |
84
93
  |---|---|---|---|
85
94
  | `primary` | `crud` | Main entry point of the module, visible in menu | list |
86
- | `functional` | `crud` or `custom` | Independent functional zone with own access control | approve, import, planning |
95
+ | `functional` | `crud` or `custom` | Independent functional section with own access control | approve, import, planning |
87
96
  | `view` | `inherit` | Subordinate view reached from a primary section | detail, edit |
88
97
  | `embedded` | `read-only` | Widget or tab embedded in another section | dashboard (when embedded in module) |
89
98
 
@@ -182,6 +191,13 @@ Write via ba-writer:
182
191
  }
183
192
  ```
184
193
 
194
+ ## Status Update
195
+
196
+ After writing the structure, update the application status:
197
+ ```javascript
198
+ ba-writer.updateStatus({feature_id}, "decomposed")
199
+ ```
200
+
185
201
  ## Transition
186
202
 
187
203
  → Step 03 (specify) — Sequential module specification