@atlashub/smartstack-cli 2.1.0 → 2.3.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/business-analyse.html +1503 -1058
- package/dist/index.js +92 -55
- package/dist/index.js.map +1 -1
- package/package.json +10 -7
- 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/03-scope.md +7 -7
- 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/12-migration.md +1 -1
- 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 +474 -107
- package/templates/skills/business-analyse/schemas/feature-schema.json +860 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +395 -285
- package/templates/skills/business-analyse/steps/step-01-analyse.md +523 -0
- package/templates/skills/business-analyse/steps/step-02-specify.md +899 -0
- package/templates/skills/business-analyse/steps/step-03-validate.md +1009 -0
- package/templates/skills/business-analyse/steps/step-04-handoff.md +1802 -0
- package/templates/skills/business-analyse/templates/tpl-handoff.md +49 -64
- 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,15 +79,17 @@ 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
|
+
> **Source:** `feature.json.specification.seedDataCore` (generated in step-02)
|
|
91
|
+
> **5 mandatory files** for every new module (4 EF Core HasData + 1 Application code).
|
|
92
|
+
> Derive content EXACTLY from `specification.seedDataCore` sections (navigationModules, navigationTranslations, permissions, rolePermissions, permissionConstants).
|
|
88
93
|
|
|
89
94
|
| # | File | Layer | Content |
|
|
90
95
|
|---|------|-------|---------|
|
|
@@ -92,7 +97,7 @@ FRONTEND:
|
|
|
92
97
|
| 2 | `NavigationTranslationConfiguration.cs` | Infrastructure (HasData) | 4 translations (fr, en, it, de) per nav entity |
|
|
93
98
|
| 3 | `PermissionConfiguration.cs` | Infrastructure (HasData) | Wildcard + CRUD permissions in `nav_Permissions` |
|
|
94
99
|
| 4 | `Permissions.cs` | Application (code) | Compile-time constants for `[RequirePermission]` |
|
|
95
|
-
| 5 | `RolePermissionConfiguration.cs` | Infrastructure (HasData) | Role
|
|
100
|
+
| 5 | `RolePermissionConfiguration.cs` | Infrastructure (HasData) | Role->Permission for {App} Admin, {App} Manager, {App} Contributor, {App} Viewer |
|
|
96
101
|
|
|
97
102
|
### 3.3 Frontend
|
|
98
103
|
|
|
@@ -105,58 +110,39 @@ FRONTEND:
|
|
|
105
110
|
|
|
106
111
|
## 4. DETAILED SPECIFICATIONS
|
|
107
112
|
|
|
113
|
+
> **Source:** Read from feature.json sections: `analysis.entities[]`, `specification.apiEndpoints[]`, `analysis.businessRules[]`, `specification.navigation`, `specification.permissionMatrix`
|
|
114
|
+
|
|
108
115
|
### 4.1 Entity
|
|
109
116
|
|
|
110
117
|
**Base class:** `BaseEntity` + `IAuditableEntity`
|
|
111
|
-
**Table name:** `{prefix}_{EntityPlural}` in schema `extensions`
|
|
118
|
+
**Table name:** `{prefix}_{EntityPlural}` in schema `extensions`
|
|
112
119
|
**Schema:** `extensions` for business entities, `core` for system entities (navigation, permissions)
|
|
113
|
-
> DO NOT add Id, TenantId, CreatedAt, UpdatedAt, CreatedBy, UpdatedBy
|
|
120
|
+
> DO NOT add Id, TenantId, CreatedAt, UpdatedAt, CreatedBy, UpdatedBy -- these are automatic via BaseEntity + IAuditableEntity.
|
|
114
121
|
|
|
115
|
-
|
|
116
|
-
|-----------|-------------|----------|-------|
|
|
117
|
-
| Code | Unique code per tenant | Yes | MaxLength(50), unique index with TenantId |
|
|
118
|
-
| {attr} | {description} | {Yes/No} | {validation} |
|
|
122
|
+
Attributes from: `feature.analysis.entities[].attributes[]`
|
|
119
123
|
|
|
120
124
|
### 4.2 API Endpoints
|
|
121
125
|
|
|
122
|
-
|
|
123
|
-
|----------|--------|------------|------|----------|
|
|
124
|
-
| `/api/business/{module}` | GET | `.read` | - | List |
|
|
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 |
|
|
126
|
+
From: `feature.specification.apiEndpoints[]`
|
|
129
127
|
|
|
130
|
-
### 4.3 Business Rules
|
|
128
|
+
### 4.3 Business Rules -> Code
|
|
129
|
+
|
|
130
|
+
From: `feature.handoff.brToCodeMapping[]`
|
|
131
131
|
|
|
132
132
|
| BR-ID | Rule | Implementation |
|
|
133
133
|
|-------|------|----------------|
|
|
134
|
-
|
|
|
134
|
+
| {id} | {rule from analysis.businessRules[]} | {implementation from handoff.brToCodeMapping[]} |
|
|
135
135
|
|
|
136
136
|
### 4.4 SeedData Specifications
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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 | - | - | - | - |
|
|
138
|
+
From: `feature.specification.seedDataCore` (5 core files), `feature.specification.navigation` and `feature.specification.permissionMatrix`
|
|
139
|
+
|
|
140
|
+
> **IMPORTANT :** Les données des 5 fichiers SeedData Core doivent être dérivées de `specification.seedDataCore` :
|
|
141
|
+
> - `navigationModules` → NavigationModuleConfiguration.cs
|
|
142
|
+
> - `navigationTranslations` → NavigationTranslationConfiguration.cs
|
|
143
|
+
> - `permissions` → PermissionConfiguration.cs (format complet : `business.{app}.{module}.{resource}.{action}`)
|
|
144
|
+
> - `rolePermissions` → RolePermissionConfiguration.cs
|
|
145
|
+
> - `permissionConstants` → Permissions.cs (PascalCase constants)
|
|
160
146
|
|
|
161
147
|
## 5. REQUIRED TESTS
|
|
162
148
|
|
|
@@ -190,7 +176,6 @@ FRONTEND:
|
|
|
190
176
|
**Frontend & i18n:**
|
|
191
177
|
- [ ] i18n complete (4 languages)
|
|
192
178
|
- [ ] Nested routes (NOT flat)
|
|
193
|
-
- [ ] Documentation: `/business-analyse:6-doc-html {FEAT-XXX}`
|
|
194
179
|
|
|
195
180
|
---
|
|
196
181
|
|