@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
@@ -7,6 +7,8 @@ next_step: steps/step-01-analyze.md
7
7
 
8
8
  # Step 0: Initialize
9
9
 
10
+ **ULTRA THINK about whether this is a NEW module (create from scratch) or an UPDATE to an existing module (add sections/resources/entities to existing code). This distinction drives every downstream decision — especially seed data, permissions, and roles.**
11
+
10
12
  **Before anything else**, display the version banner:
11
13
 
12
14
  ```
@@ -59,6 +61,43 @@ When `-d {prd_path}` is used, extract all context from PRD file and skip section
59
61
 
60
62
  ---
61
63
 
64
+ ## 1c. Prompt Precision Guard
65
+
66
+ > **APEX executes, it does not explore.** If the prompt is too vague, redirect to `/business-analyse`.
67
+
68
+ **Score the prompt — count how many of these are present or inferable:**
69
+
70
+ | Element | Example | Weight |
71
+ |---------|---------|--------|
72
+ | Module name/code | "employees", "absence management" | 1 |
73
+ | At least 1 entity name | "Employee", "Absence" | 1 |
74
+ | At least 1 property/field | "FirstName, StartDate, Status" | 1 |
75
+ | Target application | "HR module", "HumanResources" | 0.5 |
76
+ | Section hint | "list", "dashboard", "approval" | 0.5 |
77
+
78
+ ```
79
+ precision_score = sum of weights for elements found in task description
80
+
81
+ IF precision_score < 2:
82
+ DISPLAY:
83
+ ╔══════════════════════════════════════════════════════════════╗
84
+ ║ ⚠ Prompt too vague for /apex ║
85
+ ║ ║
86
+ ║ /apex needs precise features to execute in one shot. ║
87
+ ║ Your request looks more like a discovery/design task. ║
88
+ ║ ║
89
+ ║ Suggestions: ║
90
+ ║ 1. Use /sketch to quickly design your module (~2 min) ║
91
+ ║ 2. Use /business-analyse for full analysis (40+ questions) ║
92
+ ║ 3. Rewrite your prompt with entities and fields, e.g.: ║
93
+ ║ /apex add employees section with Employee entity ║
94
+ ║ (FirstName, LastName, Email) to HumanResources module ║
95
+ ╚══════════════════════════════════════════════════════════════╝
96
+ → STOP — do NOT proceed to section 2
97
+ ```
98
+
99
+ ---
100
+
62
101
  ## 2. Detect SmartStack Application
63
102
 
64
103
  Scan project: Glob("*.sln"), Glob("docs/business/**/*"), Glob(".ralph/prd-*.json"), Glob("src/pages/**/*.tsx")
@@ -110,11 +149,12 @@ Call `mcp__smartstack__validate_conventions` after computing derivations. Fix an
110
149
 
111
150
  ---
112
151
 
113
- ## 5. Challenge the Need
152
+ ## 5. Collect Technical Parameters
114
153
 
115
- Rapid scope validation — load and execute questions from `references/challenge-questions.md`:
154
+ Rapid technical parameter collection — load and execute questions from `references/challenge-questions.md`:
116
155
  - **5a:** Entity scope & relationships
117
- - **5b:** Dependencies & key properties
156
+ - **5b:** Dependency auto-detection (NO question — agent scans codebase and infers from {entities})
157
+ - **5b-bis:** Key properties (question kept — user may have specific field requirements)
118
158
  - **5c:** Code generation strategy
119
159
 
120
160
  **Skip 5c if:**
@@ -134,7 +174,7 @@ Propagated to: step-01 (code focus), step-02 (layer mapping), step-03 (scaffoldi
134
174
 
135
175
  ## 5e. Scope Complexity Guard
136
176
 
137
- **Design:** `/apex` handles 1 module at a time. Use `/ralph-loop` for multi-module projects.
177
+ **Design:** `/apex` handles 1 module at a time. Use `/business-analyse-develop` for multi-module projects.
138
178
 
139
179
  **Calculate:**
140
180
  ```
@@ -142,10 +182,10 @@ scope_score = entity_count + (section_count * 0.5) + (app_count * 3)
142
182
  ```
143
183
 
144
184
  **Rules:**
145
- - `delegate_mode (-d)` → SKIP guard (ralph-loop handles scope per module)
146
- - `app_count > 1` → Warning: use `/ralph-loop` or split requests
147
- - `entity_count > 6` → BLOCKING: max 6 entities. Solutions: `/ralph-loop`, `/apex -d`, or split manually
148
- - `scope_score > 8` → WARNING: ask user to split or use `/ralph-loop`
185
+ - `delegate_mode (-d)` → SKIP guard (business-analyse-develop handles scope per module)
186
+ - `app_count > 1` → Warning: use `/business-analyse-develop` or split requests
187
+ - `entity_count > 6` → BLOCKING: max 6 entities. Solutions: `/business-analyse-develop`, `/apex -d`, or split manually
188
+ - `scope_score > 8` → WARNING: ask user to split or use `/business-analyse-develop`
149
189
 
150
190
  **Recommended Scope:**
151
191
  | Metric | Safe | Warning | Blocking |
@@ -8,6 +8,8 @@ next_step: steps/step-02-plan.md
8
8
 
9
9
  # Step 1: Analyze
10
10
 
11
+ **ULTRA THINK about existing code structure. Pay special attention to seed data files — they may exist but be INCOMPLETE (missing sections, permissions, or roles for the new scope). An existing file does NOT mean it's complete.**
12
+
11
13
  **Goal:** Understand what EXISTS in the codebase. Pure exploration, NO planning.
12
14
 
13
15
  ## LOAD CONDITIONALLY
@@ -37,7 +39,7 @@ This saves ~2 minutes of Glob searches on an empty project.
37
39
 
38
40
  ## 0b. Delegate Mode Fast Path (if delegate_mode)
39
41
 
40
- > **When called via `/ralph-loop -d`, PRD tasks provide pre-computed scope. Reduce exploration to verification only.**
42
+ > **When called via `/business-analyse-develop -d`, PRD tasks provide pre-computed scope. Reduce exploration to verification only.**
41
43
 
42
44
  ```
43
45
  IF delegate_mode:
@@ -135,7 +137,9 @@ Agent(subagent_type='Explore', model='sonnet',
135
137
 
136
138
  ---
137
139
 
138
- ## 3. Seed Data Inventory
140
+ ## 3. Seed Data Inventory (CONTENT-AWARE)
141
+
142
+ > **CRITICAL:** Finding that a seed file EXISTS is not enough. You must READ it and compare its content against the target scope to determine if it needs MODIFICATION.
139
143
 
140
144
  ```
141
145
  Glob("**/Seeding/Data/{module_code}/*SeedData.cs")
@@ -144,6 +148,42 @@ Glob("**/Seeding/*SeedDataProvider.cs")
144
148
 
145
149
  Identify: NavigationModuleSeedData, PermissionsSeedData, RolesSeedData, SeedConstants, IClientSeedDataProvider (+ DI registration).
146
150
 
151
+ ### 3b. Seed Data Content Analysis (if files exist)
152
+
153
+ For each existing seed file, READ IT and extract what's already covered:
154
+
155
+ ```
156
+ NavigationModuleSeedData.cs:
157
+ → Extract existing section codes (from GetSectionEntries or similar methods)
158
+ → Extract existing resource codes (from GetResourceEntries or similar methods)
159
+ → Compare against {sections} from step-00
160
+ → Mark MISSING sections/resources → these need "modify" action
161
+
162
+ Permissions.cs:
163
+ → Extract existing permission constants (Read, Create, Update, Delete per section)
164
+ → Compare against {sections} from step-00
165
+ → Mark sections WITHOUT permissions → these need "modify" action
166
+
167
+ PermissionsSeedData.cs:
168
+ → Extract existing permission paths from HasData() entries
169
+ → Mark missing paths → "modify"
170
+
171
+ RolesSeedData.cs:
172
+ → Extract existing role-permission mappings
173
+ → Mark missing mappings for new sections → "modify"
174
+
175
+ {App}SeedDataProvider.cs:
176
+ → Check which seed methods are called (SeedNavigationAsync, SeedPermissionsAsync, etc.)
177
+ → Check if new module/section seed classes are referenced → "modify" if missing
178
+ ```
179
+
180
+ **Result:** For each seed file, set action to:
181
+ - `"skip"` — file exists AND covers ALL target sections/entities
182
+ - `"modify"` — file exists BUT is MISSING entries for new sections/entities
183
+ - `"create"` — file does not exist
184
+
185
+ > **Common mistake:** Marking seed files as "skip" just because the file exists. A `NavigationModuleSeedData.cs` that covers sections A and B MUST be marked "modify" if the task adds section C.
186
+
147
187
  ---
148
188
 
149
189
  ## 4-7. Analysis Methods & Validation
@@ -8,6 +8,8 @@ next_step: steps/step-03-execute.md
8
8
 
9
9
  # Step 2: Plan
10
10
 
11
+ **ULTRA THINK about the execution strategy. For each file: is it CREATE (new) or MODIFY (exists but needs additions for new sections/entities)? Seed data files are frequently marked "skip" by mistake when they should be "modify" — verify this explicitly.**
12
+
11
13
  **Goal:** Create a precise, file-by-file plan. Each file mapped to a SKILL or MCP tool.
12
14
 
13
15
  ## LOAD CONDITIONALLY
@@ -19,7 +21,7 @@ Read `references/smartstack-layers.md` for layer execution rules, skill/MCP mapp
19
21
 
20
22
  ## 0. Delegate Mode Fast Path (if delegate_mode)
21
23
 
22
- > **When called via `/ralph-loop -d`, PRD tasks already define the scope. Map directly to layers.**
24
+ > **When called via `/business-analyse-develop -d`, PRD tasks already define the scope. Map directly to layers.**
23
25
 
24
26
  ```
25
27
  IF delegate_mode:
@@ -8,6 +8,8 @@ next_step: steps/step-04-examine.md
8
8
 
9
9
  # Step 3: Execute — Orchestrator
10
10
 
11
+ **ULTRA THINK about the full execution context. Before dispatching layers, verify: are we creating a NEW module or UPDATING an existing one? This is critical for Layer 1 (seed data) — existing seed files must be MODIFIED, not recreated or skipped.**
12
+
11
13
  /apex ORCHESTRATES. It does not write SmartStack code directly.
12
14
  All code goes through skills (/controller, /application, /ui-components, /efcore) or MCP tools.
13
15
 
@@ -79,7 +81,7 @@ Load each sub-step sequentially:
79
81
 
80
82
  ## PRD State Update (delegate mode only)
81
83
 
82
- > **After completing EACH layer**, update the PRD file so `/ralph-loop` can track progress.
84
+ > **After completing EACH layer**, update the PRD file so `/business-analyse-develop` can track progress.
83
85
 
84
86
  ```
85
87
  IF delegate_mode:
@@ -5,6 +5,8 @@ model: opus
5
5
  parent_step: steps/step-03-execute.md
6
6
  ---
7
7
 
8
+ **ULTRA THINK about domain entities: which are NEW (create) vs which EXIST (modify/extend)?**
9
+
8
10
  ## Layer 0 — Domain + Infrastructure (sequential, agent principal)
9
11
 
10
12
  ### Task Progress
@@ -5,6 +5,8 @@ model: opus
5
5
  parent_step: steps/step-03-execute.md
6
6
  ---
7
7
 
8
+ **ULTRA THINK about seed data completeness: is this a NEW module (create all seed files from scratch) or an UPDATE to an existing module (modify existing seed files to add new sections/resources/permissions)? Read existing files BEFORE deciding what to generate.**
9
+
8
10
  ## Layer 1 — Seed Data (DEDICATED LAYER — sequential, agent principal)
9
11
 
10
12
  ### Task Progress
@@ -15,7 +17,33 @@ TaskUpdate(taskId: progress_tracker_id,
15
17
 
16
18
  > This layer is required. Seed data makes modules visible in the UI. Without it, the module exists in code but is invisible to users. Reference: `references/core-seed-data.md` (loaded above) for complete C# templates.
17
19
 
18
- ### Application-Level Seed Data (ONCE per application)
20
+ ---
21
+
22
+ ### Mode Detection: CREATE vs UPDATE
23
+
24
+ > **CRITICAL — Run this BEFORE generating any seed data.**
25
+
26
+ ```
27
+ Glob("**/Seeding/Data/{module_code}/*SeedData.cs") → existing_seed_files
28
+ Glob("**/Seeding/Data/NavigationApplicationSeedData.cs") → app_seed_exists
29
+ Glob("**/Seeding/*SeedDataProvider.cs") → provider_exists
30
+
31
+ IF existing_seed_files is EMPTY:
32
+ SEED_MODE = "CREATE"
33
+ → Generate ALL seed data from scratch (full templates below)
34
+
35
+ IF existing_seed_files is NOT EMPTY:
36
+ SEED_MODE = "UPDATE"
37
+ → Read EACH existing file
38
+ → Compare content against {sections} and {entities} from step-00
39
+ → ADD only what's MISSING — do NOT recreate or duplicate existing entries
40
+ ```
41
+
42
+ ---
43
+
44
+ ### CREATE Mode — Application-Level Seed Data (ONCE per application)
45
+
46
+ > Skip if `app_seed_exists` (files already present from previous APEX run).
19
47
 
20
48
  ```
21
49
  1. NavigationApplicationSeedData.cs
@@ -27,7 +55,13 @@ TaskUpdate(taskId: progress_tracker_id,
27
55
  → References NavigationApplicationSeedData.ApplicationId
28
56
  ```
29
57
 
30
- ### Per-Module Seed Data
58
+ ---
59
+
60
+ ### Per-Module Seed Data (CREATE or UPDATE)
61
+
62
+ #### If SEED_MODE = "CREATE"
63
+
64
+ Generate all files from scratch using `references/core-seed-data.md` templates:
31
65
 
32
66
  ```
33
67
  3. NavigationModuleSeedData.cs
@@ -51,7 +85,51 @@ TaskUpdate(taskId: progress_tracker_id,
51
85
  → Look up roles by Code at runtime
52
86
  ```
53
87
 
54
- ### Infrastructure Provider (ONCE per application)
88
+ #### If SEED_MODE = "UPDATE"
89
+
90
+ > **Read each existing file FIRST, then surgically add only what's missing.**
91
+
92
+ ```
93
+ 3. NavigationModuleSeedData.cs — READ EXISTING FILE
94
+ → Extract existing section codes (look for GetSectionEntries or section GUID definitions)
95
+ → Extract existing resource codes
96
+ → For each section in {sections} NOT already present:
97
+ - Add new section entry in GetSectionEntries() with new Guid.NewGuid()
98
+ - Add section translations (4 languages) in GetSectionTranslationEntries()
99
+ - Add route entry: /{app-kebab}/{module-kebab}/{new-section-kebab}
100
+ → For each resource in {resources} NOT already present:
101
+ - Add resource entry in GetResourceEntries()
102
+ - Add resource translations
103
+ → PRESERVE all existing entries unchanged
104
+
105
+ 4. Permissions.cs — READ EXISTING FILE
106
+ → Extract existing permission constants
107
+ → For each NEW section:
108
+ - Add section-level constants: Wildcard, Read, Create, Update, Delete
109
+ - Path format: {app}.{module}.{new-section}.{action}
110
+ → MCP generate_permissions for validation (compare output vs file)
111
+ → PRESERVE all existing constants unchanged
112
+
113
+ 5. PermissionsSeedData.cs — READ EXISTING FILE
114
+ → Extract existing HasData() permission entries
115
+ → Add HasData() entries for each NEW permission from step 4
116
+ → PRESERVE all existing entries unchanged
117
+
118
+ 6. RolesSeedData.cs — READ EXISTING FILE
119
+ → Extract existing role-permission mappings
120
+ → For each NEW permission:
121
+ - Admin → wildcard or all new permissions
122
+ - Manager → Read + Create + Update for new section
123
+ - Contributor → Read + Create for new section
124
+ - Viewer → Read for new section
125
+ → PRESERVE all existing mappings unchanged
126
+ ```
127
+
128
+ ---
129
+
130
+ ### Infrastructure Provider (CREATE or UPDATE)
131
+
132
+ #### If SEED_MODE = "CREATE"
55
133
 
56
134
  ```
57
135
  7. {App}SeedDataProvider.cs
@@ -63,8 +141,38 @@ TaskUpdate(taskId: progress_tracker_id,
63
141
  → DI: services.AddScoped<IClientSeedDataProvider, {App}SeedDataProvider>()
64
142
  ```
65
143
 
144
+ #### If SEED_MODE = "UPDATE"
145
+
146
+ ```
147
+ 7. {App}SeedDataProvider.cs — READ EXISTING FILE
148
+ → Verify SeedNavigationAsync() calls the module's NavigationModuleSeedData
149
+ → If new sections were added: verify they are seeded (new section entries are part of existing methods)
150
+ → Verify SeedPermissionsAsync() covers new PermissionsSeedData entries
151
+ → Verify SeedRolePermissionsAsync() covers new RolesSeedData entries
152
+ → Add any missing calls or registrations
153
+ → PRESERVE all existing logic unchanged
154
+ ```
155
+
66
156
  <!-- TODO A4: Replace direct seed generation with MCP scaffold_seed_data when B1 is ready. This will eliminate the need for references/core-seed-data.md (1464 lines). -->
67
157
 
158
+ ---
159
+
160
+ ### Post-Layer 1 Verification Checklist
161
+
162
+ > **Before the build gate, verify ALL new scope elements are covered:**
163
+
164
+ ```
165
+ For each section in {sections} from step-00:
166
+ ✓ NavigationModuleSeedData has section entry + translations (4 langs)
167
+ ✓ NavigationModuleSeedData has route: /{app}/{module}/{section}
168
+ ✓ Permissions.cs has constants for this section (Read/Create/Update/Delete/Wildcard)
169
+ ✓ PermissionsSeedData has HasData() for each permission
170
+ ✓ RolesSeedData maps all 4 roles to section permissions
171
+ ✓ {App}SeedDataProvider references all seed data classes
172
+
173
+ IF any check fails → fix BEFORE build gate
174
+ ```
175
+
68
176
  ### Post-Layer 1 Build Gate
69
177
 
70
178
  ```bash
@@ -5,6 +5,8 @@ model: opus
5
5
  parent_step: steps/step-03-execute.md
6
6
  ---
7
7
 
8
+ **ULTRA THINK about backend services: which services/controllers are NEW vs which need MODIFICATION for new entities/endpoints?**
9
+
8
10
  ## Layer 2 — Backend (Services + Controllers)
9
11
 
10
12
  ### Task Progress
@@ -5,6 +5,8 @@ model: opus
5
5
  parent_step: steps/step-03-execute.md
6
6
  ---
7
7
 
8
+ **ULTRA THINK about frontend completeness: new pages, routes, i18n keys, AND permissions/navigation alignment with Layer 1 seed data.**
9
+
8
10
  # Layer 3 — Frontend (Pages + I18n + Documentation)
9
11
 
10
12
  ### ⛔ HARD RULE — /ui-components is NON-NEGOTIABLE (read BEFORE any Layer 3 action)
@@ -5,6 +5,8 @@ model: opus
5
5
  parent_step: steps/step-03-execute.md
6
6
  ---
7
7
 
8
+ **ULTRA THINK about dev data coverage: all NEW entities need realistic test data.**
9
+
8
10
  ## Layer 4 — DevData (optional)
9
11
 
10
12
  ### Task Progress
@@ -8,6 +8,8 @@ next_step: steps/step-05-deep-review.md
8
8
 
9
9
  # Step 4: eXamine
10
10
 
11
+ **ULTRA THINK about completeness. Did ALL new sections/entities get their navigation entries, permissions, and roles? Cross-check the scope from step-00 against what was actually generated in Layer 1.**
12
+
11
13
  > **This is the X in APEX.** Mandatory automated examination of all generated code.
12
14
 
13
15
  **Goal:** Verify everything works. MCP conventions, build, seed data, acceptance criteria.
@@ -92,6 +94,8 @@ If migration fails (SQLite-only syntax, type mismatches, missing FK targets), fi
92
94
 
93
95
  ## 6. Seed Data Completeness Check (if needs_seed_data)
94
96
 
97
+ > **CRITICAL — Cross-check against {sections} from step-00.** Every section in scope MUST have navigation, permissions, and roles. This is the most common miss when UPDATING an existing module.
98
+
95
99
  | File | Checks |
96
100
  |------|--------|
97
101
  | NavigationApplicationSeedData | 4 lang translations |
@@ -105,6 +109,20 @@ If migration fails (SQLite-only syntax, type mismatches, missing FK targets), fi
105
109
  | IClientSeedDataProvider | 4 Seed methods, idempotent, SaveChanges per group |
106
110
  | DI Registration | `services.AddScoped<IClientSeedDataProvider, {App}SeedDataProvider>()` |
107
111
 
112
+ ### 6a. Section Coverage Matrix (MANDATORY for updates)
113
+
114
+ ```
115
+ For EACH section in {sections} from step-00:
116
+ Read NavigationModuleSeedData.cs → has section entry? YES / NO
117
+ Read NavigationModuleSeedData.cs → has translations (4)? YES / NO
118
+ Read NavigationModuleSeedData.cs → has route? YES / NO
119
+ Read Permissions.cs → has section permissions? YES / NO
120
+ Read PermissionsSeedData.cs → has HasData() entries? YES / NO
121
+ Read RolesSeedData.cs → has role-permission mappings? YES / NO
122
+
123
+ IF ANY cell = NO → BLOCKING — return to step-03b to fix
124
+ ```
125
+
108
126
  ---
109
127
 
110
128
  ## 6b. POST-CHECKs
@@ -26,25 +26,86 @@ user_invocable: true
26
26
  | 03 | `step-03-specify.md` | Opus | Deep dive per module: entities, BRs, UCs, permissions. Sequential internal loop |
27
27
  | 04 | `step-04-consolidate.md` | Opus | Cross-module validation: data model, permission coherence, E2E flows |
28
28
 
29
- ### Post-BA Workflow
29
+ ### Development Paths — When to use what
30
+
31
+ SmartStack offers **two paths** from idea to code, depending on scope:
32
+
30
33
  ```
31
- Phase 1: /business-analyse (steps 00-04)
32
- |
33
- v
34
- Phase 2: /ba-design-ui (screens, wireframes, navigation)
35
- |
36
- v
37
- Phase 3: /ba-generate-html (interactive HTML with mockups, ERD, permissions)
38
- |
39
- v
40
- Phase 4: /ba-review (client corrections → back to Phase 1 or 2)
41
- |
42
- v (client approves)
43
- Phase 5: /derive-prd → Phase 6: /ralph-loop
34
+ Path A FAST (small module, < 5 min) Path B — FULL (multi-module, hours/days)
35
+ ═══════════════════════════════════════ ═══════════════════════════════════════
36
+
37
+ "I want employees + absences" "Build a complete HR platform"
38
+ │ │
39
+ ▼ ▼
40
+ ┌──────────────┐ ┌──────────────────┐
41
+ │ /sketch │ 0-2 questions │ /business-analyse│ ~40 questions
42
+ │ (2 min) │ Pure inference │ (steps 00-04) │ JSON output
43
+ └──────┬───────┘ └────────┬─────────┘
44
+ │ Natural language prompt │ entities/rules/usecases.json
45
+ ▼ ▼
46
+ ┌──────────────┐ ┌──────────────────┐
47
+ │ /apex │ 1 module │ /business-analyse-design │ screens/wireframes
48
+ │ (30-60 min) │ APEXE methodology │ │ navigation tree
49
+ └──────────────┘ └────────┬─────────┘
50
+ │ screens.json, navigation.json
51
+
52
+ ┌──────────────────┐
53
+ │/business-analyse-html│ Interactive HTML
54
+ │ │ for client review
55
+ └────────┬─────────┘
56
+ │ ba-interactive.html
57
+
58
+ ┌──────────────────┐
59
+ │/business-analyse-review│◄── ba-review.json
60
+ │ Corrections? │ (exported from HTML)
61
+ └───┬─────────┬───┘
62
+ YES │ │ NO (approved)
63
+ ┌───────────┘ └──────────┐
64
+ ▼ ▼
65
+ Back to Phase 1 ┌────────────────────────┐
66
+ or Phase 2 │/business-analyse- │ PRD + handoff
67
+ (depends on scope) │ handoff │
68
+ └────────┬───────────────┘
69
+ │ .ralph/prd-*.json
70
+
71
+ ┌──────────────────┐
72
+ │ /business-analyse-develop │ Orchestrator
73
+ │ (iterative) │ delegates to ▼
74
+ └────────┬─────────┘
75
+ │ /apex -d per module
76
+
77
+ ┌──────────────────┐
78
+ │ /apex -d │ Code generation
79
+ │ (per module) │ 5 layers
80
+ └──────────────────┘
44
81
  ```
45
82
 
46
- > After step-04, invoke `/ba-design-ui` to design interfaces, then `/ba-generate-html` to generate the HTML, then `/ba-review` for the client correction cycle.
47
- > **PRD generation:** Handoff data and PRD files are generated by the `/derive-prd` skill.
83
+ ### Data flow between skills
84
+
85
+ | From | To | Data | Format |
86
+ |------|----|------|--------|
87
+ | `/sketch` | `/apex` | Inferred design (entities, FK, labels, code patterns) | Natural language prompt |
88
+ | `/business-analyse` | `/business-analyse-design` | Entities, use cases, permissions | JSON (`entities.json`, `usecases.json`, `permissions.json`) |
89
+ | `/business-analyse-design` | `/business-analyse-html` | Screen specs, wireframes, navigation | JSON (`screens.json`, `navigation.json`) |
90
+ | `/business-analyse-html` | Client | Interactive review document | HTML (`ba-interactive.html`) |
91
+ | Client | `/business-analyse-review` | Corrections | JSON (`ba-review.json`, exported from HTML) |
92
+ | `/business-analyse-review` | `/business-analyse` or `/business-analyse-design` | Corrections applied, new version | JSON (updated thematic files) |
93
+ | `/business-analyse` (approved) | `/business-analyse-handoff` | Consolidated BA data | JSON (all `index.json` + thematic files) |
94
+ | `/business-analyse-handoff` | `/business-analyse-develop` | Handoff data + PRD | JSON (`.ralph/prd-*.json`, `handoff.json`) |
95
+ | `/business-analyse-develop` | `/apex -d` | Module context + PRD | JSON (`.ralph/prd-{module}.json`) |
96
+
97
+ ### /business-analyse-review correction routing
98
+
99
+ | Correction scope | Route to | Reason |
100
+ |------------------|----------|--------|
101
+ | Entities, rules, UCs, permissions | `/business-analyse` step-03 | Re-specify affected modules |
102
+ | Screens, wireframes, navigation | `/business-analyse-design` | Re-design UI |
103
+ | Both analysis + UI | `/business-analyse` step-03, then `/business-analyse-design` | Full re-spec |
104
+ | Cadrage/scope only | `/business-analyse-html` | Just regenerate HTML |
105
+ | No corrections (approved) | `/business-analyse-handoff` | Proceed to code generation |
106
+
107
+ > **Rule:** Path A (`/sketch` → `/apex`) is for quick, single-module additions. Path B (full cycle) is for multi-module projects or when the client needs a formal review process.
108
+ > **PRD generation:** Handoff data and PRD files are generated by the `/business-analyse-handoff` skill.
48
109
 
49
110
  ## JSON Architecture — Granular files + Index
50
111
 
@@ -58,7 +119,7 @@ docs/{app}/{module}/business-analyse/v1.0/
58
119
  rules.json ← Business rules (BRs)
59
120
  usecases.json ← Use cases (UCs)
60
121
  permissions.json ← Permissions, roles, access matrix
61
- screens.json ← Interface specs (produced by /ba-design-ui)
122
+ screens.json ← Interface specs (produced by /business-analyse-design)
62
123
  validation.json ← Validation results, checks
63
124
  handoff.json ← File mapping, APIs, handoff data
64
125
  ```
@@ -115,7 +176,7 @@ Each step loads ONLY what it needs:
115
176
 
116
177
  ## HTML Output
117
178
 
118
- HTML generation is handled by the `/ba-generate-html` skill. After step-04, invoke `/ba-generate-html` to produce the interactive HTML document. For client review corrections, use `/ba-review`.
179
+ HTML generation is handled by the `/business-analyse-html` skill. After step-04, invoke `/business-analyse-html` to produce the interactive HTML document. For client review corrections, use `/business-analyse-review`.
119
180
 
120
181
  ## Step Execution
121
182
 
@@ -147,20 +208,20 @@ STEP 04 (consolidate) — FINAL BA STEP
147
208
  → Load: _shared.md, step-04-consolidate.md, all index.json
148
209
  → Execute: Data model validation, permission coherence, E2E flows
149
210
  → Output: validation.json, consolidated data
150
- → Next: invoke /ba-design-ui (Phase 2), then /ba-generate-html, then /ba-review for client cycle
211
+ → Next: invoke /business-analyse-design (Phase 2), then /business-analyse-html, then /business-analyse-review for client cycle
151
212
  ```
152
213
 
153
214
  ## References
154
215
 
155
216
  | File | Content |
156
217
  |------|---------|
157
- | `/ba-generate-html` skill | HTML generation (FEATURE_DATA mapping, build, render, verify) |
158
- | `/ba-review` skill | Apply client corrections from ba-review.json |
218
+ | `/business-analyse-html` skill | HTML generation (FEATURE_DATA mapping, build, render, verify) |
219
+ | `/business-analyse-review` skill | Apply client corrections from ba-review.json |
159
220
  | `references/naming-conventions.md` | SmartStack naming rules |
160
221
  | `references/validation-checklist.md` | Validation criteria checklist |
161
222
  | `references/acceptance-criteria.md` | Acceptance criteria patterns |
162
223
 
163
- > **Cross-reference:** Handoff data, PRD generation, file templates, and BR-to-code mappings are in the `/derive-prd` skill.
224
+ > **Cross-reference:** Handoff data, PRD generation, file templates, and BR-to-code mappings are in the `/business-analyse-handoff` skill.
164
225
 
165
226
  ## Questionnaires
166
227
 
@@ -76,7 +76,7 @@ Steps load only the files they need:
76
76
  2. Otherwise → mode = "new"
77
77
  ```
78
78
 
79
- > **Note:** Review mode (`ba-review.json`) is handled by the `/ba-review` skill.
79
+ > **Note:** Review mode (`ba-review.json`) is handled by the `/business-analyse-review` skill.
80
80
 
81
81
  ## Navigation Hierarchy
82
82
 
@@ -124,33 +124,36 @@ Reads via index.json. Key operations:
124
124
  - `readSection(moduleCode, fileType)` — Read specific file via index
125
125
  - `getModuleStatus()` — Status table of all modules
126
126
  - `getCompletedModulesSummary()` — Compact summaries for context loading
127
- - `getSummaryForSkill(skill)` — Context for other skills (ralph-loop, etc.)
127
+ - `getSummaryForSkill(skill)` — Context for other skills (business-analyse-develop, etc.)
128
128
 
129
129
  ## Status Progression
130
130
 
131
131
  ```
132
- draft → identified → specified → validated → reviewed
132
+ draft → frameddecomposed → specified → consolidateddesigned → reviewed → handed-off
133
133
  ```
134
134
 
135
135
  | Status | Set by | Meaning |
136
136
  |--------|--------|---------|
137
137
  | draft | Step 00 | Feature created, no content |
138
- | identified | Step 02 | Hierarchy identified (App > Module > Section > Resource) |
138
+ | framed | Step 01 | Application-level framing complete (scope, stakeholders, roles) |
139
+ | decomposed | Step 02 | Module hierarchy identified (App > Module > Section > Resource) |
139
140
  | specified | Step 03 | Module fully specified (entities, UCs, BRs, permissions, screens) |
140
- | validated | Step 04 | Cross-module validation passed |
141
- | reviewed | `/ba-review` | Client review applied |
141
+ | consolidated | Step 04 | Cross-module validation and consolidation passed |
142
+ | designed | Step 05 | UI/UX design and navigation complete |
143
+ | reviewed | `/business-analyse-review` | Client review applied |
144
+ | handed-off | `/business-analyse-handoff` | PRD files generated, ready for development |
142
145
 
143
146
  ## Handoff & PRD Generation
144
147
 
145
- Handoff data and PRD files are generated by the `/derive-prd` skill. The workflow is:
148
+ Handoff data and PRD files are generated by the `/business-analyse-handoff` skill. The workflow is:
146
149
 
147
150
  ```
148
- /business-analyse (steps 00-04) → /ba-generate-html → /ba-review (if needed) → /derive-prd → /ralph-loop
151
+ /business-analyse (steps 00-04) → /business-analyse-html → /business-analyse-review (if needed) → /business-analyse-handoff → /business-analyse-develop
149
152
  ```
150
153
 
151
154
  ## HTML Generation
152
155
 
153
- For HTML generation, use the `/ba-generate-html` skill after step-04 consolidation. For client review corrections, use `/ba-review`.
156
+ For HTML generation, use the `/business-analyse-html` skill after step-04 consolidation. For client review corrections, use `/business-analyse-review`.
154
157
 
155
158
  ## Resume Protocol
156
159
 
@@ -66,6 +66,19 @@
66
66
 
67
67
  ---
68
68
 
69
+ ## 2.6 Intégrations et systèmes externes
70
+
71
+ > **But :** Identifier les échanges de données avec l'extérieur et les migrations initiales.
72
+
73
+ | # | Question | Type de réponse |
74
+ |---|----------|-----------------|
75
+ | Q2.19 | Ce système doit-il échanger des données avec d'autres outils ? (comptabilité, email, banque, API tierces) | Liste d'intégrations |
76
+ | Q2.20 | Y a-t-il des données existantes à importer lors du démarrage ? (Excel, ancien système) | Description import |
77
+
78
+ - Mapping → `cadrage.json` : champs `externalIntegrations[]` et `dataImport`
79
+
80
+ ---
81
+
69
82
  ## Guide d'élicitation approfondi
70
83
 
71
84
  ### Techniques de relance