@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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Templates FRD - Business
|
|
1
|
+
# Templates FRD - Business Analysis
|
|
2
2
|
|
|
3
|
-
> **Usage:** Templates
|
|
4
|
-
> **
|
|
3
|
+
> **Usage:** Templates for functional specification documents (FRD)
|
|
4
|
+
> **Context:** Business > Application > Module > Section
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -13,65 +13,65 @@
|
|
|
13
13
|
> **Module:** business/{application}/{module}
|
|
14
14
|
> **Version:** 1.0
|
|
15
15
|
> **Date:** {YYYY-MM-DD}
|
|
16
|
-
> **
|
|
16
|
+
> **Author:** Business Analyst
|
|
17
17
|
|
|
18
|
-
## 1.
|
|
18
|
+
## 1. Business Context
|
|
19
19
|
|
|
20
|
-
### 1.1 Description
|
|
21
|
-
{
|
|
20
|
+
### 1.1 Need Description
|
|
21
|
+
{Clear description of the business need expressed by the stakeholder}
|
|
22
22
|
|
|
23
|
-
### 1.2
|
|
24
|
-
{
|
|
23
|
+
### 1.2 Current Problem
|
|
24
|
+
{Current situation and its limitations}
|
|
25
25
|
|
|
26
|
-
### 1.3
|
|
27
|
-
{
|
|
26
|
+
### 1.3 Expected Value
|
|
27
|
+
{Measurable business benefits}
|
|
28
28
|
|
|
29
29
|
## 2. Stakeholders
|
|
30
30
|
|
|
31
|
-
|
|
|
31
|
+
| Role | Name/Function | Involvement | Decision Level |
|
|
32
32
|
|------|--------------|-------------|-----------------|
|
|
33
|
-
| Sponsor | {
|
|
34
|
-
| Product Owner | {
|
|
35
|
-
|
|
|
33
|
+
| Sponsor | {name} | {description} | Approver |
|
|
34
|
+
| Product Owner | {name} | {description} | Decision Maker |
|
|
35
|
+
| Key User | {name} | {description} | Consulted |
|
|
36
36
|
|
|
37
|
-
## 3.
|
|
37
|
+
## 3. Scope
|
|
38
38
|
|
|
39
39
|
### 3.1 In Scope
|
|
40
|
-
- [ ] {
|
|
41
|
-
- [ ] {
|
|
40
|
+
- [ ] {Included feature 1}
|
|
41
|
+
- [ ] {Included feature 2}
|
|
42
42
|
|
|
43
43
|
### 3.2 Out of Scope
|
|
44
|
-
- {
|
|
45
|
-
- {
|
|
44
|
+
- {Explicit exclusion 1}
|
|
45
|
+
- {Explicit exclusion 2}
|
|
46
46
|
|
|
47
|
-
## 4. Questions
|
|
47
|
+
## 4. Open Questions
|
|
48
48
|
|
|
49
|
-
| # | Question |
|
|
49
|
+
| # | Question | Answer | Status |
|
|
50
50
|
|---|----------|---------|--------|
|
|
51
|
-
| Q1 | {Question} | {
|
|
51
|
+
| Q1 | {Question} | {Answer or "Pending"} | ⏳/✅ |
|
|
52
52
|
|
|
53
|
-
## 5.
|
|
53
|
+
## 5. Identified Constraints
|
|
54
54
|
|
|
55
|
-
| Type |
|
|
55
|
+
| Type | Constraint | Impact |
|
|
56
56
|
|------|------------|--------|
|
|
57
|
-
|
|
|
58
|
-
| Budget | {
|
|
59
|
-
|
|
|
60
|
-
|
|
|
57
|
+
| Technical | {constraint} | {impact} |
|
|
58
|
+
| Budget | {constraint} | {impact} |
|
|
59
|
+
| Schedule | {constraint} | {impact} |
|
|
60
|
+
| Regulatory | {constraint} | {impact} |
|
|
61
61
|
|
|
62
|
-
## 6.
|
|
62
|
+
## 6. Dependencies
|
|
63
63
|
|
|
64
|
-
|
|
|
64
|
+
| Dependency | Type | Module/System | Criticality |
|
|
65
65
|
|------------|------|----------------|-----------|
|
|
66
|
-
| {
|
|
66
|
+
| {dep} | Internal/External | {module} | High/Medium/Low |
|
|
67
67
|
|
|
68
68
|
---
|
|
69
69
|
|
|
70
|
-
##
|
|
70
|
+
## Version History
|
|
71
71
|
|
|
72
|
-
| Version | Date |
|
|
73
|
-
|
|
74
|
-
| 1.0 | {date} | BA |
|
|
72
|
+
| Version | Date | Author | Changes |
|
|
73
|
+
|---------|------|--------|---------|
|
|
74
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
---
|
|
@@ -83,90 +83,90 @@
|
|
|
83
83
|
|
|
84
84
|
> **Module:** business/{application}/{module}
|
|
85
85
|
> **Version:** 1.0
|
|
86
|
-
> **
|
|
86
|
+
> **Based on:** 1-discovery.md v1.0
|
|
87
87
|
|
|
88
|
-
## 1.
|
|
88
|
+
## 1. Executive Summary
|
|
89
89
|
|
|
90
|
-
{
|
|
90
|
+
{3-5 sentence summary of the business need and proposed solution}
|
|
91
91
|
|
|
92
|
-
## 2.
|
|
92
|
+
## 2. Business Objectives
|
|
93
93
|
|
|
94
|
-
| ID |
|
|
95
|
-
|
|
96
|
-
| OBJ-001 | {
|
|
94
|
+
| ID | Objective | Metric | Target |
|
|
95
|
+
|----|----------|--------|--------|
|
|
96
|
+
| OBJ-001 | {objective} | {Measurable KPI} | {target value} |
|
|
97
97
|
|
|
98
|
-
## 3.
|
|
98
|
+
## 3. Business Rules
|
|
99
99
|
|
|
100
|
-
| ID |
|
|
101
|
-
|
|
102
|
-
| BR-001 | {
|
|
103
|
-
| BR-002 | {Description} | {
|
|
100
|
+
| ID | Rule | Category | Priority |
|
|
101
|
+
|----|------|----------|----------|
|
|
102
|
+
| BR-001 | {Business rule description} | Validation/Calculation/Workflow | Must/Should/Could |
|
|
103
|
+
| BR-002 | {Description} | {category} | {priority} |
|
|
104
104
|
|
|
105
|
-
### 3.1
|
|
105
|
+
### 3.1 Critical Rules Detail
|
|
106
106
|
|
|
107
|
-
#### BR-001: {
|
|
107
|
+
#### BR-001: {Rule Name}
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
**Statement:** {Precise rule formulation}
|
|
110
110
|
|
|
111
111
|
**Conditions:**
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
112
|
+
- IF {condition A}
|
|
113
|
+
- AND {condition B}
|
|
114
|
+
- THEN {result}
|
|
115
|
+
- ELSE {alternative result}
|
|
116
116
|
|
|
117
|
-
**
|
|
118
|
-
|
|
|
117
|
+
**Examples:**
|
|
118
|
+
| Input | Expected Output |
|
|
119
119
|
|--------|-----------------|
|
|
120
|
-
| {
|
|
121
|
-
| {
|
|
120
|
+
| {example 1} | {result 1} |
|
|
121
|
+
| {example 2} | {result 2} |
|
|
122
122
|
|
|
123
|
-
## 4.
|
|
123
|
+
## 4. Business Process
|
|
124
124
|
|
|
125
|
-
### 4.1
|
|
125
|
+
### 4.1 Main Process
|
|
126
126
|
|
|
127
127
|
```
|
|
128
128
|
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
129
|
-
│
|
|
129
|
+
│ Step 1 │────►│ Step 2 │────►│ Step 3 │
|
|
130
130
|
│ {action} │ │ {action} │ │ {action} │
|
|
131
131
|
└─────────────┘ └─────────────┘ └─────────────┘
|
|
132
132
|
│ │ │
|
|
133
133
|
▼ ▼ ▼
|
|
134
|
-
|
|
134
|
+
{actor} {actor} {actor}
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
### 4.2
|
|
137
|
+
### 4.2 Alternative Flows
|
|
138
138
|
|
|
139
|
-
|
|
|
140
|
-
|
|
141
|
-
| {condition} | {description
|
|
139
|
+
| Trigger | Flow | Result |
|
|
140
|
+
|---------|------|--------|
|
|
141
|
+
| {condition} | {flow description} | {final state} |
|
|
142
142
|
|
|
143
|
-
## 5.
|
|
143
|
+
## 5. Business Data
|
|
144
144
|
|
|
145
|
-
### 5.1
|
|
145
|
+
### 5.1 Main Entities
|
|
146
146
|
|
|
147
|
-
|
|
|
147
|
+
| Entity | Description | Cardinality |
|
|
148
148
|
|--------|-------------|-------------|
|
|
149
|
-
| {
|
|
149
|
+
| {Entity} | {description} | 1:N with {other entity} |
|
|
150
150
|
|
|
151
|
-
### 5.2
|
|
151
|
+
### 5.2 Key Attributes (NO technical types)
|
|
152
152
|
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
| {
|
|
153
|
+
| Entity | Attribute | Description | Required |
|
|
154
|
+
|--------|-----------|-------------|----------|
|
|
155
|
+
| {Entity} | {attribute} | {business description} | Yes/No |
|
|
156
156
|
|
|
157
|
-
## 6.
|
|
157
|
+
## 6. Integrations
|
|
158
158
|
|
|
159
|
-
|
|
|
160
|
-
|
|
161
|
-
| {
|
|
159
|
+
| System | Direction | Data | Frequency |
|
|
160
|
+
|--------|-----------|------|-----------|
|
|
161
|
+
| {system} | Input/Output/Bidirectional | {data} | Real-time/Batch |
|
|
162
162
|
|
|
163
163
|
---
|
|
164
164
|
|
|
165
|
-
##
|
|
165
|
+
## Version History
|
|
166
166
|
|
|
167
|
-
| Version | Date |
|
|
168
|
-
|
|
169
|
-
| 1.0 | {date} | BA |
|
|
167
|
+
| Version | Date | Author | Changes |
|
|
168
|
+
|---------|------|--------|---------|
|
|
169
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
---
|
|
@@ -178,71 +178,71 @@
|
|
|
178
178
|
|
|
179
179
|
> **Module:** business/{application}/{module}
|
|
180
180
|
> **Version:** 1.0
|
|
181
|
-
> **
|
|
181
|
+
> **Based on:** 2-brd.md v1.0
|
|
182
182
|
> **Permission path:** business.{application}.{module}.*
|
|
183
183
|
|
|
184
|
-
## 1.
|
|
184
|
+
## 1. Overview
|
|
185
185
|
|
|
186
|
-
### 1.1
|
|
187
|
-
{Description
|
|
186
|
+
### 1.1 Functional Objective
|
|
187
|
+
{Description of what the system must do}
|
|
188
188
|
|
|
189
|
-
### 1.2
|
|
189
|
+
### 1.2 Actors
|
|
190
190
|
|
|
191
|
-
|
|
|
191
|
+
| Actor | Description | Required Permissions |
|
|
192
192
|
|--------|-------------|---------------------|
|
|
193
|
-
| {
|
|
193
|
+
| {Role} | {description} | `business.{app}.{module}.{action}` |
|
|
194
194
|
|
|
195
|
-
## 2.
|
|
195
|
+
## 2. Use Cases
|
|
196
196
|
|
|
197
|
-
### UC-001: {
|
|
197
|
+
### UC-001: {Use Case Name}
|
|
198
198
|
|
|
199
|
-
|
|
|
199
|
+
| Attribute | Value |
|
|
200
200
|
|----------|--------|
|
|
201
201
|
| **ID** | UC-001 |
|
|
202
|
-
| **
|
|
203
|
-
| **
|
|
204
|
-
| **
|
|
205
|
-
| **Postconditions** | {
|
|
202
|
+
| **Name** | {Name} |
|
|
203
|
+
| **Primary Actor** | {Role} |
|
|
204
|
+
| **Preconditions** | {required conditions} |
|
|
205
|
+
| **Postconditions** | {final state} |
|
|
206
206
|
| **Permission** | `business.{app}.{module}.{action}` |
|
|
207
207
|
|
|
208
|
-
**
|
|
209
|
-
1.
|
|
210
|
-
2.
|
|
211
|
-
3.
|
|
212
|
-
4.
|
|
208
|
+
**Main Scenario:**
|
|
209
|
+
1. The user {action}
|
|
210
|
+
2. The system {response}
|
|
211
|
+
3. The user {action}
|
|
212
|
+
4. The system {response}
|
|
213
213
|
|
|
214
|
-
**
|
|
214
|
+
**Alternative Scenarios:**
|
|
215
215
|
|
|
216
|
-
| # | Condition |
|
|
217
|
-
|
|
216
|
+
| # | Condition | Steps |
|
|
217
|
+
|---|-----------|-------|
|
|
218
218
|
| 3a | {condition} | 3a.1 {action}, 3a.2 {action} |
|
|
219
219
|
|
|
220
|
-
**
|
|
220
|
+
**Error Scenarios:**
|
|
221
221
|
|
|
222
|
-
| # |
|
|
223
|
-
|
|
224
|
-
| E1 | {
|
|
222
|
+
| # | Error | Message | Action |
|
|
223
|
+
|---|-------|---------|--------|
|
|
224
|
+
| E1 | {error} | {user message} | {behavior} |
|
|
225
225
|
|
|
226
|
-
## 3.
|
|
226
|
+
## 3. Functional Requirements
|
|
227
227
|
|
|
228
|
-
| ID |
|
|
229
|
-
|
|
230
|
-
| FR-001 | {
|
|
231
|
-
| FR-002 | {
|
|
228
|
+
| ID | Requirement | Related UC | Priority |
|
|
229
|
+
|----|-------------|------------|----------|
|
|
230
|
+
| FR-001 | {The system MUST...} | UC-001 | Must |
|
|
231
|
+
| FR-002 | {The system SHOULD...} | UC-001 | Should |
|
|
232
232
|
|
|
233
|
-
### 3.1
|
|
233
|
+
### 3.1 Detail FR-001
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
**Statement:** The system MUST {specific action}
|
|
236
236
|
|
|
237
|
-
**
|
|
238
|
-
- [ ] {
|
|
239
|
-
- [ ] {
|
|
237
|
+
**Acceptance Criteria:**
|
|
238
|
+
- [ ] {Measurable criterion 1}
|
|
239
|
+
- [ ] {Measurable criterion 2}
|
|
240
240
|
|
|
241
|
-
**
|
|
241
|
+
**Associated Rules:** BR-001, BR-002
|
|
242
242
|
|
|
243
|
-
## 4. Interface
|
|
243
|
+
## 4. User Interface
|
|
244
244
|
|
|
245
|
-
### 4.1 Wireframe -
|
|
245
|
+
### 4.1 Wireframe - Main Screen
|
|
246
246
|
|
|
247
247
|
```
|
|
248
248
|
┌─────────────────────────────────────────────────────────────┐
|
|
@@ -250,12 +250,12 @@
|
|
|
250
250
|
├─────────────────────────────────────────────────────────────┤
|
|
251
251
|
│ │
|
|
252
252
|
│ ┌─────────────────────────────────────────────────────┐ │
|
|
253
|
-
│ │
|
|
254
|
-
│ │ [
|
|
253
|
+
│ │ FILTER │ │
|
|
254
|
+
│ │ [Field 1 ▼] [Field 2 ▼] [Search] │ │
|
|
255
255
|
│ └─────────────────────────────────────────────────────┘ │
|
|
256
256
|
│ │
|
|
257
257
|
│ ┌─────────────────────────────────────────────────────┐ │
|
|
258
|
-
│ │
|
|
258
|
+
│ │ TABLE │ │
|
|
259
259
|
│ │ ┌────────┬────────┬────────┬─────────┐ │ │
|
|
260
260
|
│ │ │ Col 1 │ Col 2 │ Col 3 │ Actions │ │ │
|
|
261
261
|
│ │ ├────────┼────────┼────────┼─────────┤ │ │
|
|
@@ -263,37 +263,37 @@
|
|
|
263
263
|
│ │ └────────┴────────┴────────┴─────────┘ │ │
|
|
264
264
|
│ └─────────────────────────────────────────────────────┘ │
|
|
265
265
|
│ │
|
|
266
|
-
│ [+
|
|
266
|
+
│ [+ New] [< Prev] [Next >] │
|
|
267
267
|
│ │
|
|
268
268
|
└─────────────────────────────────────────────────────────────┘
|
|
269
269
|
```
|
|
270
270
|
|
|
271
|
-
### 4.2
|
|
271
|
+
### 4.2 UI Element Description
|
|
272
272
|
|
|
273
|
-
|
|
|
274
|
-
|
|
275
|
-
| [+
|
|
276
|
-
| [E] |
|
|
277
|
-
| [D] |
|
|
273
|
+
| Element | Type | Behavior | Permission |
|
|
274
|
+
|---------|------|----------|------------|
|
|
275
|
+
| [+ New] | Button | Opens create modal | `{module}.create` |
|
|
276
|
+
| [E] | Icon | Opens edit modal | `{module}.update` |
|
|
277
|
+
| [D] | Icon | Confirmation + delete | `{module}.delete` |
|
|
278
278
|
|
|
279
|
-
## 5. Validation
|
|
279
|
+
## 5. Validation and Messages
|
|
280
280
|
|
|
281
281
|
### 5.1 Validations
|
|
282
282
|
|
|
283
|
-
|
|
|
284
|
-
|
|
285
|
-
| {
|
|
283
|
+
| Field | Rule | Error Message |
|
|
284
|
+
|-------|------|----------------|
|
|
285
|
+
| {field} | {validation rule} | {message i18n key} |
|
|
286
286
|
|
|
287
|
-
### 5.2 Messages
|
|
287
|
+
### 5.2 System Messages
|
|
288
288
|
|
|
289
|
-
| Code | Type | Message (
|
|
289
|
+
| Code | Type | Message (i18n key) |
|
|
290
290
|
|------|------|-------------------|
|
|
291
291
|
| MSG-001 | Success | `{module}.messages.created` |
|
|
292
292
|
| MSG-002 | Error | `{module}.errors.notFound` |
|
|
293
293
|
|
|
294
|
-
## 6. Permissions
|
|
294
|
+
## 6. Detailed Permissions
|
|
295
295
|
|
|
296
|
-
### 6.1
|
|
296
|
+
### 6.1 Role-Permission Matrix
|
|
297
297
|
|
|
298
298
|
| Permission | Admin | Manager | User | ReadOnly |
|
|
299
299
|
|------------|-------|---------|------|----------|
|
|
@@ -302,16 +302,16 @@
|
|
|
302
302
|
| `business.{app}.{module}.update` | ✅ | ✅ | ❌ | ❌ |
|
|
303
303
|
| `business.{app}.{module}.delete` | ✅ | ❌ | ❌ | ❌ |
|
|
304
304
|
|
|
305
|
-
### 6.2
|
|
305
|
+
### 6.2 Endpoint-Permission Mapping
|
|
306
306
|
|
|
307
|
-
| Endpoint |
|
|
308
|
-
|
|
307
|
+
| Endpoint | Method | Required Permission |
|
|
308
|
+
|----------|--------|-------------------|
|
|
309
309
|
| `/api/business/{module}` | GET | `{module}.read` |
|
|
310
310
|
| `/api/business/{module}` | POST | `{module}.create` |
|
|
311
311
|
| `/api/business/{module}/{id}` | PUT | `{module}.update` |
|
|
312
312
|
| `/api/business/{module}/{id}` | DELETE | `{module}.delete` |
|
|
313
313
|
|
|
314
|
-
## 7.
|
|
314
|
+
## 7. Gherkin Scenarios
|
|
315
315
|
|
|
316
316
|
```gherkin
|
|
317
317
|
Feature: {FEAT-XXX} {Feature Name}
|
|
@@ -336,11 +336,11 @@ Feature: {FEAT-XXX} {Feature Name}
|
|
|
336
336
|
|
|
337
337
|
---
|
|
338
338
|
|
|
339
|
-
##
|
|
339
|
+
## Version History
|
|
340
340
|
|
|
341
|
-
| Version | Date |
|
|
342
|
-
|
|
343
|
-
| 1.0 | {date} | BA |
|
|
341
|
+
| Version | Date | Author | Changes |
|
|
342
|
+
|---------|------|--------|---------|
|
|
343
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
344
344
|
```
|
|
345
345
|
|
|
346
346
|
---
|
|
@@ -352,126 +352,126 @@ Feature: {FEAT-XXX} {Feature Name}
|
|
|
352
352
|
|
|
353
353
|
> **Module:** business/{application}/{module}
|
|
354
354
|
> **Version:** 1.0
|
|
355
|
-
> **Specs
|
|
356
|
-
> **
|
|
355
|
+
> **Validated Specs:** FRD v1.0 (validation.json)
|
|
356
|
+
> **Implementation:** `/implement FEAT-XXX`
|
|
357
357
|
|
|
358
|
-
## INSTRUCTIONS
|
|
358
|
+
## DEVELOPER INSTRUCTIONS
|
|
359
359
|
|
|
360
|
-
|
|
360
|
+
This document is a self-contained prompt for Claude Code. Execute:
|
|
361
361
|
```
|
|
362
362
|
/implement FEAT-XXX
|
|
363
363
|
```
|
|
364
364
|
|
|
365
365
|
---
|
|
366
366
|
|
|
367
|
-
## 1.
|
|
367
|
+
## 1. QUICK CONTEXT
|
|
368
368
|
|
|
369
|
-
|
|
|
369
|
+
| Attribute | Value |
|
|
370
370
|
|----------|--------|
|
|
371
371
|
| Feature ID | FEAT-XXX |
|
|
372
372
|
| Module | business/{application}/{module} |
|
|
373
|
-
| Permission
|
|
374
|
-
|
|
|
373
|
+
| Base Permission | `business.{app}.{module}` |
|
|
374
|
+
| Complexity | {Simple/Medium/Complex} |
|
|
375
375
|
|
|
376
|
-
## 2. [EXPLORE] PATTERNS
|
|
376
|
+
## 2. [EXPLORE] EXISTING PATTERNS
|
|
377
377
|
|
|
378
|
-
|
|
378
|
+
BEFORE coding, explore these files to understand the patterns:
|
|
379
379
|
|
|
380
380
|
```
|
|
381
381
|
BACKEND:
|
|
382
|
-
- src/SmartStack.Domain/Entities/ →
|
|
383
|
-
- src/SmartStack.Application/Features/ →
|
|
382
|
+
- src/SmartStack.Domain/Entities/ → Entity structure
|
|
383
|
+
- src/SmartStack.Application/Features/ → CQRS pattern
|
|
384
384
|
- src/SmartStack.Infrastructure/Persistence/Configurations/ → EF Core
|
|
385
385
|
|
|
386
386
|
FRONTEND:
|
|
387
|
-
- web/smartstack-web/src/pages/business/ →
|
|
388
|
-
- web/smartstack-web/src/components/ →
|
|
389
|
-
- web/smartstack-web/src/services/api/ →
|
|
387
|
+
- web/smartstack-web/src/pages/business/ → Existing pages
|
|
388
|
+
- web/smartstack-web/src/components/ → Reusable components
|
|
389
|
+
- web/smartstack-web/src/services/api/ → API calls
|
|
390
390
|
```
|
|
391
391
|
|
|
392
|
-
## 3.
|
|
392
|
+
## 3. FILES TO CREATE
|
|
393
393
|
|
|
394
394
|
### 3.1 Backend
|
|
395
395
|
|
|
396
|
-
|
|
|
397
|
-
|
|
398
|
-
| `Domain/Entities/{Entity}.cs` |
|
|
399
|
-
| `Application/Features/{Module}/` | CQRS Commands/Queries |
|
|
400
|
-
| `Infrastructure/.../Configurations/` | EF Core Config |
|
|
401
|
-
| `Api/Controllers/Business/` | Controller
|
|
396
|
+
| File | Template | Description |
|
|
397
|
+
|------|----------|-------------|
|
|
398
|
+
| `Domain/Entities/{Entity}.cs` | Domain Entity | Properties + business rules |
|
|
399
|
+
| `Application/Features/{Module}/` | CQRS Commands/Queries | MediatR handlers |
|
|
400
|
+
| `Infrastructure/.../Configurations/` | EF Core Config | Config + HasData |
|
|
401
|
+
| `Api/Controllers/Business/` | API Controller | REST endpoints |
|
|
402
402
|
|
|
403
403
|
### 3.2 Frontend
|
|
404
404
|
|
|
405
|
-
|
|
|
406
|
-
|
|
407
|
-
| `pages/business/{app}/{module}/` | Page
|
|
408
|
-
| `services/api/{module}Api.ts` | Service
|
|
409
|
-
| `i18n/locales/{lang}/{module}.json` |
|
|
405
|
+
| File | Template | Description |
|
|
406
|
+
|------|----------|-------------|
|
|
407
|
+
| `pages/business/{app}/{module}/` | React Page | List + detail |
|
|
408
|
+
| `services/api/{module}Api.ts` | API Service | Axios calls |
|
|
409
|
+
| `i18n/locales/{lang}/{module}.json` | Translations | FR, EN, IT, DE |
|
|
410
410
|
|
|
411
|
-
## 4.
|
|
411
|
+
## 4. DETAILED SPECIFICATIONS
|
|
412
412
|
|
|
413
|
-
### 4.1
|
|
413
|
+
### 4.1 Entity (business attributes, not C# types)
|
|
414
414
|
|
|
415
|
-
|
|
|
416
|
-
|
|
417
|
-
| Id |
|
|
418
|
-
| {attr} | {description} | {
|
|
415
|
+
| Attribute | Description | Required | Rules |
|
|
416
|
+
|-----------|-------------|----------|-------|
|
|
417
|
+
| Id | Unique identifier | Yes | Random GUID |
|
|
418
|
+
| {attr} | {description} | {Yes/No} | {validation} |
|
|
419
419
|
|
|
420
|
-
### 4.2 Endpoints
|
|
420
|
+
### 4.2 API Endpoints
|
|
421
421
|
|
|
422
|
-
| Endpoint |
|
|
423
|
-
|
|
424
|
-
| `/api/business/{module}` | GET | `.read` | - |
|
|
425
|
-
| `/api/business/{module}` | POST | `.create` | CreateDto | 201 +
|
|
426
|
-
| `/api/business/{module}/{id}` | GET | `.read` | - |
|
|
427
|
-
| `/api/business/{module}/{id}` | PUT | `.update` | UpdateDto | 200 +
|
|
422
|
+
| Endpoint | Method | Permission | Body | Response |
|
|
423
|
+
|----------|--------|------------|------|----------|
|
|
424
|
+
| `/api/business/{module}` | GET | `.read` | - | Paginated list |
|
|
425
|
+
| `/api/business/{module}` | POST | `.create` | CreateDto | 201 + entity |
|
|
426
|
+
| `/api/business/{module}/{id}` | GET | `.read` | - | Entity |
|
|
427
|
+
| `/api/business/{module}/{id}` | PUT | `.update` | UpdateDto | 200 + entity |
|
|
428
428
|
| `/api/business/{module}/{id}` | DELETE | `.delete` | - | 204 |
|
|
429
429
|
|
|
430
|
-
### 4.3
|
|
430
|
+
### 4.3 Business Rules to Implement
|
|
431
431
|
|
|
432
|
-
| BR-ID |
|
|
433
|
-
|
|
434
|
-
| BR-001 | {
|
|
432
|
+
| BR-ID | Rule | Implementation |
|
|
433
|
+
|-------|------|----------------|
|
|
434
|
+
| BR-001 | {rule} | {where to implement} |
|
|
435
435
|
|
|
436
|
-
## 5. TESTS
|
|
436
|
+
## 5. REQUIRED TESTS
|
|
437
437
|
|
|
438
|
-
- [ ]
|
|
439
|
-
- [ ]
|
|
440
|
-
- [ ]
|
|
441
|
-
- [ ]
|
|
438
|
+
- [ ] Unit test: Entity validation
|
|
439
|
+
- [ ] Integration test: API endpoints (200, 201, 400, 403, 404)
|
|
440
|
+
- [ ] Permission test: 403 denial without permission
|
|
441
|
+
- [ ] Postman test: Collection generated
|
|
442
442
|
|
|
443
|
-
## 6.
|
|
443
|
+
## 6. POST-IMPLEMENTATION CHECKLIST
|
|
444
444
|
|
|
445
|
-
- [ ]
|
|
446
|
-
- [ ]
|
|
447
|
-
- [ ] Tests
|
|
448
|
-
- [ ]
|
|
449
|
-
- [ ] Permissions
|
|
450
|
-
- [ ] i18n
|
|
451
|
-
- [ ] Documentation
|
|
445
|
+
- [ ] Backend build OK
|
|
446
|
+
- [ ] Frontend build OK
|
|
447
|
+
- [ ] Tests passing
|
|
448
|
+
- [ ] EF Core migration created if entity
|
|
449
|
+
- [ ] Permissions added in PermissionConfiguration.cs
|
|
450
|
+
- [ ] i18n complete (4 languages)
|
|
451
|
+
- [ ] Documentation generated: `/business-analyse:7-doc-html FEAT-XXX`
|
|
452
452
|
|
|
453
453
|
---
|
|
454
454
|
|
|
455
|
-
##
|
|
455
|
+
## EXECUTION
|
|
456
456
|
|
|
457
457
|
```bash
|
|
458
458
|
/implement FEAT-XXX
|
|
459
459
|
```
|
|
460
460
|
|
|
461
461
|
Options:
|
|
462
|
-
- `--phase=1` : Backend
|
|
463
|
-
- `--phase=2` : Frontend
|
|
464
|
-
- `--phase=3` : Tests
|
|
465
|
-
- `--phase=4` : Documentation
|
|
462
|
+
- `--phase=1` : Backend only
|
|
463
|
+
- `--phase=2` : Frontend only
|
|
464
|
+
- `--phase=3` : Tests only
|
|
465
|
+
- `--phase=4` : Documentation only
|
|
466
466
|
```
|
|
467
467
|
|
|
468
468
|
---
|
|
469
469
|
|
|
470
|
-
## Validation
|
|
470
|
+
## Template Validation
|
|
471
471
|
|
|
472
|
-
|
|
473
|
-
- [ ]
|
|
474
|
-
- [ ]
|
|
475
|
-
- [ ]
|
|
476
|
-
- [ ]
|
|
477
|
-
- [ ]
|
|
472
|
+
Each template MUST:
|
|
473
|
+
- [ ] Be pure Markdown (no technical code)
|
|
474
|
+
- [ ] Use tables for structured data
|
|
475
|
+
- [ ] Include permissions with full path
|
|
476
|
+
- [ ] Have version history
|
|
477
|
+
- [ ] Reference BR/FR/UC with unique IDs
|