@atlashub/smartstack-cli 2.1.0 → 2.3.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/business-analyse.html +1503 -1058
- package/dist/index.js +92 -55
- package/dist/index.js.map +1 -1
- package/package.json +10 -7
- package/templates/agents/ba-reader.md +250 -0
- package/templates/agents/ba-writer.md +210 -0
- package/templates/agents/docs-context-reader.md +51 -33
- package/templates/skills/_shared.md +2 -0
- package/templates/skills/business-analyse/SKILL.md +120 -108
- package/templates/skills/business-analyse/_shared.md +136 -146
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +478 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +3 -15
- package/templates/skills/business-analyse/questionnaire/03-scope.md +7 -7
- package/templates/skills/business-analyse/questionnaire/08-performance.md +7 -21
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -13
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -13
- package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
- package/templates/skills/business-analyse/questionnaire.md +72 -76
- package/templates/skills/business-analyse/react/components.md +317 -154
- package/templates/skills/business-analyse/react/i18n-template.md +167 -106
- package/templates/skills/business-analyse/react/schema.md +474 -107
- package/templates/skills/business-analyse/schemas/feature-schema.json +860 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +395 -285
- package/templates/skills/business-analyse/steps/step-01-analyse.md +523 -0
- package/templates/skills/business-analyse/steps/step-02-specify.md +899 -0
- package/templates/skills/business-analyse/steps/step-03-validate.md +1009 -0
- package/templates/skills/business-analyse/steps/step-04-handoff.md +1802 -0
- package/templates/skills/business-analyse/templates/tpl-handoff.md +49 -64
- package/templates/skills/business-analyse/steps/step-01-discover.md +0 -737
- package/templates/skills/business-analyse/steps/step-02-analyse.md +0 -299
- package/templates/skills/business-analyse/steps/step-03-specify.md +0 -472
- package/templates/skills/business-analyse/steps/step-04-validate.md +0 -335
- package/templates/skills/business-analyse/steps/step-05-handoff.md +0 -741
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +0 -320
- package/templates/skills/business-analyse/templates/00-context.md +0 -105
- package/templates/skills/business-analyse/templates/tpl-brd.md +0 -97
- package/templates/skills/business-analyse/templates/tpl-discovery.md +0 -78
- package/templates/skills/business-analyse/tracking/change-template.md +0 -30
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-04-validate
|
|
3
|
-
description: Validation gate - APPROVED or REJECTED decision
|
|
4
|
-
next_step: steps/step-05-handoff.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## YOUR TASK:
|
|
8
|
-
|
|
9
|
-
Validate that all specifications are complete and consistent.
|
|
10
|
-
Gate decision: APPROVED or REJECTED with reasons.
|
|
11
|
-
|
|
12
|
-
## EXECUTION SEQUENCE:
|
|
13
|
-
|
|
14
|
-
### 1. Read Current State
|
|
15
|
-
|
|
16
|
-
Read `{output_dir}/00-context.md` for state variables.
|
|
17
|
-
Read all previous outputs:
|
|
18
|
-
- `1-discovery.md`
|
|
19
|
-
- `2-business-requirements.md`
|
|
20
|
-
- `3-functional-specification.md`
|
|
21
|
-
|
|
22
|
-
Update progress: `04-validate` -> "In Progress"
|
|
23
|
-
|
|
24
|
-
**Read digest from previous step:**
|
|
25
|
-
Read `{output_dir}/digest-03.md` for compressed context from previous step.
|
|
26
|
-
**DO NOT read full output files** unless in resume mode (`-r`).
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
### 2. Completeness Checklist
|
|
31
|
-
|
|
32
|
-
**Discovery validation:**
|
|
33
|
-
- [ ] Business problem clearly defined
|
|
34
|
-
- [ ] All stakeholders identified
|
|
35
|
-
- [ ] Scope (In/Out) explicit
|
|
36
|
-
- [ ] Acceptance criteria defined
|
|
37
|
-
- [ ] No critical open questions
|
|
38
|
-
|
|
39
|
-
**BRD validation:**
|
|
40
|
-
- [ ] All business objectives measurable
|
|
41
|
-
- [ ] All business rules have BR-ID
|
|
42
|
-
- [ ] Rules are testable (conditions + examples)
|
|
43
|
-
- [ ] Process flow documented
|
|
44
|
-
- [ ] Data entities complete
|
|
45
|
-
|
|
46
|
-
**FRD validation:**
|
|
47
|
-
- [ ] All UC have permission mapping
|
|
48
|
-
- [ ] All FR trace to BR
|
|
49
|
-
- [ ] Permission matrix complete
|
|
50
|
-
- [ ] UI wireframes provided
|
|
51
|
-
- [ ] Gherkin scenarios cover happy path + errors
|
|
52
|
-
- [ ] i18n keys defined for messages
|
|
53
|
-
- [ ] Navigation hierarchy defined (Context/Application/Module/Section)
|
|
54
|
-
- [ ] SeedData requirements identified (navigation, permissions, roles, rolePermissions)
|
|
55
|
-
- [ ] Role-Permission assignment matrix specified (4 default roles)
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
### 3. Consistency Checks
|
|
60
|
-
|
|
61
|
-
**Cross-reference validation:**
|
|
62
|
-
|
|
63
|
-
| Check | Source | Target | Status |
|
|
64
|
-
|-------|--------|--------|--------|
|
|
65
|
-
| BR -> FR | 2-brd.md | 3-frd.md | {OK/FAIL} |
|
|
66
|
-
| AC -> UC | 1-discovery.md | 3-frd.md | {OK/FAIL} |
|
|
67
|
-
| Stakeholder -> Actor | 1-discovery.md | 3-frd.md | {OK/FAIL} |
|
|
68
|
-
| Entity -> Endpoint | 2-brd.md | 3-frd.md | {OK/FAIL} |
|
|
69
|
-
|
|
70
|
-
**Identify gaps:**
|
|
71
|
-
- BR without FR coverage
|
|
72
|
-
- AC without UC coverage
|
|
73
|
-
- Endpoints without permissions
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### 4. SmartStack Convention Validation
|
|
78
|
-
|
|
79
|
-
**Permission path format:**
|
|
80
|
-
```
|
|
81
|
-
VALID: business.{app}.{module}.{action}
|
|
82
|
-
INVALID: business.{app}.{action}
|
|
83
|
-
INVALID: {app}.{module}.{action}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**NavRoute compliance:**
|
|
87
|
-
- Controller route must match: `business.{app}.{module}`
|
|
88
|
-
- Permissions must use same base path
|
|
89
|
-
|
|
90
|
-
**Entity naming:**
|
|
91
|
-
- PascalCase for entity names
|
|
92
|
-
- Matches module naming convention
|
|
93
|
-
|
|
94
|
-
**Folder structure conventions:**
|
|
95
|
-
- Domain entities in `Domain/Business/{Application}/{Module}/` (not flat `Entities/`)
|
|
96
|
-
- Application DTOs in `Application/Business/{Application}/{Module}/DTOs/` (not `Features/`)
|
|
97
|
-
- Infrastructure configs in `Configurations/{Module}/` (subfolder per module)
|
|
98
|
-
- Infrastructure services in `Services/{Module}/` (subfolder per module)
|
|
99
|
-
- Infrastructure seeds in `Seeding/Data/{Module}/` (subfolder per module)
|
|
100
|
-
- Controllers in `Controllers/Business/{Application}/` (grouped by context)
|
|
101
|
-
- Table naming: `{prefix}_{EntityPlural}` in correct schema (`core` or `extensions`)
|
|
102
|
-
|
|
103
|
-
**SeedData completeness:**
|
|
104
|
-
- [ ] Navigation hierarchy specified (new Context/Application/Module/Section entries)
|
|
105
|
-
- [ ] Translations specified for all 4 languages (fr, en, it, de)
|
|
106
|
-
- [ ] Permission paths follow format `business.{app}.{module}.{action}`
|
|
107
|
-
- [ ] Wildcard permission included (`business.{app}.{module}.*`)
|
|
108
|
-
- [ ] Role-Permission matrix covers 4 default roles (Admin, Manager, Contributor, Viewer)
|
|
109
|
-
- [ ] SeedData files listed in FRD section 6b
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
### 5. Documentation Freshness Check
|
|
114
|
-
|
|
115
|
-
**If `docs-manifest.json` exists in project root:**
|
|
116
|
-
|
|
117
|
-
| Check | Expected | Status |
|
|
118
|
-
|-------|----------|--------|
|
|
119
|
-
| Module has manifest entry | Entry exists | {OK/MISSING} |
|
|
120
|
-
| Last doc update < 30 days from last code change | Within threshold | {OK/DRIFT} |
|
|
121
|
-
| All 8 business-first sections present | 8/8 | {X/8} |
|
|
122
|
-
| i18n FR complete (minimum) | All keys present | {OK/INCOMPLETE} |
|
|
123
|
-
| frd-data.ts exists | File present | {OK/MISSING} |
|
|
124
|
-
|
|
125
|
-
**If drift detected:**
|
|
126
|
-
- Add to validation report: `"documentationDrift": true`
|
|
127
|
-
- Add to issues: `"Documentation is {N} days behind code changes"`
|
|
128
|
-
- Severity: WARNING (non-blocking for BA validation)
|
|
129
|
-
|
|
130
|
-
**If `docs-manifest.json` absent:** Skip this section silently.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
### 6. Risk Assessment
|
|
135
|
-
|
|
136
|
-
| Risk | Severity | Mitigation |
|
|
137
|
-
|------|----------|------------|
|
|
138
|
-
| {identified risk} | High/Medium/Low | {mitigation strategy} |
|
|
139
|
-
|
|
140
|
-
**Common risks to check:**
|
|
141
|
-
- [ ] Missing error handling for integrations
|
|
142
|
-
- [ ] Performance concerns for large datasets
|
|
143
|
-
- [ ] Security gaps in permission model
|
|
144
|
-
- [ ] Complex workflow without clear rollback
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
### 7. Make Decision
|
|
149
|
-
|
|
150
|
-
**APPROVED if:**
|
|
151
|
-
- All completeness checks pass (100%)
|
|
152
|
-
- All consistency checks pass
|
|
153
|
-
- No HIGH severity risks unmitigated
|
|
154
|
-
- SmartStack conventions respected
|
|
155
|
-
|
|
156
|
-
**REJECTED if:**
|
|
157
|
-
- Any critical completeness check fails
|
|
158
|
-
- Consistency gap found
|
|
159
|
-
- HIGH severity risk without mitigation
|
|
160
|
-
- Convention violations
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
### 8b. Generate Context Digest
|
|
165
|
-
|
|
166
|
-
**Write digest to:** `{output_dir}/digest-04.md`
|
|
167
|
-
|
|
168
|
-
```markdown
|
|
169
|
-
# Digest: Step 04 - Validate
|
|
170
|
-
|
|
171
|
-
## Changes
|
|
172
|
-
- {output_dir}/validation.json: Validation report created
|
|
173
|
-
|
|
174
|
-
## Decisions
|
|
175
|
-
- Gate decision: {APPROVED/REJECTED}
|
|
176
|
-
- Completeness: {score}
|
|
177
|
-
- Consistency: {all checks status}
|
|
178
|
-
|
|
179
|
-
## Findings
|
|
180
|
-
- Convention compliance: {status}
|
|
181
|
-
- Documentation drift: {status}
|
|
182
|
-
- Risks: {count} identified, {count} mitigated
|
|
183
|
-
|
|
184
|
-
## State Updates
|
|
185
|
-
| Variable | New Value |
|
|
186
|
-
|----------|-----------|
|
|
187
|
-
| validation_status | {APPROVED/REJECTED} |
|
|
188
|
-
| completeness_score | {score} |
|
|
189
|
-
| risk_count | {count} |
|
|
190
|
-
|
|
191
|
-
## For Next Step
|
|
192
|
-
- Validation: {APPROVED/REJECTED}
|
|
193
|
-
- If REJECTED: {list of issues to fix}
|
|
194
|
-
- If APPROVED: ready for handoff generation
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
### 9. Generate Validation Report
|
|
200
|
-
|
|
201
|
-
```json
|
|
202
|
-
{
|
|
203
|
-
"featureId": "{feature_id}",
|
|
204
|
-
"validatedAt": "{timestamp}",
|
|
205
|
-
"validatedBy": "Business Analyst (Claude)",
|
|
206
|
-
"decision": "APPROVED" | "REJECTED",
|
|
207
|
-
"completeness": {
|
|
208
|
-
"discovery": {
|
|
209
|
-
"score": "5/5",
|
|
210
|
-
"issues": []
|
|
211
|
-
},
|
|
212
|
-
"brd": {
|
|
213
|
-
"score": "5/5",
|
|
214
|
-
"issues": []
|
|
215
|
-
},
|
|
216
|
-
"frd": {
|
|
217
|
-
"score": "6/6",
|
|
218
|
-
"issues": []
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
"consistency": {
|
|
222
|
-
"brToFr": "OK",
|
|
223
|
-
"acToUc": "OK",
|
|
224
|
-
"stakeholderToActor": "OK",
|
|
225
|
-
"entityToEndpoint": "OK"
|
|
226
|
-
},
|
|
227
|
-
"conventions": {
|
|
228
|
-
"permissions": "OK",
|
|
229
|
-
"navRoute": "OK",
|
|
230
|
-
"naming": "OK",
|
|
231
|
-
"folderStructure": "OK",
|
|
232
|
-
"seedData": "OK"
|
|
233
|
-
},
|
|
234
|
-
"risks": [
|
|
235
|
-
{
|
|
236
|
-
"risk": "{description}",
|
|
237
|
-
"severity": "Medium",
|
|
238
|
-
"mitigation": "{strategy}",
|
|
239
|
-
"status": "Mitigated"
|
|
240
|
-
}
|
|
241
|
-
],
|
|
242
|
-
"summary": "{Overall assessment}",
|
|
243
|
-
"nextStep": "step-05-handoff" | "Revision required"
|
|
244
|
-
}
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
### 10. Save Output
|
|
250
|
-
|
|
251
|
-
Write to: `{output_dir}/validation.json`
|
|
252
|
-
|
|
253
|
-
Update `00-context.md`:
|
|
254
|
-
- Progress: `04-validate` -> "Complete"
|
|
255
|
-
- Add validation status
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
### 11. Handle Decision
|
|
260
|
-
|
|
261
|
-
**If APPROVED:**
|
|
262
|
-
|
|
263
|
-
Display:
|
|
264
|
-
|
|
265
|
-
| Field | Value |
|
|
266
|
-
|-------|-------|
|
|
267
|
-
| Step | VALIDATION |
|
|
268
|
-
| Feature | {feature_id} |
|
|
269
|
-
| Status | APPROVED |
|
|
270
|
-
| Completeness | 100% |
|
|
271
|
-
| Consistency | All checks passed |
|
|
272
|
-
| Conventions | SmartStack compliant |
|
|
273
|
-
| Risks | {count} mitigated |
|
|
274
|
-
| Output | {output_dir}/validation.json |
|
|
275
|
-
| Next | step-05-handoff (Development prompt) |
|
|
276
|
-
|
|
277
|
-
Load next step: `steps/step-05-handoff.md`
|
|
278
|
-
|
|
279
|
-
**If REJECTED:**
|
|
280
|
-
|
|
281
|
-
Display:
|
|
282
|
-
|
|
283
|
-
| Field | Value |
|
|
284
|
-
|-------|-------|
|
|
285
|
-
| Step | VALIDATION |
|
|
286
|
-
| Feature | {feature_id} |
|
|
287
|
-
| Status | REJECTED |
|
|
288
|
-
| Issues | {issue 1}, {issue 2}, {issue 3} |
|
|
289
|
-
| Action 1 | {action 1} |
|
|
290
|
-
| Action 2 | {action 2} |
|
|
291
|
-
| Next | Revise specifications |
|
|
292
|
-
|
|
293
|
-
**Ask user:**
|
|
294
|
-
```json
|
|
295
|
-
{
|
|
296
|
-
"questions": [
|
|
297
|
-
{
|
|
298
|
-
"question": "How would you like to proceed?",
|
|
299
|
-
"header": "Action",
|
|
300
|
-
"options": [
|
|
301
|
-
{"label": "Auto-revise", "description": "Claude fixes the identified issues"},
|
|
302
|
-
{"label": "Manual revision", "description": "You fix and relaunch validation"},
|
|
303
|
-
{"label": "Force approval", "description": "Continue despite issues (not recommended)"}
|
|
304
|
-
],
|
|
305
|
-
"multiSelect": false
|
|
306
|
-
}
|
|
307
|
-
]
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
## OUTPUT FORMAT:
|
|
314
|
-
|
|
315
|
-
This step produces:
|
|
316
|
-
- `{output_dir}/validation.json` (created)
|
|
317
|
-
- `{output_dir}/00-context.md` (updated)
|
|
318
|
-
|
|
319
|
-
Gate decision enables or blocks next step.
|
|
320
|
-
|
|
321
|
-
## ERROR HANDLING:
|
|
322
|
-
|
|
323
|
-
**If previous output files are missing:**
|
|
324
|
-
1. List which files exist vs expected
|
|
325
|
-
2. If partial: validate only available documents
|
|
326
|
-
3. Add "Missing document" as CRITICAL issue in validation report
|
|
327
|
-
|
|
328
|
-
**If validation gate REJECTED:**
|
|
329
|
-
1. Present issues to user with severity
|
|
330
|
-
2. Offer: auto-revise / manual revision / force approval
|
|
331
|
-
3. If auto-revise: loop back to the step that needs fixing
|
|
332
|
-
|
|
333
|
-
## NEXT STEP:
|
|
334
|
-
|
|
335
|
-
After completion, proceed to `steps/step-05-handoff.md`
|