@atlashub/smartstack-cli 4.41.0 → 4.43.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 +14 -7
- package/templates/skills/apex/_shared.md +1 -1
- 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 +46 -8
- package/templates/skills/apex/steps/step-01-analyze.md +1 -1
- package/templates/skills/apex/steps/step-02-plan.md +1 -1
- package/templates/skills/apex/steps/step-03-execute.md +1 -1
- 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 +24 -9
- 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 -22
- 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 +15 -6
- 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 +7 -7
- package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-01-transform.md +50 -11
- package/templates/skills/{derive-prd → business-analyse-handoff}/steps/step-02-export.md +36 -16
- 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 +714 -286
- 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 +102 -12
- 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
|
@@ -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
|
|
|
@@ -28,11 +28,12 @@
|
|
|
28
28
|
|
|
29
29
|
## 2.3 Les niveaux d'accès
|
|
30
30
|
|
|
31
|
-
> **But :** Définir
|
|
31
|
+
> **But :** Définir les règles métier de permissions par rôle (SmartStack gère nativement RBAC + isolation tenant).
|
|
32
|
+
> **Note :** Ne PAS demander le modèle de visibilité (cloisonné, tout visible, etc.) — SmartStack utilise toujours RBAC avec isolation tenant. Se concentrer sur les RÈGLES MÉTIER : quel rôle accède à quoi.
|
|
32
33
|
|
|
33
34
|
| # | Question | Type de réponse |
|
|
34
35
|
|---|----------|-----------------|
|
|
35
|
-
| Q2.9 |
|
|
36
|
+
| Q2.9 | Pour chaque profil identifié, quelles données ou sections doivent lui être restreintes ? Y a-t-il des données sensibles visibles uniquement par certains rôles ? | Restrictions par rôle |
|
|
36
37
|
| Q2.10 | Qui a le droit de modifier ou supprimer des informations ? Tout le monde ou seulement certaines personnes ? | Règles de modification |
|
|
37
38
|
| Q2.11 | Y a-t-il des actions sensibles qui nécessitent une validation par un supérieur ? | Liste des actions à valider |
|
|
38
39
|
|
|
@@ -40,16 +41,17 @@
|
|
|
40
41
|
|
|
41
42
|
## 2.4 Périmètre fonctionnel
|
|
42
43
|
|
|
43
|
-
> **But :** Lister tout ce que le système doit faire et ne pas faire,
|
|
44
|
+
> **But :** Lister tout ce que le système doit faire et ne pas faire, classifié par importance métier.
|
|
45
|
+
> **Note :** SmartStack développe TOUS les modules identifiés. La classification vital/important/optionnel sert à doser la profondeur de spécification, PAS à phaser la livraison. Ne PAS présenter cette question comme un choix de "premier lancement" ou "quelle app d'abord".
|
|
44
46
|
|
|
45
47
|
| # | Question | Type de réponse |
|
|
46
48
|
|---|----------|-----------------|
|
|
47
49
|
| Q2.12 | Listez toutes les fonctionnalités que vous souhaitez dans ce système. Ne vous censurez pas. | Liste libre de fonctionnalités |
|
|
48
|
-
| Q2.13 | Parmi
|
|
50
|
+
| Q2.13 | Parmi ces fonctionnalités, classez-les : lesquelles sont VITALES (le système n'a aucun sens sans elles), lesquelles sont IMPORTANTES (forte valeur ajoutée) et lesquelles sont OPTIONNELLES (confort) ? | Classification vital / important / optionnel |
|
|
49
51
|
| Q2.15 | Y a-t-il des choses que le système ne doit explicitement PAS faire ? Des limites claires à poser ? | Liste d'exclusions |
|
|
50
52
|
|
|
51
|
-
**Test de
|
|
52
|
-
> Pour chaque fonctionnalité classée comme
|
|
53
|
+
**Test de classification :**
|
|
54
|
+
> Pour chaque fonctionnalité classée comme vitale, poser la question :
|
|
53
55
|
> "Si on enlevait cette fonctionnalité, le système aurait-il encore de la valeur ?"
|
|
54
56
|
|
|
55
57
|
---
|
|
@@ -66,6 +68,19 @@
|
|
|
66
68
|
|
|
67
69
|
---
|
|
68
70
|
|
|
71
|
+
## 2.6 Intégrations et systèmes externes
|
|
72
|
+
|
|
73
|
+
> **But :** Identifier les échanges de données avec l'extérieur et les migrations initiales.
|
|
74
|
+
|
|
75
|
+
| # | Question | Type de réponse |
|
|
76
|
+
|---|----------|-----------------|
|
|
77
|
+
| Q2.19 | Ce système doit-il échanger des données avec d'autres outils ? (comptabilité, email, banque, API tierces) | Liste d'intégrations |
|
|
78
|
+
| Q2.20 | Y a-t-il des données existantes à importer lors du démarrage ? (Excel, ancien système) | Description import |
|
|
79
|
+
|
|
80
|
+
- Mapping → `cadrage.json` : champs `externalIntegrations[]` et `dataImport`
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
69
84
|
## Guide d'élicitation approfondi
|
|
70
85
|
|
|
71
86
|
### Techniques de relance
|
|
@@ -74,7 +89,7 @@
|
|
|
74
89
|
|----------|------------------------|---------------------|
|
|
75
90
|
| Q2.1 (utilisateurs) | Un seul type mentionné | "Pensez aux différents moments de la journée : qui saisit ? Qui consulte les rapports ? Qui gère les cas particuliers ?" |
|
|
76
91
|
| Q2.5 (tâches) | Tâches génériques | "Quand il arrive le matin et ouvre le système, quelle est sa première action ?" |
|
|
77
|
-
| Q2.9 (
|
|
92
|
+
| Q2.9 (restrictions) | Réponse ambiguë | "Un employé voit-il les données salariales ? Un manager voit-il uniquement son équipe ou toute l'entreprise ?" |
|
|
78
93
|
| Q2.13 (indispensable) | Tout est indispensable | "Si vous ne pouviez garder que 3 fonctionnalités pour un premier lancement, lesquelles ?" |
|
|
79
94
|
| Q2.15 (exclusions) | "Je ne vois pas" | "Certains utilisateurs pourraient-ils s'attendre à des fonctionnalités que vous ne souhaitez PAS inclure ?" |
|
|
80
95
|
| Q2.16 (parcours) | Moins de 3 étapes | "Détaillons : l'utilisateur arrive sur l'écran d'accueil. Que voit-il ? Où clique-t-il ?" |
|
|
@@ -84,8 +99,8 @@
|
|
|
84
99
|
| Signal du client | Problème sous-jacent | Action de l'analyste |
|
|
85
100
|
|------------------|---------------------|----------------------|
|
|
86
101
|
| "Tous les utilisateurs font la même chose" | Rôles non différenciés | "Qui peut supprimer ? Qui ne fait que consulter ? Qui valide ?" |
|
|
87
|
-
| "Tout le monde doit tout voir" |
|
|
88
|
-
| Tout est
|
|
102
|
+
| "Tout le monde doit tout voir" | Restrictions non définies | "Quelles données sont sensibles ? Un manager voit-il les données de toutes les équipes ou seulement la sienne ?" |
|
|
103
|
+
| Tout est vital (> 10 vitaux) | Classification non réfléchie | Appliquer le test de classification : "Si on enlevait X, le système aurait-il encore de la valeur ?" |
|
|
89
104
|
| Aucune exclusion identifiée | Périmètre non borné | "Y a-t-il des aspects qui relèvent d'un autre projet ou d'une version future ?" |
|
|
90
105
|
| Parcours linéaire sans alternative | Seul le cas idéal est décrit | "Que se passe-t-il à l'étape X si la condition Y n'est pas remplie ?" |
|
|
91
106
|
|
|
@@ -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 `/
|
|
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:** /
|
|
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
|
|
@@ -23,9 +23,7 @@ import {
|
|
|
23
23
|
Shield,
|
|
24
24
|
CheckCircle,
|
|
25
25
|
AlertTriangle,
|
|
26
|
-
ChevronRight,
|
|
27
26
|
ArrowRight,
|
|
28
|
-
List,
|
|
29
27
|
Layout,
|
|
30
28
|
Database,
|
|
31
29
|
GitBranch,
|
|
@@ -202,25 +200,6 @@ export function BusinessAnalyseViewer() {
|
|
|
202
200
|
</p>
|
|
203
201
|
</header>
|
|
204
202
|
|
|
205
|
-
{/* Table of Contents */}
|
|
206
|
-
<div className="card p-4 bg-[var(--bg-secondary)]">
|
|
207
|
-
<h2 className="font-semibold mb-3 flex items-center gap-2">
|
|
208
|
-
<List className="w-4 h-4" />
|
|
209
|
-
{t('common.tableOfContents', 'Table of Contents')}
|
|
210
|
-
</h2>
|
|
211
|
-
<nav className="grid grid-cols-2 md:grid-cols-4 gap-2">
|
|
212
|
-
{sections.map((section, idx) => (
|
|
213
|
-
<a
|
|
214
|
-
key={section.key}
|
|
215
|
-
href={`#section-${idx + 1}`}
|
|
216
|
-
className="flex items-center gap-2 p-2 rounded hover:bg-[var(--bg-tertiary)] text-sm"
|
|
217
|
-
>
|
|
218
|
-
<ChevronRight className="w-4 h-4 text-[var(--color-primary-600)]" />
|
|
219
|
-
{section.label}
|
|
220
|
-
</a>
|
|
221
|
-
))}
|
|
222
|
-
</nav>
|
|
223
|
-
</div>
|
|
224
203
|
|
|
225
204
|
{/* Stats Overview */}
|
|
226
205
|
<div className="grid grid-cols-2 md:grid-cols-5 gap-4">
|
|
@@ -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:** /
|
|
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),
|
|
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.
|
|
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
|
|
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 (
|
|
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 `/
|
|
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 `/
|
|
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
|
|
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/
|
|
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 /
|
|
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 (
|
|
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/
|
|
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/
|
|
243
|
-
- **Handoff:** `/
|
|
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
|
|
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
|
|
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 `/
|
|
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 `/
|
|
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
|
|
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
|
|
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
|
|
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
|
|
236
|
-
details: "Business seed data (reference types, categories, statuses) is generated during implementation (
|
|
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 → /
|
|
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 /
|
|
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
|
|
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
|
|
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
|
|
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"],
|