@atlashub/smartstack-cli 3.3.1 → 3.4.1
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/dist/index.js +145 -23
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/project/appsettings.json.template +12 -2
- package/templates/project/claude-settings.json.template +5 -0
- package/templates/skills/business-analyse/SKILL.md +47 -143
- package/templates/skills/business-analyse/_shared.md +1 -1
- package/templates/skills/business-analyse/html/ba-interactive.html +269 -28
- package/templates/skills/business-analyse/schemas/application-schema.json +3 -4
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +1 -2
- package/templates/skills/business-analyse/steps/step-00-init.md +130 -398
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +6 -14
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +22 -69
- package/templates/skills/business-analyse/templates/tpl-handoff.md +3 -13
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +23 -128
- package/templates/skills/business-analyse/templates-frd.md +3 -19
- package/templates/skills/business-analyse/steps/step-06-extract.md +0 -648
package/package.json
CHANGED
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
"SmartStack": {
|
|
6
6
|
"AutoMigrate": true,
|
|
7
7
|
"FailOnMigrationError": true,
|
|
8
|
-
"EnableDevSeeding": false
|
|
8
|
+
"EnableDevSeeding": false,
|
|
9
|
+
"UseAzureStorage": false,
|
|
10
|
+
"UseEntraId": false,
|
|
11
|
+
"EnableSwagger": true,
|
|
12
|
+
"CorsOrigins": [
|
|
13
|
+
"http://localhost:5173",
|
|
14
|
+
"http://localhost:5174",
|
|
15
|
+
"http://localhost:5175"
|
|
16
|
+
]
|
|
9
17
|
},
|
|
10
18
|
"Jwt": {
|
|
19
|
+
"Secret": "{{JwtSecret}}",
|
|
11
20
|
"Issuer": "{{ProjectName}}",
|
|
12
21
|
"Audience": "{{ProjectName}}",
|
|
13
22
|
"AccessTokenExpirationMinutes": 60,
|
|
@@ -33,7 +42,8 @@
|
|
|
33
42
|
"EnableValidation": true,
|
|
34
43
|
"RefreshTokenExpirationDays": 7,
|
|
35
44
|
"CleanupBatchSize": 100,
|
|
36
|
-
"MaxConcurrentSessions": 1
|
|
45
|
+
"MaxConcurrentSessions": 1,
|
|
46
|
+
"CleanupIntervalMinutes": 5
|
|
37
47
|
},
|
|
38
48
|
"Serilog": {
|
|
39
49
|
"MinimumLevel": {
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: business-analyse
|
|
3
3
|
description: Iterative multi-module business analysis with progressive context loading, JSON-first architecture, and interactive HTML deliverables.
|
|
4
|
-
argument-hint: "
|
|
4
|
+
argument-hint: "<feature description>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<objective>
|
|
8
|
-
Execute
|
|
8
|
+
Execute business analysis workflows. This skill produces a single feature.json progressively enriched at each step, published to docs/business/ for web app rendering.
|
|
9
|
+
|
|
10
|
+
**Two use cases:**
|
|
11
|
+
1. **New application** — full analysis workflow for a new business need
|
|
12
|
+
2. **Update** — delta changes on an existing application or module
|
|
13
|
+
|
|
14
|
+
The skill auto-detects which use case applies by scanning existing features in `docs/business/`.
|
|
9
15
|
|
|
10
16
|
**Architecture highlights:**
|
|
11
17
|
- Conditional context loading: each step loads only the shared files it needs (~54% context reduction)
|
|
@@ -14,92 +20,26 @@ Execute VibeCoding-focused business analysis workflows. This skill produces a si
|
|
|
14
20
|
</objective>
|
|
15
21
|
|
|
16
22
|
<quick_start>
|
|
17
|
-
**Five use cases:**
|
|
18
23
|
|
|
19
24
|
```bash
|
|
20
|
-
#
|
|
21
|
-
/business-analyse
|
|
22
|
-
|
|
23
|
-
# B. Question about existing feature
|
|
24
|
-
/business-analyse -q FEAT-001 "What permissions does the manager have?"
|
|
25
|
-
|
|
26
|
-
# C. Refactoring (delta on existing)
|
|
27
|
-
/business-analyse -r FEAT-001 "Add export PDF functionality"
|
|
28
|
-
|
|
29
|
-
# D. Micro-feature (one-shot, minimal questions)
|
|
30
|
-
/business-analyse -m Add a status field to orders
|
|
31
|
-
|
|
32
|
-
# E. Extract from interactive HTML export
|
|
33
|
-
/business-analyse -x ./docs/business/MyApp/ba-export.json
|
|
34
|
-
```
|
|
25
|
+
# New application analysis
|
|
26
|
+
/business-analyse Complete sales management system
|
|
35
27
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/business-analyse -a New payment gateway integration
|
|
28
|
+
# The skill auto-detects if an existing application matches
|
|
29
|
+
# and proposes "new" or "update" accordingly
|
|
30
|
+
/business-analyse Add export PDF to orders module
|
|
40
31
|
```
|
|
41
32
|
|
|
42
|
-
See `<parameters>` for complete flag list.
|
|
43
33
|
</quick_start>
|
|
44
34
|
|
|
45
35
|
<parameters>
|
|
46
36
|
|
|
47
|
-
|
|
48
|
-
**Enable flags (turn ON):**
|
|
49
|
-
| Short | Long | Description |
|
|
50
|
-
|-------|------|-------------|
|
|
51
|
-
| `-a` | `--auto` | Autonomous mode: skip confirmations |
|
|
52
|
-
| `-e` | `--economy` | Economy mode: no subagents |
|
|
53
|
-
| `-q` | `--question` | Question mode: query an existing feature (requires FEAT-ID + question) |
|
|
54
|
-
| `-r` | `--refactor` | Refactoring mode: delta changes on existing feature (requires FEAT-ID + change description) |
|
|
55
|
-
| `-m` | `--micro` | Micro-feature mode: minimal questions, direct handoff |
|
|
56
|
-
| `-x` | `--extract` | Extract mode: import from interactive HTML export JSON (requires json-path) |
|
|
57
|
-
| `-app` | `--application` | Application mode: multi-module analysis with module decomposition |
|
|
58
|
-
|
|
59
|
-
**Disable flags (turn OFF):**
|
|
60
|
-
| Short | Long | Description |
|
|
61
|
-
|-------|------|-------------|
|
|
62
|
-
| `-A` | `--no-auto` | Disable auto mode |
|
|
63
|
-
| `-E` | `--no-economy` | Disable economy mode |
|
|
64
|
-
</flags>
|
|
65
|
-
|
|
66
|
-
<examples>
|
|
67
|
-
```bash
|
|
68
|
-
# A. New feature analysis (single module - goes through full workflow)
|
|
69
|
-
/business-analyse Order management module
|
|
70
|
-
|
|
71
|
-
# B. Application analysis (multi-module)
|
|
72
|
-
/business-analyse -app Complete sales management system
|
|
73
|
-
|
|
74
|
-
# C. Question about existing feature
|
|
75
|
-
/business-analyse -q FEAT-001 "What permissions does the manager have?"
|
|
76
|
-
|
|
77
|
-
# D. Refactoring (create v1.1)
|
|
78
|
-
/business-analyse -r FEAT-001 "Add export PDF functionality"
|
|
79
|
-
|
|
80
|
-
# E. Micro-feature (minimal questions)
|
|
81
|
-
/business-analyse -m Add a status field to orders
|
|
37
|
+
No flags. The entire input is the `{feature_description}`.
|
|
82
38
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/business-analyse -app -a New HR management system
|
|
88
|
-
|
|
89
|
-
# Economy mode (no subagents)
|
|
90
|
-
/business-analyse -e Order management
|
|
91
|
-
```
|
|
92
|
-
</examples>
|
|
93
|
-
|
|
94
|
-
<parsing_rules>
|
|
95
|
-
**Flag parsing:**
|
|
96
|
-
|
|
97
|
-
1. Defaults loaded from `steps/step-00-init.md` `<defaults>` section
|
|
98
|
-
2. Command-line flags override defaults
|
|
99
|
-
3. Flags removed from input, remainder becomes `{feature_description}`
|
|
100
|
-
4. Use case determined by flags: question > refactor > extract > micro > new (default)
|
|
101
|
-
5. Feature ID generated as `FEAT-NNN` for new features
|
|
102
|
-
</parsing_rules>
|
|
39
|
+
Step-00 handles all detection automatically:
|
|
40
|
+
- **New vs Update**: scans `docs/business/` for existing applications
|
|
41
|
+
- **Single vs Multi-module**: determined during step-02 decomposition
|
|
42
|
+
- **Language**: detected from config or asked once
|
|
103
43
|
|
|
104
44
|
</parameters>
|
|
105
45
|
|
|
@@ -131,46 +71,27 @@ docs/business/
|
|
|
131
71
|
</output_structure>
|
|
132
72
|
|
|
133
73
|
<resume_workflow>
|
|
134
|
-
**
|
|
135
|
-
|
|
136
|
-
When provided, step-00 will:
|
|
137
|
-
|
|
138
|
-
1. Locate the feature.json in `docs/business/{app}/{module}/business-analyse/v{X.Y}/`
|
|
139
|
-
2. Load ba-reader agent to answer question from existing feature.json
|
|
140
|
-
3. Return answer and EXIT (no further steps)
|
|
74
|
+
**Update mode (auto-detected):**
|
|
141
75
|
|
|
142
|
-
|
|
76
|
+
When step-00 detects that the description matches an existing application:
|
|
143
77
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
1. Locate existing feature.json
|
|
147
|
-
2. Create new version folder (v1.1 from v1.0, etc.)
|
|
78
|
+
1. Propose to user: "New application" or "Update {appName}"
|
|
79
|
+
2. If update: locate existing feature.json, create new version (v1.1, etc.)
|
|
148
80
|
3. Load existing feature context
|
|
149
|
-
4. Continue through steps 01-
|
|
150
|
-
|
|
151
|
-
**Extract mode (`-x <json-path>`):**
|
|
152
|
-
|
|
153
|
-
When provided, step-00 will:
|
|
154
|
-
|
|
155
|
-
1. Validate the JSON file at `<json-path>` exists and is valid JSON
|
|
156
|
-
2. Pass parsed content to step-06-extract.md
|
|
157
|
-
3. Step-06 maps ALL client data to feature.json format (zero information loss)
|
|
158
|
-
4. Post-extraction: choice to enrich, handoff, or terminate
|
|
81
|
+
4. Continue through steps 01-05 with delta focus
|
|
159
82
|
</resume_workflow>
|
|
160
83
|
|
|
161
84
|
<workflow>
|
|
162
|
-
**
|
|
163
|
-
|
|
164
|
-
1.
|
|
165
|
-
2.
|
|
166
|
-
3. If
|
|
167
|
-
4. If
|
|
168
|
-
5.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
**Application workflow (multi-module):**
|
|
173
|
-
- **Step 00:** Parse flags, create master feature.json (draft)
|
|
85
|
+
**Step-00 routing (auto-detection):**
|
|
86
|
+
|
|
87
|
+
1. Read `{feature_description}`
|
|
88
|
+
2. Scan `docs/business/` for existing applications
|
|
89
|
+
3. If match found → ask user: "New application" or "Update {app}" ?
|
|
90
|
+
4. If no match → new application
|
|
91
|
+
5. Create master feature.json and proceed to step-01
|
|
92
|
+
|
|
93
|
+
**New application workflow:**
|
|
94
|
+
- **Step 00:** Detection, scan existing, create master feature.json (draft)
|
|
174
95
|
- **Step 01:** Cadrage: context, stakeholders, scope, application roles (framed)
|
|
175
96
|
- **Step 02:** Decomposition: modules, dependencies, client checkpoint (decomposed)
|
|
176
97
|
- **Step 03a:** Interactive specification per module: sections, wireframes, entities, BR, use cases
|
|
@@ -178,28 +99,14 @@ When provided, step-00 will:
|
|
|
178
99
|
- Loop: 03a → 03b → 03a (next module) until all specified (specified)
|
|
179
100
|
- **Step 04:** Cross-module consolidation (consolidated)
|
|
180
101
|
- **Step 05a:** Build handoff data: file mapping, BR-to-code, API summary, write to feature.json
|
|
181
|
-
- **Step 05b:** Deploy artifacts: prd.json, progress.txt, HTML, manifest
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
**
|
|
188
|
-
- **Step
|
|
189
|
-
- **Step 01:** Cadrage: context, stakeholders, scope, roles (framed)
|
|
190
|
-
- **Step 02:** Decomposition: trivial (1 module), quick checkpoint (decomposed)
|
|
191
|
-
- **Step 03a → 03b:** Specification: single iteration (specified)
|
|
192
|
-
- **Step 04:** Consolidation: auto-pass (consolidated)
|
|
193
|
-
- **Step 05a → 05b:** Handoff + deploy (handed-off)
|
|
194
|
-
|
|
195
|
-
**Micro workflow:**
|
|
196
|
-
- **Step 00:** Create minimal feature.json
|
|
197
|
-
- **Step 05a → 05b:** Direct handoff + deploy (skip 01-04)
|
|
198
|
-
|
|
199
|
-
**Extract workflow (from interactive HTML):**
|
|
200
|
-
- **Step 00:** Parse `-x` flag, validate JSON file
|
|
201
|
-
- **Step 06:** Map HTML export to feature.json (cadrage, modules, specs, consolidation)
|
|
202
|
-
- Post-extraction choice: enrich with questionnaire (step-01), go to handoff (step-05), or terminate
|
|
102
|
+
- **Step 05b:** Deploy artifacts: prd.json, progress.txt, HTML, manifest (handed-off)
|
|
103
|
+
- Display completion summary with `/ralph-loop -r` command
|
|
104
|
+
- User reviews deliverables with stakeholders before launching development
|
|
105
|
+
|
|
106
|
+
**Update workflow (same phases, delta focus):**
|
|
107
|
+
- **Step 00:** Detection, locate existing feature, create version N+1
|
|
108
|
+
- **Step 01:** Cadrage delta: what changes, impact on existing
|
|
109
|
+
- **Step 02-05:** Same flow as new, with existing context loaded
|
|
203
110
|
</workflow>
|
|
204
111
|
|
|
205
112
|
<state_variables>
|
|
@@ -208,14 +115,12 @@ When provided, step-00 will:
|
|
|
208
115
|
| Variable | Type | Description |
|
|
209
116
|
| ----------------------- | ------- | ------------------------------------------------------ |
|
|
210
117
|
| `{feature_id}` | string | Unique identifier (e.g., `FEAT-001`) |
|
|
211
|
-
| `{feature_description}` | string | What to analyze
|
|
212
|
-
| `{
|
|
118
|
+
| `{feature_description}` | string | What to analyze |
|
|
119
|
+
| `{workflow_type}` | string | `"new"` or `"update"` |
|
|
213
120
|
| `{version}` | string | SemVer (1.0, 1.1, 2.0, etc.) |
|
|
214
121
|
| `{application_name}` | string | Target application name |
|
|
215
122
|
| `{module_name}` | string | Target module name |
|
|
216
123
|
| `{context}` | string | Always "business" for BA |
|
|
217
|
-
| `{auto_mode}` | boolean | Skip confirmations |
|
|
218
|
-
| `{economy_mode}` | boolean | No subagents, direct tool usage only |
|
|
219
124
|
| `{workflow_mode}` | string | "application" or "module" |
|
|
220
125
|
| `{docs_dir}` | string | `docs/business/{app}/{module}/business-analyse/v{X.Y}/` |
|
|
221
126
|
|
|
@@ -232,7 +137,7 @@ When provided, step-00 will:
|
|
|
232
137
|
|
|
233
138
|
| Step | File | Model | Purpose |
|
|
234
139
|
| ---- | --------------------------------- | ------ | ---------------------------------------------------- |
|
|
235
|
-
| 00 | `steps/step-00-init.md` | Haiku |
|
|
140
|
+
| 00 | `steps/step-00-init.md` | Haiku | Auto-detect new/update, scan existing, create master feature.json |
|
|
236
141
|
| 01 | `steps/step-01-cadrage.md` | Opus | Framing: context, stakeholders, scope, application roles |
|
|
237
142
|
| 02 | `steps/step-02-decomposition.md` | Sonnet | Module decomposition, dependency graph, client checkpoint |
|
|
238
143
|
| 03a | `steps/step-03a-specify.md` | Opus | Per-module specification: interactive phase (sections, entities, BR, wireframes, use cases) |
|
|
@@ -240,7 +145,6 @@ When provided, step-00 will:
|
|
|
240
145
|
| 04 | `steps/step-04-consolidation.md` | Sonnet | Cross-module validation, E2E flows, permissions coherence |
|
|
241
146
|
| 05a | `steps/step-05a-handoff.md` | Sonnet | Build handoff data, write to module + master feature.json |
|
|
242
147
|
| 05b | `steps/step-05b-deploy.md` | Sonnet | Generate prd.json, progress.txt, deploy HTML, manifest, user choice |
|
|
243
|
-
| 06 | `steps/step-06-extract.md` | Sonnet | Extract interactive HTML export → feature.json |
|
|
244
148
|
|
|
245
149
|
</step_files>
|
|
246
150
|
|
|
@@ -251,7 +155,7 @@ Load ONLY relevant categories based on feature type:
|
|
|
251
155
|
|
|
252
156
|
| Categorie | Fichier | Questions | Quand charger |
|
|
253
157
|
| --------- | ------------------------------------- | --------- | ------------- |
|
|
254
|
-
| 00 | `questionnaire/00-application.md` | 18 | Si
|
|
158
|
+
| 00 | `questionnaire/00-application.md` | 18 | Si workflow_mode = "application" |
|
|
255
159
|
| 01 | `questionnaire/01-context.md` | 32 | Toujours |
|
|
256
160
|
| 02 | `questionnaire/02-stakeholders.md` | 33 | Toujours |
|
|
257
161
|
| 03 | `questionnaire/03-scope.md` | 32 | Toujours |
|
|
@@ -299,7 +203,7 @@ Load ONLY relevant categories based on feature type:
|
|
|
299
203
|
- **Use ba-reader agent** for all JSON reads
|
|
300
204
|
- **Follow next_step directive** at end of each step
|
|
301
205
|
- **Context: business only** - Reject platform/personal/system contexts
|
|
302
|
-
- **Use parallel agents** for exploration
|
|
206
|
+
- **Use parallel agents** for codebase exploration
|
|
303
207
|
</execution_rules>
|
|
304
208
|
|
|
305
209
|
<success_criteria>
|
|
@@ -309,7 +213,7 @@ Load ONLY relevant categories based on feature type:
|
|
|
309
213
|
- Each module specified iteratively with client validation
|
|
310
214
|
- ASCII/SVG mockups proposed for each module's sections
|
|
311
215
|
- Cross-module consolidation passed (step-04)
|
|
312
|
-
- Development handoff ready for `/ralph-loop -r`
|
|
216
|
+
- Development handoff ready for `/ralph-loop -r`
|
|
313
217
|
- Ralph Loop prd.json generated (per module or consolidated)
|
|
314
218
|
- All outputs renderable by SmartStack app viewer at `/docs/business/{app}/`
|
|
315
219
|
</success_criteria>
|
|
@@ -232,7 +232,7 @@ resume_workflow(feat_id):
|
|
|
232
232
|
1. ba-reader.findFeature(feat_id) -> latest feature.json
|
|
233
233
|
2. Read feature.json.metadata.steps -> find last completed step
|
|
234
234
|
3. Load next step file
|
|
235
|
-
4. If not found
|
|
235
|
+
4. If not found: offer to create fresh feature.json
|
|
236
236
|
```
|
|
237
237
|
|
|
238
238
|
---
|