@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.
Files changed (38) hide show
  1. package/.documentation/business-analyse.html +1503 -1058
  2. package/dist/index.js +92 -55
  3. package/dist/index.js.map +1 -1
  4. package/package.json +10 -7
  5. package/templates/agents/ba-reader.md +250 -0
  6. package/templates/agents/ba-writer.md +210 -0
  7. package/templates/agents/docs-context-reader.md +51 -33
  8. package/templates/skills/_shared.md +2 -0
  9. package/templates/skills/business-analyse/SKILL.md +120 -108
  10. package/templates/skills/business-analyse/_shared.md +136 -146
  11. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +478 -0
  12. package/templates/skills/business-analyse/questionnaire/01-context.md +3 -15
  13. package/templates/skills/business-analyse/questionnaire/03-scope.md +7 -7
  14. package/templates/skills/business-analyse/questionnaire/08-performance.md +7 -21
  15. package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -13
  16. package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -13
  17. package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
  18. package/templates/skills/business-analyse/questionnaire.md +72 -76
  19. package/templates/skills/business-analyse/react/components.md +317 -154
  20. package/templates/skills/business-analyse/react/i18n-template.md +167 -106
  21. package/templates/skills/business-analyse/react/schema.md +474 -107
  22. package/templates/skills/business-analyse/schemas/feature-schema.json +860 -0
  23. package/templates/skills/business-analyse/steps/step-00-init.md +395 -285
  24. package/templates/skills/business-analyse/steps/step-01-analyse.md +523 -0
  25. package/templates/skills/business-analyse/steps/step-02-specify.md +899 -0
  26. package/templates/skills/business-analyse/steps/step-03-validate.md +1009 -0
  27. package/templates/skills/business-analyse/steps/step-04-handoff.md +1802 -0
  28. package/templates/skills/business-analyse/templates/tpl-handoff.md +49 -64
  29. package/templates/skills/business-analyse/steps/step-01-discover.md +0 -737
  30. package/templates/skills/business-analyse/steps/step-02-analyse.md +0 -299
  31. package/templates/skills/business-analyse/steps/step-03-specify.md +0 -472
  32. package/templates/skills/business-analyse/steps/step-04-validate.md +0 -335
  33. package/templates/skills/business-analyse/steps/step-05-handoff.md +0 -741
  34. package/templates/skills/business-analyse/steps/step-06-doc-html.md +0 -320
  35. package/templates/skills/business-analyse/templates/00-context.md +0 -105
  36. package/templates/skills/business-analyse/templates/tpl-brd.md +0 -97
  37. package/templates/skills/business-analyse/templates/tpl-discovery.md +0 -78
  38. 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-development-handoff.md
4
- > **Loaded in:** step-05-handoff.md
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:** 1.0
13
- > **Validated Specs:** FRD v1.0 (validation.json)
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 | {FEAT-XXX} |
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 | `{project_namespace}` |
41
+ | Project Namespace | {feature.metadata.projectNamespace} |
41
42
  | DB Schema | `extensions` (client entities) / `core` (navigation, permissions) |
42
- | Table Prefix | `{prefix}_` (e.g., `bik_`) |
43
- | Complexity | {Simple/Medium/Complex} |
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/ Entity structure + folder hierarchy
52
- - src/{project_namespace}.Application/Business/ DTOs + service interfaces
53
- - src/{project_namespace}.Application/Common/Interfaces/ Service contracts
54
- - src/{project_namespace}.Infrastructure/Persistence/Configurations/ EF Core configs (subfolder per module)
55
- - src/{project_namespace}.Infrastructure/Services/ Service implementations (subfolder per module)
56
- - src/{project_namespace}.Infrastructure/Persistence/Seeding/Data/ SeedData patterns
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 How modules are seeded (HasData)
60
- - NavigationTranslationConfiguration.cs How translations are seeded (4 languages)
61
- - PermissionConfiguration.cs How permissions are seeded (HasData)
62
- - RolePermissionConfiguration.cs How role-permission mappings are seeded
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/ Existing pages
66
- - web/src/components/ Reusable components
67
- - web/src/services/api/ API calls
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 DTO mapping |
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 without these, module is invisible and returns 403)
88
+ ### 3.2 SeedData Core (CRITICAL -- without these, module is invisible and returns 403)
86
89
 
87
- > **5 mandatory files** for every new module (4 EF Core HasData + 1 Application code):
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) | RolePermission for {App} Admin, {App} Manager, {App} Contributor, {App} Viewer |
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` (e.g., `extensions.bik_FreeBickes`)
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 these are automatic via BaseEntity + IAuditableEntity.
120
+ > DO NOT add Id, TenantId, CreatedAt, UpdatedAt, CreatedBy, UpdatedBy -- these are automatic via BaseEntity + IAuditableEntity.
114
121
 
115
- | Attribute | Description | Required | Rules |
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
- | Endpoint | Method | Permission | Body | Response |
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 Code
128
+ ### 4.3 Business Rules -> Code
129
+
130
+ From: `feature.handoff.brToCodeMapping[]`
131
131
 
132
132
  | BR-ID | Rule | Implementation |
133
133
  |-------|------|----------------|
134
- | BR-001 | {rule} | {where to implement} |
134
+ | {id} | {rule from analysis.businessRules[]} | {implementation from handoff.brToCodeMapping[]} |
135
135
 
136
136
  ### 4.4 SeedData Specifications
137
137
 
138
- **Navigation seeds:**
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 | - | - | - | - |
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