@atlashub/smartstack-cli 1.13.2 → 1.14.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/agents.html +1 -1
- package/.documentation/apex.html +1 -1
- package/.documentation/business-analyse.html +1 -1
- package/.documentation/cli-commands.html +3 -3
- package/.documentation/commands.html +1 -1
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +1 -1
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +1 -1
- package/.documentation/init.html +3 -3
- package/.documentation/installation.html +1001 -352
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/README.md +88 -20
- package/dist/index.js +276 -85
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/code-reviewer.md +163 -0
- package/templates/agents/efcore/db-deploy.md +25 -7
- package/templates/agents/efcore/db-reset.md +31 -10
- package/templates/agents/efcore/db-status.md +22 -5
- package/templates/agents/efcore/migration.md +69 -19
- package/templates/agents/gitflow/cleanup.md +8 -1
- package/templates/agents/gitflow/commit.md +7 -5
- package/templates/agents/gitflow/finish.md +6 -4
- package/templates/agents/gitflow/pr.md +8 -1
- package/templates/agents/gitflow/start.md +1 -1
- package/templates/commands/check-version.md +267 -0
- package/templates/commands/efcore/_shared.md +30 -1
- package/templates/commands/efcore/db-reset.md +18 -6
- package/templates/commands/gitflow/OPTIMIZATIONS.md +206 -0
- package/templates/commands/refactor.md +164 -0
- package/templates/project/DependencyInjection.Application.cs.template +25 -0
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
- package/templates/project/ExampleEntity.cs.template +116 -0
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
- package/templates/project/ExampleService.cs.template +146 -0
- package/templates/project/ExtensionsDbContext.cs.template +41 -0
- package/templates/project/IExtensionsDbContext.cs.template +22 -0
- package/templates/project/Program.cs.template +47 -0
- package/templates/project/README.md +79 -0
- package/templates/ralph/README.md +10 -8
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/_shared.md +44 -44
- package/templates/skills/ai-prompt/SKILL.md +55 -55
- package/templates/skills/apex/SKILL.md +235 -0
- package/templates/skills/apex/steps/step-00-init.md +203 -0
- package/templates/skills/apex/steps/step-01-analyze.md +210 -0
- package/templates/skills/apex/steps/step-02-plan.md +217 -0
- package/templates/skills/apex/steps/step-03-execute.md +178 -0
- package/templates/skills/apex/steps/step-04-validate.md +217 -0
- package/templates/skills/apex/steps/step-05-examine.md +207 -0
- package/templates/skills/apex/steps/step-06-resolve.md +181 -0
- package/templates/skills/apex/steps/step-07-tests.md +206 -0
- package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
- package/templates/skills/apex/templates/00-context.md +46 -0
- package/templates/skills/apex/templates/01-analyze.md +63 -0
- package/templates/skills/apex/templates/02-plan.md +63 -0
- package/templates/skills/apex/templates/03-execute.md +34 -0
- package/templates/skills/apex/templates/04-validate.md +61 -0
- package/templates/skills/apex/templates/05-examine.md +58 -0
- package/templates/skills/apex/templates/06-resolve.md +39 -0
- package/templates/skills/apex/templates/07-tests.md +56 -0
- package/templates/skills/apex/templates/08-run-tests.md +41 -0
- package/templates/skills/apex/templates/README.md +69 -0
- package/templates/skills/application/SKILL.md +50 -50
- package/templates/skills/application/templates-backend.md +25 -25
- package/templates/skills/application/templates-frontend.md +43 -43
- package/templates/skills/application/templates-i18n.md +29 -29
- package/templates/skills/application/templates-seed.md +77 -77
- package/templates/skills/business-analyse/SKILL.md +223 -0
- package/templates/skills/business-analyse/_shared.md +258 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
- package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
- package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
- package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
- package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
- package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
- package/templates/skills/business-analyse/questionnaire.md +177 -177
- package/templates/skills/business-analyse/react/components.md +340 -0
- package/templates/skills/business-analyse/react/i18n-template.md +245 -0
- package/templates/skills/business-analyse/react/schema.md +151 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
- package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
- package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
- package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
- package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
- package/templates/skills/business-analyse/templates/00-context.md +105 -0
- package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
- package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
- package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
- package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
- package/templates/skills/business-analyse/templates-frd.md +217 -217
- package/templates/skills/business-analyse/templates-react.md +26 -26
- package/templates/skills/controller/SKILL.md +141 -92
- package/templates/skills/controller/postman-templates.md +15 -15
- package/templates/skills/controller/steps/step-00-init.md +191 -0
- package/templates/skills/controller/steps/step-01-analyze.md +146 -0
- package/templates/skills/controller/steps/step-02-plan.md +176 -0
- package/templates/skills/controller/steps/step-03-generate.md +219 -0
- package/templates/skills/controller/steps/step-04-perms.md +219 -0
- package/templates/skills/controller/steps/step-05-validate.md +107 -0
- package/templates/skills/controller/templates.md +77 -77
- package/templates/skills/documentation/SKILL.md +79 -79
- package/templates/skills/feature-full/SKILL.md +38 -38
- package/templates/skills/gitflow/SKILL.md +277 -0
- package/templates/{commands → skills}/gitflow/_shared.md +20 -20
- package/templates/skills/gitflow/phases/abort.md +173 -0
- package/templates/skills/gitflow/phases/cleanup.md +226 -0
- package/templates/skills/gitflow/phases/status.md +178 -0
- package/templates/skills/gitflow/steps/step-commit.md +255 -0
- package/templates/skills/gitflow/steps/step-finish.md +255 -0
- package/templates/skills/gitflow/steps/step-init.md +209 -0
- package/templates/skills/gitflow/steps/step-merge.md +225 -0
- package/templates/skills/gitflow/steps/step-plan.md +208 -0
- package/templates/skills/gitflow/steps/step-pr.md +235 -0
- package/templates/skills/gitflow/steps/step-start.md +234 -0
- package/templates/skills/gitflow/steps/step-sync.md +200 -0
- package/templates/skills/gitflow/templates/config.json +53 -0
- package/templates/skills/notification/SKILL.md +51 -51
- package/templates/skills/ralph-loop/SKILL.md +228 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
- package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
- package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
- package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
- package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
- package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
- package/templates/skills/review-code/SKILL.md +219 -0
- package/templates/skills/review-code/references/clean-code-principles.md +140 -0
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
- package/templates/skills/review-code/references/feedback-patterns.md +149 -0
- package/templates/skills/review-code/references/security-checklist.md +127 -0
- package/templates/skills/ui-components/SKILL.md +54 -54
- package/templates/skills/workflow/SKILL.md +46 -46
- package/templates/commands/ai-prompt.md +0 -315
- package/templates/commands/apex/1-analyze.md +0 -100
- package/templates/commands/apex/2-plan.md +0 -145
- package/templates/commands/apex/3-execute.md +0 -171
- package/templates/commands/apex/4-examine.md +0 -116
- package/templates/commands/apex/5-tasks.md +0 -209
- package/templates/commands/apex.md +0 -76
- package/templates/commands/application/create.md +0 -362
- package/templates/commands/application/templates-backend.md +0 -463
- package/templates/commands/application/templates-frontend.md +0 -517
- package/templates/commands/application/templates-i18n.md +0 -478
- package/templates/commands/application/templates-seed.md +0 -362
- package/templates/commands/application.md +0 -303
- package/templates/commands/business-analyse/0-orchestrate.md +0 -156
- package/templates/commands/business-analyse/1-init.md +0 -99
- package/templates/commands/business-analyse/2-discover.md +0 -143
- package/templates/commands/business-analyse/3-analyse.md +0 -106
- package/templates/commands/business-analyse/4-specify.md +0 -133
- package/templates/commands/business-analyse/5-validate.md +0 -132
- package/templates/commands/business-analyse/6-handoff.md +0 -157
- package/templates/commands/business-analyse/7-doc-html.md +0 -103
- package/templates/commands/business-analyse/_shared.md +0 -176
- package/templates/commands/business-analyse/bug.md +0 -118
- package/templates/commands/business-analyse/change-request.md +0 -144
- package/templates/commands/business-analyse/hotfix.md +0 -116
- package/templates/commands/business-analyse.md +0 -121
- package/templates/commands/controller/create.md +0 -216
- package/templates/commands/controller/postman-templates.md +0 -528
- package/templates/commands/controller/templates.md +0 -600
- package/templates/commands/controller.md +0 -337
- package/templates/commands/create/agent.md +0 -138
- package/templates/commands/create/command.md +0 -166
- package/templates/commands/create/hook.md +0 -234
- package/templates/commands/create/plugin.md +0 -329
- package/templates/commands/create/project.md +0 -508
- package/templates/commands/create/skill.md +0 -199
- package/templates/commands/create.md +0 -220
- package/templates/commands/documentation/module.md +0 -202
- package/templates/commands/documentation/templates.md +0 -432
- package/templates/commands/documentation.md +0 -190
- package/templates/commands/epct.md +0 -69
- package/templates/commands/explain.md +0 -186
- package/templates/commands/feature-full.md +0 -267
- package/templates/commands/gitflow/1-init.md +0 -188
- package/templates/commands/gitflow/10-start.md +0 -190
- package/templates/commands/gitflow/11-finish.md +0 -382
- package/templates/commands/gitflow/12-cleanup.md +0 -103
- package/templates/commands/gitflow/13-sync.md +0 -216
- package/templates/commands/gitflow/14-rebase.md +0 -251
- package/templates/commands/gitflow/2-status.md +0 -122
- package/templates/commands/gitflow/3-commit.md +0 -209
- package/templates/commands/gitflow/4-plan.md +0 -174
- package/templates/commands/gitflow/5-exec.md +0 -202
- package/templates/commands/gitflow/6-abort.md +0 -121
- package/templates/commands/gitflow/7-pull-request.md +0 -176
- package/templates/commands/gitflow/8-review.md +0 -113
- package/templates/commands/gitflow/9-merge.md +0 -157
- package/templates/commands/gitflow.md +0 -128
- package/templates/commands/implement.md +0 -663
- package/templates/commands/init.md +0 -567
- package/templates/commands/mcp-integration.md +0 -330
- package/templates/commands/notification.md +0 -129
- package/templates/commands/oneshot.md +0 -57
- package/templates/commands/quickstart.md +0 -154
- package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
- package/templates/commands/ralph-loop/help.md +0 -126
- package/templates/commands/ralph-loop/ralph-loop.md +0 -120
- package/templates/commands/review.md +0 -106
- package/templates/commands/workflow.md +0 -193
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
# Business Analysis - Shared Functions (v2 - Progressive Loading)
|
|
2
|
+
|
|
3
|
+
> **Ref:** This file contains common functions for all BA phases.
|
|
4
|
+
> **Version:** 2.0 - Optimized for progressive loading
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Architecture Progressive
|
|
9
|
+
|
|
10
|
+
Le skill BusinessAnalyse utilise le **chargement progressif** pour minimiser le contexte:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
SKILL.md (entry point)
|
|
14
|
+
↓
|
|
15
|
+
steps/step-00-init.md (parse flags, create state)
|
|
16
|
+
↓
|
|
17
|
+
steps/step-01-discover.md (charge questionnaire/XX.md on-demand)
|
|
18
|
+
↓
|
|
19
|
+
steps/step-02-analyse.md (charge templates/frd-brd.md)
|
|
20
|
+
↓
|
|
21
|
+
steps/step-03-specify.md (charge templates/frd-spec.md)
|
|
22
|
+
↓
|
|
23
|
+
steps/step-04-validate.md (validation gate)
|
|
24
|
+
↓
|
|
25
|
+
steps/step-05-handoff.md (charge templates/frd-handoff.md)
|
|
26
|
+
↓
|
|
27
|
+
steps/step-06-doc-html.md (charge react/*.md on-demand)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Benefit:** ~70% context reduction per phase
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Business Context Validation
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
validate_business_context(context):
|
|
38
|
+
IF context IN ['platform', 'personal', 'system'] THEN
|
|
39
|
+
ERROR "BA restricted to 'business' context. Contact: support@atlshub.ch"
|
|
40
|
+
RETURN false
|
|
41
|
+
END IF
|
|
42
|
+
RETURN true
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**CRITICAL:** BusinessAnalyze works ONLY for the `business` context.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Feature Directory Structure
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
.business-analyse/
|
|
53
|
+
├── config.json # Global config
|
|
54
|
+
└── business/
|
|
55
|
+
└── {application}/
|
|
56
|
+
└── modules/
|
|
57
|
+
└── {module}/
|
|
58
|
+
└── features/
|
|
59
|
+
└── {FEAT-NNN}/
|
|
60
|
+
├── 00-context.md # State persistence
|
|
61
|
+
├── 1-discovery.md
|
|
62
|
+
├── 2-business-requirements.md
|
|
63
|
+
├── 3-functional-specification.md
|
|
64
|
+
├── validation.json
|
|
65
|
+
├── 4-development-handoff.md
|
|
66
|
+
└── tracking/
|
|
67
|
+
├── changes/
|
|
68
|
+
├── bugs/
|
|
69
|
+
└── hotfixes/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Feature ID Generation
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
generate_feature_id():
|
|
78
|
+
last_id = read_config(".business-analyse/config.json", "lastFeatureId") OR 0
|
|
79
|
+
new_id = last_id + 1
|
|
80
|
+
update_config(".business-analyse/config.json", "lastFeatureId", new_id)
|
|
81
|
+
RETURN format("FEAT-%03d", new_id)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Models by Phase (Step)
|
|
87
|
+
|
|
88
|
+
| Step | Model | Reason |
|
|
89
|
+
|------|-------|--------|
|
|
90
|
+
| 00-init | Haiku | Quick structure setup |
|
|
91
|
+
| 01-discover | **Opus** | ULTRATHINK elicitation |
|
|
92
|
+
| 02-analyse | Sonnet | BRD modeling |
|
|
93
|
+
| 03-specify | Sonnet | FRD + Use Cases |
|
|
94
|
+
| 04-validate | Haiku | Binary gate |
|
|
95
|
+
| 05-handoff | **Opus** | Zero-ambiguity prompt |
|
|
96
|
+
| 06-doc-html | Sonnet | React + Context7 |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## ULTRATHINK
|
|
101
|
+
|
|
102
|
+
Behavioral mode for critical phases (01, 02, 03, 05):
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
ULTRATHINK MODE:
|
|
106
|
+
- Consider ALL edge cases
|
|
107
|
+
- Challenge EVERY assumption
|
|
108
|
+
- Anticipate UNEXPRESSED needs
|
|
109
|
+
- Validate completeness before output
|
|
110
|
+
|
|
111
|
+
DO NOT:
|
|
112
|
+
- Accept vague answers
|
|
113
|
+
- Skip question categories
|
|
114
|
+
- Assume stakeholder thought of everything
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**DO NOT invoke** as a skill/tool - it is a thinking mode.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Context7 (Step 06)
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Prompt pattern:
|
|
125
|
+
"use context7 with /facebook/react and /i18next/react-i18next
|
|
126
|
+
to generate {component} following SmartStack patterns"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Libraries:
|
|
130
|
+
- `/facebook/react` - React 19 patterns
|
|
131
|
+
- `/i18next/react-i18next` - Internationalization
|
|
132
|
+
- `/remix-run/react-router` - React Router v7
|
|
133
|
+
- `/lucide-icons/lucide-react` - Icons
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Permission Path Format
|
|
138
|
+
|
|
139
|
+
**Format:** `business.{application}.{module}.{action}`
|
|
140
|
+
|
|
141
|
+
| Action | Permission | Usage |
|
|
142
|
+
|--------|------------|-------|
|
|
143
|
+
| Read | `.read` | GET endpoints |
|
|
144
|
+
| Create | `.create` | POST endpoints |
|
|
145
|
+
| Update | `.update` | PUT endpoints |
|
|
146
|
+
| Delete | `.delete` | DELETE endpoints |
|
|
147
|
+
| Export | `.export` | Export data |
|
|
148
|
+
| Import | `.import` | Import data |
|
|
149
|
+
| Admin | `.admin` | Administrative |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## i18n (4 required languages)
|
|
154
|
+
|
|
155
|
+
| Language | File | Code |
|
|
156
|
+
|----------|------|------|
|
|
157
|
+
| French | `fr/docs-{app}-{module}.json` | fr |
|
|
158
|
+
| English | `en/docs-{app}-{module}.json` | en |
|
|
159
|
+
| Italian | `it/docs-{app}-{module}.json` | it |
|
|
160
|
+
| German | `de/docs-{app}-{module}.json` | de |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Output Paths
|
|
165
|
+
|
|
166
|
+
| Type | Path |
|
|
167
|
+
|------|------|
|
|
168
|
+
| Documentation | `web/smartstack-web/src/pages/docs/business/{app}/{module}/` |
|
|
169
|
+
| i18n | `web/smartstack-web/src/i18n/locales/{lang}/` |
|
|
170
|
+
| Route | `/docs/business/{app}/{module}` |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## State Persistence
|
|
175
|
+
|
|
176
|
+
The `00-context.md` file persists state between steps:
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
# Business Analysis: {{feature_id}}
|
|
180
|
+
|
|
181
|
+
## Progress
|
|
182
|
+
| Step | Status | Started | Completed |
|
|
183
|
+
|------|--------|---------|-----------|
|
|
184
|
+
| 00-init | Complete | ... | ... |
|
|
185
|
+
| 01-discover | In Progress | ... | - |
|
|
186
|
+
...
|
|
187
|
+
|
|
188
|
+
## State Variables
|
|
189
|
+
| Variable | Value |
|
|
190
|
+
|----------|-------|
|
|
191
|
+
| feature_id | FEAT-001 |
|
|
192
|
+
| application_name | Sales |
|
|
193
|
+
...
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Read:** Each step starts by reading 00-context.md
|
|
197
|
+
**Write:** Each step updates 00-context.md at the end
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Resume Workflow
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
resume_workflow(task_id):
|
|
205
|
+
1. Search .business-analyse/ for matching feature
|
|
206
|
+
2. Read 00-context.md
|
|
207
|
+
3. Find last "Complete" step in Progress table
|
|
208
|
+
4. Return next step to load
|
|
209
|
+
|
|
210
|
+
Example:
|
|
211
|
+
/business-analyse -r FEAT-001
|
|
212
|
+
→ Reads .business-analyse/.../FEAT-001/00-context.md
|
|
213
|
+
→ Finds "01-discover: Complete, 02-analyse: Pending"
|
|
214
|
+
→ Loads step-02-analyse.md
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Standard Summary (End of Step)
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
{STEP_NAME} - {feature_id}
|
|
223
|
+
├── Status: {Complete/In Progress}
|
|
224
|
+
├── Key metric: {value}
|
|
225
|
+
├── Output: {file created}
|
|
226
|
+
└── Next: {next step name}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Config Template
|
|
232
|
+
|
|
233
|
+
```json
|
|
234
|
+
{
|
|
235
|
+
"project": "{Name}",
|
|
236
|
+
"lastFeatureId": 0,
|
|
237
|
+
"context": "business",
|
|
238
|
+
"standards": ["BABOK-v3", "IEEE-830"],
|
|
239
|
+
"contact": "support@atlshub.ch"
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Progressive Loading Benefits
|
|
246
|
+
|
|
247
|
+
| Aspect | Before | After | Gain |
|
|
248
|
+
|--------|--------|-------|------|
|
|
249
|
+
| Questionnaire | 283 L (all) | 40-60 L (per category) | ~75% |
|
|
250
|
+
| FRD Templates | 477 L (all) | 80-150 L (per type) | ~70% |
|
|
251
|
+
| React Templates | 580 L (all) | 250-350 L (per need) | ~45% |
|
|
252
|
+
| **Total/step** | ~1,340 L | ~300-400 L | **~70%** |
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Support
|
|
257
|
+
|
|
258
|
+
Contact: **support@atlshub.ch**
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Category 1: Business Context
|
|
2
|
+
|
|
3
|
+
> **Usage:** Fundamental questions about the business need
|
|
4
|
+
> **When to load:** ALWAYS (core)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1.1 Fundamental Need
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q1.1 | What business problem should this module/feature solve? | Free text |
|
|
13
|
+
| Q1.2 | What is the current situation (AS-IS)? | Description |
|
|
14
|
+
| Q1.3 | What is the target situation (TO-BE)? | Description |
|
|
15
|
+
| Q1.4 | What are the measurable success KPIs? | List + values |
|
|
16
|
+
|
|
17
|
+
## 1.2 Business Value
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q1.5 | What ROI do you expect? (time, money, efficiency) | Quantitative |
|
|
22
|
+
| Q1.6 | What savings or gains will this module bring? | Estimation |
|
|
23
|
+
| Q1.7 | What happens if this module is NOT developed? | Impact |
|
|
24
|
+
| Q1.8 | What is the priority compared to other needs? | High/Medium/Low |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Follow-up Questions
|
|
29
|
+
|
|
30
|
+
For each vague answer:
|
|
31
|
+
- "Can you give a concrete example?"
|
|
32
|
+
- "How do you measure that today?"
|
|
33
|
+
- "What happens if this rule is not respected?"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Category 2: Stakeholders
|
|
2
|
+
|
|
3
|
+
> **Usage:** Identification of stakeholders and their needs
|
|
4
|
+
> **When to load:** ALWAYS (core)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 2.1 Identification
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q2.1 | Who are the direct end users? | List of roles |
|
|
13
|
+
| Q2.2 | Who are the indirect beneficiaries? | List |
|
|
14
|
+
| Q2.3 | Who is the sponsor/final decision maker? | Name + role |
|
|
15
|
+
| Q2.4 | Who can block the project? | List + reasons |
|
|
16
|
+
|
|
17
|
+
## 2.2 Needs by Role
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q2.5 | For each role: What tasks should they accomplish? | Per role |
|
|
22
|
+
| Q2.6 | What frequency of use per role? | Daily/Weekly/Monthly |
|
|
23
|
+
| Q2.7 | What level of technical expertise per role? | Novice/Intermediate/Expert |
|
|
24
|
+
| Q2.8 | What current frustrations per role? | List of pain points |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Role -> Permission Mapping
|
|
29
|
+
|
|
30
|
+
| Discovered Role | SmartStack Permission |
|
|
31
|
+
|-----------------|----------------------|
|
|
32
|
+
| Admin | `*.admin` |
|
|
33
|
+
| Manager | `*.read,create,update` |
|
|
34
|
+
| User | `*.read,create` |
|
|
35
|
+
| ReadOnly | `*.read` |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Category 3: Functional Scope
|
|
2
|
+
|
|
3
|
+
> **Usage:** Scope definition with MoSCoW
|
|
4
|
+
> **When to load:** ALWAYS (core)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 3.1 Functionality (MoSCoW)
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q3.1 | List ESSENTIAL features (Must-Have) | List |
|
|
13
|
+
| Q3.2 | List DESIRED features (Should-Have) | List |
|
|
14
|
+
| Q3.3 | List OPTIONAL features (Could-Have) | List |
|
|
15
|
+
| Q3.4 | What is EXPLICITLY excluded? | List of exclusions |
|
|
16
|
+
|
|
17
|
+
## 3.2 Business Process
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q3.5 | Describe the main user flow | Steps |
|
|
22
|
+
| Q3.6 | What are the decision points in the flow? | List |
|
|
23
|
+
| Q3.7 | What alternative flows exist? | Per condition |
|
|
24
|
+
| Q3.8 | What are the possible error cases? | List |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Prioritization
|
|
29
|
+
|
|
30
|
+
| Priority | Criterion |
|
|
31
|
+
|----------|-----------|
|
|
32
|
+
| Must | Without this feature, the module has no value |
|
|
33
|
+
| Should | Brings significant value but can wait for v2 |
|
|
34
|
+
| Could | Nice-to-have, can be implemented if time available |
|
|
35
|
+
| Won't | Explicitly excluded from scope |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Category 4: Data
|
|
2
|
+
|
|
3
|
+
> **Usage:** Definition of entities and data rules
|
|
4
|
+
> **When to load:** If feature is data-centric or full module
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 4.1 Entities
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q4.1 | What are the main entities handled? | List |
|
|
13
|
+
| Q4.2 | For each entity: important attributes? | Per entity |
|
|
14
|
+
| Q4.3 | What relationships exist between entities? | Text schema |
|
|
15
|
+
| Q4.4 | Expected data volume? | Estimation |
|
|
16
|
+
|
|
17
|
+
## 4.2 Data Rules
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q4.5 | What validations on data? | List of rules |
|
|
22
|
+
| Q4.6 | Which fields are required vs optional? | Per field |
|
|
23
|
+
| Q4.7 | What specific formats/constraints? | List |
|
|
24
|
+
| Q4.8 | Sensitive data to protect? | List + level |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Mapping
|
|
29
|
+
|
|
30
|
+
| Business Concept | SmartStack |
|
|
31
|
+
|-----------------|------------|
|
|
32
|
+
| Main entity | Domain Entity |
|
|
33
|
+
| Required attribute | `[Required]` |
|
|
34
|
+
| Unique attribute | `HasIndex().IsUnique()` |
|
|
35
|
+
| 1:N relationship | Navigation property |
|
|
36
|
+
| Sensitive data | Encryption + audit |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Category 5: Integrations
|
|
2
|
+
|
|
3
|
+
> **Usage:** Connections with internal and external systems
|
|
4
|
+
> **When to load:** If feature involves integrations
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 5.1 Existing Systems
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q5.1 | What internal systems should we integrate with? | List |
|
|
13
|
+
| Q5.2 | What external systems? | List |
|
|
14
|
+
| Q5.3 | Existing APIs to use? | Documentation |
|
|
15
|
+
| Q5.4 | Data to import from another system? | List + format |
|
|
16
|
+
|
|
17
|
+
## 5.2 Data Flows
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q5.5 | Flow direction? (inbound/outbound/bidirectional) | Per system |
|
|
22
|
+
| Q5.6 | Synchronization frequency? | Real-time/Batch |
|
|
23
|
+
| Q5.7 | Data conflict management? | Strategy |
|
|
24
|
+
| Q5.8 | Fallback if external system unavailable? | Behavior |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Patterns
|
|
29
|
+
|
|
30
|
+
| Integration Type | Pattern |
|
|
31
|
+
|-----------------|---------|
|
|
32
|
+
| REST API | HttpClient + Polly |
|
|
33
|
+
| Message Queue | MassTransit |
|
|
34
|
+
| Webhook | Controller endpoint |
|
|
35
|
+
| Real-time | SignalR |
|
|
36
|
+
| Batch import | Background job |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Category 6: Security & Permissions
|
|
2
|
+
|
|
3
|
+
> **Usage:** Definition of access and restrictions
|
|
4
|
+
> **When to load:** ALWAYS (core, minimal)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 6.1 Access
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q6.1 | Who can VIEW data? | List of roles |
|
|
13
|
+
| Q6.2 | Who can CREATE entries? | List of roles |
|
|
14
|
+
| Q6.3 | Who can MODIFY? | List of roles |
|
|
15
|
+
| Q6.4 | Who can DELETE? | List of roles |
|
|
16
|
+
|
|
17
|
+
## 6.2 Restrictions
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q6.5 | Geographic restrictions? | Countries/regions |
|
|
22
|
+
| Q6.6 | Time-based restrictions? (hours, periods) | Ranges |
|
|
23
|
+
| Q6.7 | Audit trail required? Which actions? | List |
|
|
24
|
+
| Q6.8 | Regulatory compliance? (GDPR, etc.) | List of standards |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Permission
|
|
29
|
+
|
|
30
|
+
**Format:** `business.{application}.{module}.{action}`
|
|
31
|
+
|
|
32
|
+
| Action | Permission |
|
|
33
|
+
|--------|------------|
|
|
34
|
+
| Read | `.read` |
|
|
35
|
+
| Create | `.create` |
|
|
36
|
+
| Update | `.update` |
|
|
37
|
+
| Delete | `.delete` |
|
|
38
|
+
| Export | `.export` |
|
|
39
|
+
| Import | `.import` |
|
|
40
|
+
| Admin | `.admin` |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Category 7: User Interface
|
|
2
|
+
|
|
3
|
+
> **Usage:** Definition of user experience
|
|
4
|
+
> **When to load:** If feature is UI-centric or full module
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 7.1 Experience
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q7.1 | Target devices? (desktop, mobile, tablet) | List |
|
|
13
|
+
| Q7.2 | Browsers to support? | List + versions |
|
|
14
|
+
| Q7.3 | Accessibility required? (WCAG level) | A/AA/AAA |
|
|
15
|
+
| Q7.4 | Dark/light mode required? | Yes/No |
|
|
16
|
+
|
|
17
|
+
## 7.2 Screens
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q7.5 | Main screens needed? | List |
|
|
22
|
+
| Q7.6 | Existing mockups/wireframes? | Documents |
|
|
23
|
+
| Q7.7 | Key information per screen? | Per screen |
|
|
24
|
+
| Q7.8 | Possible actions per screen? | Per screen |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Components
|
|
29
|
+
|
|
30
|
+
| Need | Component |
|
|
31
|
+
|------|-----------|
|
|
32
|
+
| List with pagination | DataTable |
|
|
33
|
+
| Creation form | Form + Modal |
|
|
34
|
+
| Edit form | Form + Modal |
|
|
35
|
+
| Filters | FilterBar |
|
|
36
|
+
| Export | ExportButton |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Category 8: Performance & Quality
|
|
2
|
+
|
|
3
|
+
> **Usage:** Non-functional performance requirements
|
|
4
|
+
> **When to load:** If feature is performance-critical or reporting
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 8.1 Performance
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q8.1 | Acceptable response time? | Milliseconds |
|
|
13
|
+
| Q8.2 | Number of concurrent users? | Estimation |
|
|
14
|
+
| Q8.3 | Expected load peaks? | When + volume |
|
|
15
|
+
| Q8.4 | Required availability? (SLA) | Percentage |
|
|
16
|
+
|
|
17
|
+
## 8.2 Quality
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q8.5 | Acceptable error rate? | Percentage |
|
|
22
|
+
| Q8.6 | Specific tests required? | Types |
|
|
23
|
+
| Q8.7 | Available test environments? | List |
|
|
24
|
+
| Q8.8 | Overall acceptance criteria? | List |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Thresholds
|
|
29
|
+
|
|
30
|
+
| Metric | Acceptable Threshold |
|
|
31
|
+
|--------|---------------------|
|
|
32
|
+
| API response time | < 200ms (P95) |
|
|
33
|
+
| Page load | < 2s |
|
|
34
|
+
| Concurrent users | Per license |
|
|
35
|
+
| Uptime | 99.5% |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Category 9: Constraints
|
|
2
|
+
|
|
3
|
+
> **Usage:** Technical and organizational constraints
|
|
4
|
+
> **When to load:** If constraints identified or workflow feature
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 9.1 Technical
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q9.1 | Mandated tech stack? | Technologies |
|
|
13
|
+
| Q9.2 | Infrastructure limitations? | Description |
|
|
14
|
+
| Q9.3 | Technology dependencies? | List |
|
|
15
|
+
| Q9.4 | Compatibility constraints? | List |
|
|
16
|
+
|
|
17
|
+
## 9.2 Organizational
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q9.5 | Available budget? | Amount |
|
|
22
|
+
| Q9.6 | Fixed or flexible deadline? | Date + flexibility |
|
|
23
|
+
| Q9.7 | Available resources? | Team |
|
|
24
|
+
| Q9.8 | Approval process? | Steps |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Constraints
|
|
29
|
+
|
|
30
|
+
| Constraint | Impact |
|
|
31
|
+
|-----------|--------|
|
|
32
|
+
| Multi-tenant | TenantId required |
|
|
33
|
+
| .NET 8+ | Minimum version |
|
|
34
|
+
| React 19+ | Frontend version |
|
|
35
|
+
| SQL Server/PostgreSQL | Supported databases |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Category 10: Documentation & Support
|
|
2
|
+
|
|
3
|
+
> **Usage:** Documentation and support needs
|
|
4
|
+
> **When to load:** If documentation explicitly required
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 10.1 Documentation
|
|
9
|
+
|
|
10
|
+
| # | Question | Answer Type |
|
|
11
|
+
|---|----------|-------------|
|
|
12
|
+
| Q10.1 | User documentation needed? | Yes/No + type |
|
|
13
|
+
| Q10.2 | Technical documentation needed? | Yes/No + type |
|
|
14
|
+
| Q10.3 | User training planned? | Plan |
|
|
15
|
+
| Q10.4 | Knowledge base to create? | Scope |
|
|
16
|
+
|
|
17
|
+
## 10.2 Support
|
|
18
|
+
|
|
19
|
+
| # | Question | Answer Type |
|
|
20
|
+
|---|----------|-------------|
|
|
21
|
+
| Q10.5 | Expected support level? | SLA |
|
|
22
|
+
| Q10.6 | Who provides level 1 support? | Team |
|
|
23
|
+
| Q10.7 | Escalation to level 2? | Process |
|
|
24
|
+
| Q10.8 | Monitoring and alerts required? | List |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## SmartStack Documentation
|
|
29
|
+
|
|
30
|
+
| Type | Generated by |
|
|
31
|
+
|------|-------------|
|
|
32
|
+
| FRD Documentation | `/business-analyse:6-doc-html` |
|
|
33
|
+
| Swagger API | Automatic |
|
|
34
|
+
| User guide | Manual or AI |
|
|
35
|
+
| Release notes | `/gitflow:11-finish` |
|