@atlashub/smartstack-cli 4.20.0 → 4.21.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/package.json +2 -2
- package/templates/skills/ba-generate-html/SKILL.md +60 -0
- package/templates/skills/{business-analyse/references/deploy-data-build.md → ba-generate-html/references/data-build.md} +2 -2
- package/templates/skills/{business-analyse/references/html-data-mapping.md → ba-generate-html/references/data-mapping.md} +2 -2
- package/templates/skills/{business-analyse/references/deploy-modes.md → ba-generate-html/references/output-modes.md} +1 -1
- package/templates/skills/ba-generate-html/steps/step-01-collect.md +113 -0
- package/templates/skills/ba-generate-html/steps/step-02-build-data.md +237 -0
- package/templates/skills/ba-generate-html/steps/step-03-render.md +75 -0
- package/templates/skills/ba-generate-html/steps/step-04-verify.md +83 -0
- package/templates/skills/ba-review/SKILL.md +45 -0
- package/templates/skills/{business-analyse → ba-review}/references/review-data-mapping.md +2 -2
- package/templates/skills/{business-analyse/steps/step-06-review.md → ba-review/steps/step-01-apply.md} +7 -18
- package/templates/skills/business-analyse/SKILL.md +19 -54
- package/templates/skills/business-analyse/_shared.md +9 -14
- 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 +2 -7
- package/templates/skills/business-analyse/references/detection-strategies.md +3 -3
- package/templates/skills/business-analyse/references/naming-conventions.md +2 -2
- package/templates/skills/business-analyse/references/robustness-checks.md +2 -121
- package/templates/skills/business-analyse/references/validation-checklist.md +3 -4
- package/templates/skills/business-analyse/schemas/feature-schema.json +1 -1
- package/templates/skills/business-analyse/steps/step-00-init.md +6 -9
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +13 -6
- package/templates/skills/business-analyse/templates/tpl-handoff.md +1 -1
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +1 -1
- package/templates/skills/business-analyse/steps/step-05-deploy.md +0 -220
- /package/templates/skills/{business-analyse → ba-generate-html}/html/ba-interactive.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/build-html.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-context.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-risks.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-scope.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-stakeholders.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-success.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-datamodel.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-flows.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-interactions.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-permissions.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-dependencies.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-modules.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/handoff-summary.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/module-spec-container.html +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/01-data-init.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/02-navigation.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/03-render-cadrage.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/04-render-modules.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/05-render-specs.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-consolidation.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-mockups.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/07-render-handoff.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/08-editing.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/09-export.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/10-comments.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/11-review-panel.js +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/01-variables.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/02-layout.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/03-navigation.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/04-cards.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/05-modules.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/06-wireframes.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/07-comments.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/08-review-panel.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/09-mockups-html.css +0 -0
- /package/templates/skills/{business-analyse → ba-generate-html}/html/src/template.html +0 -0
- /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`
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-risks.html
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-scope.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-flows.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/01-data-init.js
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/02-navigation.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/05-render-specs.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/08-editing.js
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/09-export.js
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/10-comments.js
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/11-review-panel.js
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/01-variables.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/02-layout.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/03-navigation.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/04-cards.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/05-modules.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/06-wireframes.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/07-comments.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/08-review-panel.css
RENAMED
|
File without changes
|
/package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/09-mockups-html.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|