@atlashub/smartstack-cli 4.20.0 → 4.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/package.json +2 -2
  2. package/templates/skills/ba-generate-html/SKILL.md +60 -0
  3. package/templates/skills/{business-analyse/references/deploy-data-build.md → ba-generate-html/references/data-build.md} +2 -2
  4. package/templates/skills/{business-analyse/references/html-data-mapping.md → ba-generate-html/references/data-mapping.md} +2 -2
  5. package/templates/skills/{business-analyse/references/deploy-modes.md → ba-generate-html/references/output-modes.md} +1 -1
  6. package/templates/skills/ba-generate-html/steps/step-01-collect.md +113 -0
  7. package/templates/skills/ba-generate-html/steps/step-02-build-data.md +237 -0
  8. package/templates/skills/ba-generate-html/steps/step-03-render.md +75 -0
  9. package/templates/skills/ba-generate-html/steps/step-04-verify.md +83 -0
  10. package/templates/skills/ba-review/SKILL.md +45 -0
  11. package/templates/skills/{business-analyse → ba-review}/references/review-data-mapping.md +2 -2
  12. package/templates/skills/{business-analyse/steps/step-06-review.md → ba-review/steps/step-01-apply.md} +7 -18
  13. package/templates/skills/business-analyse/SKILL.md +19 -54
  14. package/templates/skills/business-analyse/_shared.md +9 -14
  15. package/templates/skills/business-analyse/react/components.md +1 -1
  16. package/templates/skills/business-analyse/react/schema.md +1 -1
  17. package/templates/skills/business-analyse/references/acceptance-criteria.md +2 -7
  18. package/templates/skills/business-analyse/references/detection-strategies.md +3 -3
  19. package/templates/skills/business-analyse/references/naming-conventions.md +2 -2
  20. package/templates/skills/business-analyse/references/robustness-checks.md +2 -121
  21. package/templates/skills/business-analyse/references/validation-checklist.md +3 -4
  22. package/templates/skills/business-analyse/schemas/feature-schema.json +1 -1
  23. package/templates/skills/business-analyse/steps/step-00-init.md +6 -9
  24. package/templates/skills/business-analyse/steps/step-04-consolidate.md +13 -6
  25. package/templates/skills/business-analyse/templates/tpl-handoff.md +1 -1
  26. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +1 -1
  27. package/templates/skills/business-analyse/steps/step-05-deploy.md +0 -220
  28. /package/templates/skills/{business-analyse → ba-generate-html}/html/ba-interactive.html +0 -0
  29. /package/templates/skills/{business-analyse → ba-generate-html}/html/build-html.js +0 -0
  30. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-context.html +0 -0
  31. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-risks.html +0 -0
  32. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-scope.html +0 -0
  33. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-stakeholders.html +0 -0
  34. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-success.html +0 -0
  35. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-datamodel.html +0 -0
  36. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-flows.html +0 -0
  37. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-interactions.html +0 -0
  38. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-permissions.html +0 -0
  39. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-dependencies.html +0 -0
  40. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-modules.html +0 -0
  41. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/handoff-summary.html +0 -0
  42. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/module-spec-container.html +0 -0
  43. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/01-data-init.js +0 -0
  44. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/02-navigation.js +0 -0
  45. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/03-render-cadrage.js +0 -0
  46. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/04-render-modules.js +0 -0
  47. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/05-render-specs.js +0 -0
  48. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-consolidation.js +0 -0
  49. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-mockups.js +0 -0
  50. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/07-render-handoff.js +0 -0
  51. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/08-editing.js +0 -0
  52. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/09-export.js +0 -0
  53. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/10-comments.js +0 -0
  54. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/11-review-panel.js +0 -0
  55. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/01-variables.css +0 -0
  56. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/02-layout.css +0 -0
  57. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/03-navigation.css +0 -0
  58. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/04-cards.css +0 -0
  59. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/05-modules.css +0 -0
  60. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/06-wireframes.css +0 -0
  61. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/07-comments.css +0 -0
  62. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/08-review-panel.css +0 -0
  63. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/09-mockups-html.css +0 -0
  64. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/template.html +0 -0
  65. /package/templates/skills/{business-analyse → ba-generate-html}/references/wireframe-svg-style-guide.md +0 -0
@@ -1,220 +0,0 @@
1
- ---
2
- name: step-05-deploy
3
- description: Deploy interactive HTML document from analysis data
4
- model: sonnet
5
- next_step: steps/step-06-review.md
6
- ---
7
-
8
- > **Context files:** `_shared.md` | `references/html-data-mapping.md`
9
-
10
- # Step 5: Deploy - Interactive HTML Document
11
-
12
- ## MANDATORY EXECUTION RULES
13
-
14
- - **ALWAYS** verify PRD exists before proceeding (`.ralph/prd-{module}.json`)
15
- - **ALWAYS** pre-populate HTML with FEATURE_DATA + EMBEDDED_ARTIFACTS (no empty templates)
16
- - **FEATURE_DATA.moduleSpecs** must have ONE entry per module (empty = BROKEN)
17
- - **FEATURE_DATA.cadrage.scope** uses HTML keys (vital/important/optional/excluded)
18
- - **ALWAYS** deploy SINGLE interactive HTML (multi-app or single-app per config)
19
-
20
- ## YOUR TASK
21
-
22
- Deploy the single interactive HTML document pre-populated with all analysis data across all modules and applications. PRD and handoff data must already exist (generated by `/derive-prd`).
23
-
24
- ---
25
-
26
- ## EXECUTION SEQUENCE
27
-
28
- ### 1. Verify PRD Exists
29
-
30
- For each module, verify PRD file exists:
31
-
32
- ```
33
- FOR each module in modules:
34
- prdPath = ".ralph/prd-{moduleCode}.json"
35
- IF NOT exists(prdPath):
36
- BLOCKING ERROR: "PRD not found: {prdPath} — Run /derive-prd first"
37
- STOP
38
- IF fileSize(prdPath) < 100:
39
- BLOCKING ERROR: "PRD file too small: {prdPath} — Run /derive-prd to regenerate"
40
- STOP
41
- ```
42
-
43
- Verify consolidation status:
44
-
45
- ```
46
- IF workflow.mode === "project":
47
- projectFeature = ba-reader.findProjectFeature()
48
- FOR each app in projectFeature.applications:
49
- appFeature = ba-reader.findFeature(app.featureJsonPath)
50
- IF appFeature.status !== "consolidated":
51
- BLOCKING ERROR: "Application {app.code} not consolidated"
52
- ELSE:
53
- feature = ba-reader.findFeature({feature_id})
54
- IF feature.status !== "consolidated":
55
- BLOCKING ERROR: "Feature status: {feature.status}, expected consolidated"
56
- ```
57
-
58
- Display:
59
- ```
60
- PRD verified: {module_count} modules
61
- .ralph/prd-{module1}.json ({size} bytes)
62
- .ralph/prd-{module2}.json ({size} bytes)
63
- → Proceeding to HTML generation...
64
- ```
65
-
66
- ---
67
-
68
- ### 2. Build FEATURE_DATA Object
69
-
70
- Read from index.json (master module JSON files):
71
-
72
- For EACH module:
73
- - Read complete index.json for each module
74
- - Map to FEATURE_DATA structure per `references/html-data-mapping.md`
75
-
76
- **FEATURE_DATA structure:**
77
- - metadata (analysisMode="interactive", workflowMode, versions, timestamps)
78
- - cadrage (scope using HTML keys: vital/important/optional/excluded; objectives, constraints, assumptions)
79
- - modules[] (all modules with all fields from index.json)
80
- - moduleSpecs{} (one entry PER module with analysis, specification sections from index.json)
81
- - consolidation (cross-module interactions)
82
- - handoff (complexity, filesToCreate summary, totalFiles, totalTasks)
83
-
84
- **Critical requirements:**
85
- - moduleSpecs MUST have ONE entry per module (empty = BUG)
86
- - cadrage.scope converts: mustHave->vital, shouldHave->important, couldHave->optional, outOfScope->excluded
87
- - metadata.analysisMode from master.metadata.analysisMode (always "interactive")
88
- - PROJECT MODE: include applications[], consolidation.crossApplicationInteractions
89
-
90
- ---
91
-
92
- ### 3. Build EMBEDDED_ARTIFACTS Object
93
-
94
- Collect from FEATURE_DATA:
95
- - **wireframes**: Per-module ASCII + SVG (if generated) — fields: format, content, svgContent
96
- - **e2eFlows**: E2E diagrams from consolidated.e2eFlows
97
- - **dependencyGraph**: From dependencyGraph section
98
-
99
- **Field name mapping (CRITICAL):**
100
- - wireframes use: `format`, `content`, `svgContent` (NOT mockupFormat/mockup)
101
-
102
- ---
103
-
104
- ### 4. Generate SVG Wireframes (Parallel, Optional)
105
-
106
- > **After EMBEDDED_ARTIFACTS built but BEFORE HTML write.**
107
- > This step is NEVER blocking — ASCII-only wireframes acceptable.
108
- > **Reference:** Read `references/wireframe-svg-style-guide.md` for full agent prompt template
109
-
110
- 1. Collect all wireframes where `mockup` exists and `svgContent` is null
111
- 2. Spawn parallel Task(sonnet) agents — ONE per wireframe
112
- 3. Validate results: strip markdown fences, verify SVG syntax
113
- 4. Inject valid SVGs into `EMBEDDED_ARTIFACTS.wireframes[moduleCode][index].svgContent`
114
- 5. Display: "SVG wireframe generation: {successCount}/{total} generated, {failCount} fallback (ASCII)"
115
-
116
- ---
117
-
118
- ### 5. Replace Placeholders & Write HTML
119
-
120
- 1. Read HTML template from skill: `html/ba-interactive.html`
121
- 2. Serialize FEATURE_DATA and EMBEDDED_ARTIFACTS as JSON (2-space indent)
122
- 3. Replace 8 placeholders:
123
- - `{{FEATURE_DATA}}` — Full FEATURE_DATA JSON object
124
- - `{{EMBEDDED_ARTIFACTS}}` — Wireframes, E2E, dependency graph
125
- - `{{APPLICATION_NAME}}` — From master.metadata.application
126
- - Others per template
127
-
128
- 4. **Output path:**
129
- - Multi-app (project mode): `docs/business-analyse/v{version}/ba-interactive.html`
130
- - Single-app: `docs/{app}/business-analyse/v{version}/ba-interactive.html`
131
-
132
- 5. Write to file
133
-
134
- ---
135
-
136
- ### 6. Verify Deployment
137
-
138
- **POST-CHECK (BLOCKING):**
139
-
140
- 1. **File size > 100KB** (indicates pre-populated)
141
- ```
142
- if [ $(stat --format=%s ba-interactive.html) -lt 100000 ]; then
143
- BLOCKING_ERROR("ba-interactive.html not pre-populated")
144
- fi
145
- ```
146
-
147
- 2. **moduleSpecs present in HTML** (must be serialized)
148
- ```
149
- if ! grep -q '"moduleSpecs"' ba-interactive.html; then
150
- BLOCKING_ERROR("moduleSpecs not found — FEATURE_DATA not serialized")
151
- fi
152
- ```
153
-
154
- 3. **cadrage.scope uses HTML keys** (vital/important/optional/excluded)
155
- ```
156
- if grep -q '"mustHave"' ba-interactive.html; then
157
- BLOCKING_ERROR("cadrage.scope still has JSON keys")
158
- fi
159
- ```
160
-
161
- 4. **Wireframe field names correct** (format/content, NOT mockupFormat/mockup)
162
- ```
163
- if grep -q '"mockupFormat"' ba-interactive.html; then
164
- BLOCKING_ERROR("Wireframes use 'mockupFormat' — must be 'format'")
165
- fi
166
- ```
167
-
168
- 5. **All modules have specs AND wireframes**
169
- ```
170
- FOR each module in FEATURE_DATA.modules:
171
- IF FEATURE_DATA.moduleSpecs[module.code] undefined:
172
- BLOCKING_ERROR("Module not in moduleSpecs")
173
- IF EMBEDDED_ARTIFACTS.wireframes[module.code] undefined:
174
- BLOCKING_ERROR("Module not in wireframes")
175
- ```
176
-
177
- ---
178
-
179
- ### 7. Display Completion Summary
180
-
181
- ```
182
- ══════════════════════════════════════════════════════════════
183
- [OK] HTML DEPLOY COMPLETE — {application_name}
184
- ══════════════════════════════════════════════════════════════
185
-
186
- Modules: {count} ({names})
187
-
188
- [DIR] Artifact generated:
189
- ba-interactive.html — Interactive document
190
- Path: {output_path}
191
- Pre-populated: {module_count} modules, {total_uc} use cases,
192
- {total_br} business rules, {total_wireframes} wireframes
193
-
194
- [NEXT] Review & Validation:
195
- 1. Open ba-interactive.html in browser
196
- 2. Review all modules, use cases, business rules
197
- 3. Validate wireframes and permissions
198
- 4. If OK: /derive-prd then /ralph-loop to begin development
199
- 5. If changes needed: /business-analyse to iterate
200
-
201
- ══════════════════════════════════════════════════════════════
202
- ```
203
-
204
- ---
205
-
206
- ## SELF-VERIFICATION (BEFORE COMPLETION)
207
-
208
- 1. `ba-interactive.html` exists and >100KB
209
- 2. FEATURE_DATA.moduleSpecs has entries for ALL modules
210
- 3. cadrage.scope uses HTML keys (vital/important/optional/excluded)
211
- 4. Wireframes use format/content fields (not mockupFormat/mockup)
212
- 5. POST-CHECK verification all passed
213
-
214
- **IF any check fails -> generate missing artifact before completing.**
215
-
216
- ---
217
-
218
- ## NEXT STEP
219
-
220
- Load: `steps/step-06-review.md`