@atlashub/smartstack-cli 2.1.0 → 2.2.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/dist/index.js +18 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/ba-reader.md +250 -0
- package/templates/agents/ba-writer.md +210 -0
- package/templates/agents/docs-context-reader.md +51 -33
- package/templates/skills/_shared.md +2 -0
- package/templates/skills/business-analyse/SKILL.md +120 -108
- package/templates/skills/business-analyse/_shared.md +136 -146
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +478 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +3 -15
- package/templates/skills/business-analyse/questionnaire/08-performance.md +7 -21
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -13
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -13
- package/templates/skills/business-analyse/questionnaire.md +72 -76
- package/templates/skills/business-analyse/react/components.md +317 -154
- package/templates/skills/business-analyse/react/i18n-template.md +167 -106
- package/templates/skills/business-analyse/react/schema.md +325 -106
- package/templates/skills/business-analyse/schemas/feature-schema.json +690 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +395 -285
- package/templates/skills/business-analyse/steps/step-01-analyse.md +505 -0
- package/templates/skills/business-analyse/steps/step-02-specify.md +833 -0
- package/templates/skills/business-analyse/steps/step-03-validate.md +862 -0
- package/templates/skills/business-analyse/steps/step-04-handoff.md +1593 -0
- package/templates/skills/business-analyse/templates/tpl-handoff.md +39 -63
- package/templates/skills/business-analyse/steps/step-01-discover.md +0 -737
- package/templates/skills/business-analyse/steps/step-02-analyse.md +0 -299
- package/templates/skills/business-analyse/steps/step-03-specify.md +0 -472
- package/templates/skills/business-analyse/steps/step-04-validate.md +0 -335
- package/templates/skills/business-analyse/steps/step-05-handoff.md +0 -741
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +0 -320
- package/templates/skills/business-analyse/templates/00-context.md +0 -105
- package/templates/skills/business-analyse/templates/tpl-brd.md +0 -97
- package/templates/skills/business-analyse/templates/tpl-discovery.md +0 -78
- package/templates/skills/business-analyse/tracking/change-template.md +0 -30
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Template Development Handoff
|
|
2
2
|
|
|
3
|
-
> **Usage:** Template for
|
|
4
|
-
> **
|
|
3
|
+
> **Usage:** Template for step-04-handoff.md
|
|
4
|
+
> **Data source:** feature.json (sections: metadata, analysis, specification, handoff)
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
# Development Handoff - {FEAT-XXX} {Feature Name}
|
|
10
10
|
|
|
11
11
|
> **Module:** business/{application}/{module}
|
|
12
|
-
> **Version:**
|
|
13
|
-
> **Validated Specs:**
|
|
12
|
+
> **Version:** {version}
|
|
13
|
+
> **Validated Specs:** feature.json (validation.decision = APPROVED)
|
|
14
|
+
> **Source:** `docs/business/{app}/{module}/business-analyse/v{version}/feature.json`
|
|
14
15
|
> **Implementation:** `/ralph-loop -r` (iterative) | `/feature-full business/{app}/{module}` (one-shot)
|
|
15
16
|
|
|
16
17
|
## DEVELOPER INSTRUCTIONS
|
|
@@ -34,13 +35,13 @@ This document is a self-contained prompt for Claude Code.
|
|
|
34
35
|
|
|
35
36
|
| Attribute | Value |
|
|
36
37
|
|----------|--------|
|
|
37
|
-
| Feature ID | {
|
|
38
|
-
| Module | business/{application}/{module} |
|
|
38
|
+
| Feature ID | {feature.id} |
|
|
39
|
+
| Module | business/{feature.metadata.application}/{feature.metadata.module} |
|
|
39
40
|
| Base Permission | `business.{app}.{module}` |
|
|
40
|
-
| Project Namespace |
|
|
41
|
+
| Project Namespace | {feature.metadata.projectNamespace} |
|
|
41
42
|
| DB Schema | `extensions` (client entities) / `core` (navigation, permissions) |
|
|
42
|
-
| Table Prefix | `{prefix}_`
|
|
43
|
-
| Complexity | {
|
|
43
|
+
| Table Prefix | `{prefix}_` |
|
|
44
|
+
| Complexity | {feature.handoff.complexity} |
|
|
44
45
|
|
|
45
46
|
## 2. [EXPLORE] EXISTING PATTERNS
|
|
46
47
|
|
|
@@ -48,27 +49,29 @@ BEFORE coding, explore these files to understand the patterns:
|
|
|
48
49
|
|
|
49
50
|
```
|
|
50
51
|
BACKEND:
|
|
51
|
-
- src/{project_namespace}.Domain/Business/
|
|
52
|
-
- src/{project_namespace}.Application/Business/
|
|
53
|
-
- src/{project_namespace}.Application/Common/Interfaces/
|
|
54
|
-
- src/{project_namespace}.Infrastructure/Persistence/Configurations/
|
|
55
|
-
- src/{project_namespace}.Infrastructure/Services/
|
|
56
|
-
- src/{project_namespace}.Infrastructure/Persistence/Seeding/Data/
|
|
52
|
+
- src/{project_namespace}.Domain/Business/ -> Entity structure + folder hierarchy
|
|
53
|
+
- src/{project_namespace}.Application/Business/ -> DTOs + service interfaces
|
|
54
|
+
- src/{project_namespace}.Application/Common/Interfaces/ -> Service contracts
|
|
55
|
+
- src/{project_namespace}.Infrastructure/Persistence/Configurations/ -> EF Core configs (subfolder per module)
|
|
56
|
+
- src/{project_namespace}.Infrastructure/Services/ -> Service implementations (subfolder per module)
|
|
57
|
+
- src/{project_namespace}.Infrastructure/Persistence/Seeding/Data/ -> SeedData patterns
|
|
57
58
|
|
|
58
59
|
SEED DATA (CRITICAL):
|
|
59
|
-
- NavigationModuleConfiguration.cs
|
|
60
|
-
- NavigationTranslationConfiguration.cs
|
|
61
|
-
- PermissionConfiguration.cs
|
|
62
|
-
- RolePermissionConfiguration.cs
|
|
60
|
+
- NavigationModuleConfiguration.cs -> How modules are seeded (HasData)
|
|
61
|
+
- NavigationTranslationConfiguration.cs -> How translations are seeded (4 languages)
|
|
62
|
+
- PermissionConfiguration.cs -> How permissions are seeded (HasData)
|
|
63
|
+
- RolePermissionConfiguration.cs -> How role-permission mappings are seeded
|
|
63
64
|
|
|
64
65
|
FRONTEND:
|
|
65
|
-
- web/src/pages/business/
|
|
66
|
-
- web/src/components/
|
|
67
|
-
- web/src/services/api/
|
|
66
|
+
- web/src/pages/business/ -> Existing pages
|
|
67
|
+
- web/src/components/ -> Reusable components
|
|
68
|
+
- web/src/services/api/ -> API calls
|
|
68
69
|
```
|
|
69
70
|
|
|
70
71
|
## 3. FILES TO CREATE
|
|
71
72
|
|
|
73
|
+
> **Source:** `feature.handoff.filesToCreate[]` in feature.json
|
|
74
|
+
|
|
72
75
|
### 3.1 Backend
|
|
73
76
|
|
|
74
77
|
| File | Path Pattern | Description |
|
|
@@ -76,13 +79,13 @@ FRONTEND:
|
|
|
76
79
|
| Domain Entity | `Domain/Business/{Application}/{Module}/{Entity}.cs` | BaseEntity + IAuditableEntity |
|
|
77
80
|
| Service Interface | `Application/Common/Interfaces/I{Entity}Service.cs` | Service contract |
|
|
78
81
|
| DTOs | `Application/Business/{Application}/{Module}/DTOs/{Entity}Dto.cs` | Response, Create, Update records |
|
|
79
|
-
| Mapping | `Application/Business/{Application}/{Module}/DTOs/{Entity}MappingExtensions.cs` | Entity
|
|
82
|
+
| Mapping | `Application/Business/{Application}/{Module}/DTOs/{Entity}MappingExtensions.cs` | Entity <-> DTO mapping |
|
|
80
83
|
| Permission Constants | `Application/Business/{Application}/{Module}/Permissions.cs` | Compile-time constants |
|
|
81
84
|
| EF Configuration | `Infrastructure/Persistence/Configurations/{Module}/{Entity}Configuration.cs` | Table + indexes + HasData |
|
|
82
85
|
| Service Implementation | `Infrastructure/Services/{Module}/{Entity}Service.cs` | Business logic |
|
|
83
86
|
| Controller | `Api/Controllers/Business/{Application}/{Module}Controller.cs` | NavRoute + RequirePermission |
|
|
84
87
|
|
|
85
|
-
### 3.2 SeedData Core (CRITICAL
|
|
88
|
+
### 3.2 SeedData Core (CRITICAL -- without these, module is invisible and returns 403)
|
|
86
89
|
|
|
87
90
|
> **5 mandatory files** for every new module (4 EF Core HasData + 1 Application code):
|
|
88
91
|
|
|
@@ -92,7 +95,7 @@ FRONTEND:
|
|
|
92
95
|
| 2 | `NavigationTranslationConfiguration.cs` | Infrastructure (HasData) | 4 translations (fr, en, it, de) per nav entity |
|
|
93
96
|
| 3 | `PermissionConfiguration.cs` | Infrastructure (HasData) | Wildcard + CRUD permissions in `nav_Permissions` |
|
|
94
97
|
| 4 | `Permissions.cs` | Application (code) | Compile-time constants for `[RequirePermission]` |
|
|
95
|
-
| 5 | `RolePermissionConfiguration.cs` | Infrastructure (HasData) | Role
|
|
98
|
+
| 5 | `RolePermissionConfiguration.cs` | Infrastructure (HasData) | Role->Permission for {App} Admin, {App} Manager, {App} Contributor, {App} Viewer |
|
|
96
99
|
|
|
97
100
|
### 3.3 Frontend
|
|
98
101
|
|
|
@@ -105,58 +108,32 @@ FRONTEND:
|
|
|
105
108
|
|
|
106
109
|
## 4. DETAILED SPECIFICATIONS
|
|
107
110
|
|
|
111
|
+
> **Source:** Read from feature.json sections: `analysis.entities[]`, `specification.apiEndpoints[]`, `analysis.businessRules[]`, `specification.navigation`, `specification.permissionMatrix`
|
|
112
|
+
|
|
108
113
|
### 4.1 Entity
|
|
109
114
|
|
|
110
115
|
**Base class:** `BaseEntity` + `IAuditableEntity`
|
|
111
|
-
**Table name:** `{prefix}_{EntityPlural}` in schema `extensions`
|
|
116
|
+
**Table name:** `{prefix}_{EntityPlural}` in schema `extensions`
|
|
112
117
|
**Schema:** `extensions` for business entities, `core` for system entities (navigation, permissions)
|
|
113
|
-
> DO NOT add Id, TenantId, CreatedAt, UpdatedAt, CreatedBy, UpdatedBy
|
|
118
|
+
> DO NOT add Id, TenantId, CreatedAt, UpdatedAt, CreatedBy, UpdatedBy -- these are automatic via BaseEntity + IAuditableEntity.
|
|
114
119
|
|
|
115
|
-
|
|
116
|
-
|-----------|-------------|----------|-------|
|
|
117
|
-
| Code | Unique code per tenant | Yes | MaxLength(50), unique index with TenantId |
|
|
118
|
-
| {attr} | {description} | {Yes/No} | {validation} |
|
|
120
|
+
Attributes from: `feature.analysis.entities[].attributes[]`
|
|
119
121
|
|
|
120
122
|
### 4.2 API Endpoints
|
|
121
123
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| `/api/business/{module}` | POST | `.create` | CreateDto | 201 |
|
|
126
|
-
| `/api/business/{module}/{id}` | GET | `.read` | - | Entity |
|
|
127
|
-
| `/api/business/{module}/{id}` | PUT | `.update` | UpdateDto | 200 |
|
|
128
|
-
| `/api/business/{module}/{id}` | DELETE | `.delete` | - | 204 |
|
|
124
|
+
From: `feature.specification.apiEndpoints[]`
|
|
125
|
+
|
|
126
|
+
### 4.3 Business Rules -> Code
|
|
129
127
|
|
|
130
|
-
|
|
128
|
+
From: `feature.handoff.brToCodeMapping[]`
|
|
131
129
|
|
|
132
130
|
| BR-ID | Rule | Implementation |
|
|
133
131
|
|-------|------|----------------|
|
|
134
|
-
|
|
|
132
|
+
| {id} | {rule from analysis.businessRules[]} | {implementation from handoff.brToCodeMapping[]} |
|
|
135
133
|
|
|
136
134
|
### 4.4 SeedData Specifications
|
|
137
135
|
|
|
138
|
-
|
|
139
|
-
| Level | Code | Label FR | Label EN | Label IT | Label DE | Icon | Route |
|
|
140
|
-
|-------|------|----------|----------|----------|----------|------|-------|
|
|
141
|
-
| Module | {module} | {label_fr} | {label_en} | {label_it} | {label_de} | {Icon} | /business/{app}/{module} |
|
|
142
|
-
|
|
143
|
-
**Permission seeds:**
|
|
144
|
-
| Path | Level | Action | Description |
|
|
145
|
-
|------|-------|--------|-------------|
|
|
146
|
-
| business.{app}.{module}.* | Module | Wildcard | Full access |
|
|
147
|
-
| business.{app}.{module}.read | Module | Read | View |
|
|
148
|
-
| business.{app}.{module}.create | Module | Create | Create |
|
|
149
|
-
| business.{app}.{module}.update | Module | Update | Modify |
|
|
150
|
-
| business.{app}.{module}.delete | Module | Delete | Remove |
|
|
151
|
-
|
|
152
|
-
**Role-Permission matrix:**
|
|
153
|
-
| Permission | {App} Admin | {App} Manager | {App} Contributor | {App} Viewer |
|
|
154
|
-
|------------|-------------|---------------|-------------------|--------------|
|
|
155
|
-
| wildcard (*) | X | - | - | - |
|
|
156
|
-
| read | - | X | X | X |
|
|
157
|
-
| create | - | X | X | - |
|
|
158
|
-
| update | - | X | X | - |
|
|
159
|
-
| delete | - | - | - | - |
|
|
136
|
+
From: `feature.specification.navigation` and `feature.specification.permissionMatrix`
|
|
160
137
|
|
|
161
138
|
## 5. REQUIRED TESTS
|
|
162
139
|
|
|
@@ -190,7 +167,6 @@ FRONTEND:
|
|
|
190
167
|
**Frontend & i18n:**
|
|
191
168
|
- [ ] i18n complete (4 languages)
|
|
192
169
|
- [ ] Nested routes (NOT flat)
|
|
193
|
-
- [ ] Documentation: `/business-analyse:6-doc-html {FEAT-XXX}`
|
|
194
170
|
|
|
195
171
|
---
|
|
196
172
|
|