@atlashub/smartstack-cli 3.4.0 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlashub/smartstack-cli",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "description": "SmartStack Claude Code automation toolkit - GitFlow, EF Core migrations, prompts and more",
5
5
  "author": {
6
6
  "name": "SmartStack",
@@ -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: "[-a] [-e] [-q <FEAT-ID> \"question\"] [-r <FEAT-ID> \"change\"] [-m] [-x <json-path>] <feature description>"
4
+ argument-hint: "<feature description>"
5
5
  ---
6
6
 
7
7
  <objective>
8
- Execute VibeCoding-focused business analysis workflows. This skill produces a single feature.json progressively enriched at each step, published to docs/business/ for web app rendering. Supports 5 use cases: new feature analysis, questions about existing features, feature refactoring, one-shot micro-features, and extraction from interactive HTML documentation.
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
- # A. New feature (full workflow)
21
- /business-analyse Order management module
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
- **Recommended autonomous workflow:**
37
-
38
- ```bash
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
- <flags>
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
- # F. Extract from interactive HTML export
84
- /business-analyse -x ./docs/business/MyApp/ba-export.json
85
-
86
- # Autonomous application mode
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
- **Question mode (`-q {FEAT-ID} "question"`):**
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
- **Refactoring mode (`-r {FEAT-ID} "change description"`):**
76
+ When step-00 detects that the description matches an existing application:
143
77
 
144
- When provided, step-00 will:
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-04 with delta focus
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
- **Use case routing (step-00):**
163
-
164
- 1. Parse flags and feature description
165
- 2. If `-q`: Load ba-reader, answer question → EXIT
166
- 3. If `-r`: Load existing feature.json, create new version
167
- 4. If `-x`: Load JSON export, extract to feature.json → step-06
168
- 5. If `-m`: Create minimal feature.json simplified handoff
169
- 6. If `-app` or auto-detected multi-module: Full application workflow
170
- 7. Default: Single module workflow (same phases, decomposition is trivial)
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, user choice (handed-off)
182
- - User chooses development approach (AskUserQuestion)
183
- - **If "Ralph Loop":** Automatic launch `/ralph-loop` (seamless transition)
184
- - **If "Feature Full":** Automatic launch → `/feature-full` (parallel generation)
185
- - **If "Terminer":** BA ends, manual development
186
-
187
- **Single module workflow (same phases, simplified):**
188
- - **Step 00:** Parse flags, create master feature.json (draft)
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 (flags removed) |
212
- | `{use_case}` | string | One of: new, question, refactoring, micro, extract |
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 | Parse flags, route use case, create master feature.json |
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 mode application |
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 (unless economy_mode)
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` or `/feature-full`
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 in docs/: fallback to .business-analyse/ (legacy)
235
+ 4. If not found: offer to create fresh feature.json
236
236
  ```
237
237
 
238
238
  ---