@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.
- package/.documentation/apex.html +2 -2
- package/.documentation/business-analyse.html +26 -27
- package/.documentation/commands.html +6 -6
- package/dist/index.js +24 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/templates/agents/ba-reader.md +2 -2
- package/templates/agents/ba-writer.md +44 -9
- package/templates/hooks/stop-hook.sh +6 -6
- package/templates/ralph/README.md +1 -1
- package/templates/scripts/setup-ralph-loop.sh +2 -2
- package/templates/skills/_resources/context-digest-template.md +1 -1
- package/templates/skills/_shared.md +13 -13
- package/templates/skills/apex/SKILL.md +15 -7
- package/templates/skills/apex/_shared.md +1 -1
- package/templates/skills/apex/references/analysis-methods.md +24 -0
- package/templates/skills/apex/references/challenge-questions.md +46 -13
- package/templates/skills/apex/references/core-seed-data.md +4 -4
- package/templates/skills/apex/references/error-classification.md +3 -3
- package/templates/skills/apex/references/smartstack-api.md +1 -1
- package/templates/skills/apex/references/smartstack-layers.md +1 -1
- package/templates/skills/apex/steps/step-00-init.md +48 -8
- package/templates/skills/apex/steps/step-01-analyze.md +42 -2
- package/templates/skills/apex/steps/step-02-plan.md +3 -1
- package/templates/skills/apex/steps/step-03-execute.md +3 -1
- package/templates/skills/apex/steps/step-03a-layer0-domain.md +2 -0
- package/templates/skills/apex/steps/step-03b-layer1-seed.md +111 -3
- package/templates/skills/apex/steps/step-03c-layer2-backend.md +2 -0
- package/templates/skills/apex/steps/step-03d-layer3-frontend.md +2 -0
- package/templates/skills/apex/steps/step-03e-layer4-devdata.md +2 -0
- package/templates/skills/apex/steps/step-04-examine.md +18 -0
- package/templates/skills/business-analyse/SKILL.md +83 -22
- package/templates/skills/business-analyse/_shared.md +12 -9
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +13 -0
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +33 -0
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +1 -1
- package/templates/skills/business-analyse/react/components.md +1 -1
- package/templates/skills/business-analyse/react/schema.md +1 -1
- package/templates/skills/business-analyse/references/acceptance-criteria.md +3 -3
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +1 -1
- package/templates/skills/business-analyse/references/detection-strategies.md +2 -2
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +1 -1
- package/templates/skills/business-analyse/references/naming-conventions.md +6 -6
- package/templates/skills/business-analyse/references/robustness-checks.md +4 -4
- package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
- package/templates/skills/business-analyse/references/validation-checklist.md +3 -3
- package/templates/skills/business-analyse/schemas/feature-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +2 -2
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +3 -2
- package/templates/skills/business-analyse/steps/step-00-init.md +15 -5
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +14 -5
- package/templates/skills/business-analyse/steps/step-02-structure.md +17 -1
- package/templates/skills/business-analyse/steps/step-03-specify.md +136 -26
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +44 -8
- package/templates/skills/business-analyse/templates/tpl-handoff.md +5 -5
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +4 -4
- package/templates/skills/business-analyse/templates-frd.md +4 -4
- package/templates/skills/{ba-design-ui → business-analyse-design}/SKILL.md +9 -9
- package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-01-screens.md +9 -0
- package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-03-navigation.md +9 -2
- package/templates/skills/business-analyse-develop/SKILL.md +248 -0
- package/templates/skills/{ralph-loop → business-analyse-develop}/references/category-completeness.md +1 -1
- package/templates/skills/{ralph-loop → business-analyse-develop}/references/init-resume-recovery.md +8 -8
- package/templates/skills/{ralph-loop → business-analyse-develop}/references/multi-module-queue.md +1 -1
- package/templates/skills/business-analyse-develop/references/quality-gates.md +70 -0
- package/templates/skills/{ralph-loop → business-analyse-develop}/references/task-transform-legacy.md +1 -1
- package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-00-init.md +20 -4
- package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-01-task.md +3 -2
- package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +131 -0
- package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +156 -0
- package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-04-check.md +1 -1
- package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-05-report.md +1 -1
- package/templates/skills/{derive-prd → business-analyse-handoff}/SKILL.md +7 -7
- package/templates/skills/{derive-prd → business-analyse-handoff}/references/acceptance-criteria.md +5 -5
- package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-file-templates.md +1 -1
- package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-mappings.md +1 -1
- package/templates/skills/{derive-prd → business-analyse-handoff}/references/handoff-seeddata-generation.md +2 -2
- package/templates/skills/{derive-prd → business-analyse-handoff}/references/prd-generation.md +14 -14
- package/templates/skills/{derive-prd → business-analyse-handoff}/schemas/handoff-schema.json +2 -2
- package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-00-validate.md +6 -6
- package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-01-transform.md +46 -7
- package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-02-export.md +34 -14
- package/templates/skills/{ba-generate-html → business-analyse-html}/SKILL.md +4 -4
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/ba-interactive.html +709 -277
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/build-html.js +25 -3
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/01-data-init.js +54 -0
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/02-navigation.js +97 -3
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/03-render-cadrage.js +8 -7
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/04-render-modules.js +7 -7
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/05-render-specs.js +188 -85
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/06-render-consolidation.js +15 -14
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/06-render-mockups.js +19 -19
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/07-render-handoff.js +24 -4
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/08-editing.js +6 -2
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/09-export.js +27 -57
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/10-comments.js +67 -45
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/scripts/11-review-panel.js +15 -13
- package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +216 -0
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/05-modules.css +36 -0
- package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/template.html +22 -12
- package/templates/skills/{ba-generate-html → business-analyse-html}/references/data-build.md +1 -1
- package/templates/skills/{ba-generate-html → business-analyse-html}/references/data-mapping.md +5 -1
- package/templates/skills/{ba-generate-html → business-analyse-html}/references/output-modes.md +7 -7
- package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-01-collect.md +25 -1
- package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-02-build-data.md +33 -5
- package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-03-render.md +2 -2
- package/templates/skills/{ba-generate-html → business-analyse-html}/steps/step-04-verify.md +2 -2
- package/templates/skills/{ba-review → business-analyse-review}/SKILL.md +11 -10
- package/templates/skills/{ba-review → business-analyse-review}/references/review-data-mapping.md +2 -2
- package/templates/skills/business-analyse-review/steps/step-00-init.md +107 -0
- package/templates/skills/{ba-review → business-analyse-review}/steps/step-01-apply.md +19 -11
- package/templates/skills/business-analyse-status/SKILL.md +118 -0
- package/templates/skills/documentation/SKILL.md +2 -2
- package/templates/skills/sketch/SKILL.md +172 -0
- package/templates/skills/sketch/references/domain-heuristics.md +116 -0
- package/templates/skills/ba-generate-html/html/src/styles/02-layout.css +0 -101
- package/templates/skills/ralph-loop/SKILL.md +0 -240
- /package/templates/skills/{ba-design-ui → business-analyse-design}/steps/step-02-wireframes.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/category-rules.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/compact-loop.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/module-transition.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/parallel-execution.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/section-splitting.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/references/team-orchestration.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-02-execute.md +0 -0
- /package/templates/skills/{ralph-loop → business-analyse-develop}/steps/step-03-commit.md +0 -0
- /package/templates/skills/{derive-prd → business-analyse-handoff}/references/entity-domain-mapping.md +0 -0
- /package/templates/skills/{derive-prd → business-analyse-handoff}/references/readiness-scoring.md +0 -0
- /package/templates/skills/{derive-prd → business-analyse-handoff}/templates/tpl-progress.md +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-context.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-scope.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-stakeholders.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/cadrage-success.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-datamodel.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-flows.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-interactions.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/consol-permissions.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/decomp-dependencies.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/decomp-modules.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/handoff-summary.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/partials/module-spec-container.html +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/01-variables.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/03-navigation.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/04-cards.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/06-wireframes.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/07-comments.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/08-review-panel.css +0 -0
- /package/templates/skills/{ba-generate-html → business-analyse-html}/html/src/styles/09-mockups-html.css +0 -0
- /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.
|
|
152
|
+
## 5. Collect Technical Parameters
|
|
114
153
|
|
|
115
|
-
Rapid
|
|
154
|
+
Rapid technical parameter collection — load and execute questions from `references/challenge-questions.md`:
|
|
116
155
|
- **5a:** Entity scope & relationships
|
|
117
|
-
- **5b:**
|
|
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 `/
|
|
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 (
|
|
146
|
-
- `app_count > 1` → Warning: use `/
|
|
147
|
-
- `entity_count > 6` → BLOCKING: max 6 entities. Solutions: `/
|
|
148
|
-
- `scope_score > 8` → WARNING: ask user to split or use `/
|
|
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 `/
|
|
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 `/
|
|
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 `/
|
|
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 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 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)
|
|
@@ -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
|
-
###
|
|
29
|
+
### Development Paths — When to use what
|
|
30
|
+
|
|
31
|
+
SmartStack offers **two paths** from idea to code, depending on scope:
|
|
32
|
+
|
|
30
33
|
```
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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 /
|
|
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 `/
|
|
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 /
|
|
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
|
-
| `/
|
|
158
|
-
| `/
|
|
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 `/
|
|
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 `/
|
|
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 (
|
|
127
|
+
- `getSummaryForSkill(skill)` — Context for other skills (business-analyse-develop, etc.)
|
|
128
128
|
|
|
129
129
|
## Status Progression
|
|
130
130
|
|
|
131
131
|
```
|
|
132
|
-
draft →
|
|
132
|
+
draft → framed → decomposed → specified → consolidated → designed → 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
|
-
|
|
|
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
|
-
|
|
|
141
|
-
|
|
|
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 `/
|
|
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) → /
|
|
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 `/
|
|
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
|