@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,14 +1,14 @@
|
|
|
1
1
|
# Templates DB Seed - Application Skill
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> These templates generate EF Core seeds for navigation entities and their translations.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## GUID GENERATION RULES
|
|
8
8
|
|
|
9
9
|
```csharp
|
|
10
|
-
//
|
|
11
|
-
//
|
|
10
|
+
// NEVER generate sequential GUIDs with NewGuid()
|
|
11
|
+
// ALWAYS use the deterministic method
|
|
12
12
|
|
|
13
13
|
private static Guid GenerateGuid(int index)
|
|
14
14
|
{
|
|
@@ -16,8 +16,8 @@ private static Guid GenerateGuid(int index)
|
|
|
16
16
|
return Guid.Parse($"11111111-1111-1111-1111-{index:D12}");
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
//
|
|
20
|
-
//
|
|
19
|
+
// For existing seeds, continue the sequence
|
|
20
|
+
// Check the last index used in NavigationTranslationConfiguration.cs
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
---
|
|
@@ -27,25 +27,25 @@ private static Guid GenerateGuid(int index)
|
|
|
27
27
|
### Navigation Entity
|
|
28
28
|
|
|
29
29
|
```csharp
|
|
30
|
-
//
|
|
30
|
+
// In NavigationContextConfiguration.cs - HasData()
|
|
31
31
|
new {
|
|
32
32
|
Id = Guid.Parse("$CONTEXT_GUID"),
|
|
33
|
-
Code = "$CODE", //
|
|
34
|
-
Label = "$
|
|
35
|
-
Description = "$
|
|
36
|
-
Icon = "$ICON", //
|
|
33
|
+
Code = "$CODE", // e.g.: "erp"
|
|
34
|
+
Label = "$LABEL_EN", // e.g.: "ERP"
|
|
35
|
+
Description = "$DESC_EN", // e.g.: "Enterprise management"
|
|
36
|
+
Icon = "$ICON", // e.g.: "Building2"
|
|
37
37
|
IconType = IconType.Lucide,
|
|
38
|
-
Route = "/$CODE", //
|
|
39
|
-
DisplayOrder = $ORDER, //
|
|
38
|
+
Route = "/$CODE", // e.g.: "/erp"
|
|
39
|
+
DisplayOrder = $ORDER, // e.g.: 4
|
|
40
40
|
IsActive = true,
|
|
41
41
|
CreatedAt = seedDate
|
|
42
42
|
}
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
### Translations (4
|
|
45
|
+
### Translations (4 languages)
|
|
46
46
|
|
|
47
47
|
```csharp
|
|
48
|
-
//
|
|
48
|
+
// In NavigationTranslationConfiguration.cs - GetSeedData()
|
|
49
49
|
// Context translations
|
|
50
50
|
translations.Add(new {
|
|
51
51
|
Id = GenerateGuid(index++),
|
|
@@ -92,23 +92,23 @@ translations.Add(new {
|
|
|
92
92
|
### Navigation Entity
|
|
93
93
|
|
|
94
94
|
```csharp
|
|
95
|
-
//
|
|
95
|
+
// In NavigationApplicationConfiguration.cs - HasData()
|
|
96
96
|
new {
|
|
97
97
|
Id = Guid.Parse("$APP_GUID"),
|
|
98
98
|
ContextId = Guid.Parse("$CONTEXT_GUID"),
|
|
99
|
-
Code = "$CODE", //
|
|
100
|
-
Label = "$
|
|
101
|
-
Description = "$
|
|
102
|
-
Icon = "$ICON", //
|
|
99
|
+
Code = "$CODE", // e.g.: "sales"
|
|
100
|
+
Label = "$LABEL_EN", // e.g.: "Sales"
|
|
101
|
+
Description = "$DESC_EN", // e.g.: "Sales management"
|
|
102
|
+
Icon = "$ICON", // e.g.: "TrendingUp"
|
|
103
103
|
IconType = IconType.Lucide,
|
|
104
|
-
Route = "/$CONTEXT/$CODE", //
|
|
104
|
+
Route = "/$CONTEXT/$CODE", // e.g.: "/erp/sales"
|
|
105
105
|
DisplayOrder = $ORDER,
|
|
106
106
|
IsActive = true,
|
|
107
107
|
CreatedAt = seedDate
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
### Translations (4
|
|
111
|
+
### Translations (4 languages)
|
|
112
112
|
|
|
113
113
|
```csharp
|
|
114
114
|
// Application translations
|
|
@@ -157,23 +157,23 @@ translations.Add(new {
|
|
|
157
157
|
### Navigation Entity
|
|
158
158
|
|
|
159
159
|
```csharp
|
|
160
|
-
//
|
|
160
|
+
// In NavigationModuleConfiguration.cs - HasData()
|
|
161
161
|
new {
|
|
162
162
|
Id = Guid.Parse("$MODULE_GUID"),
|
|
163
163
|
ApplicationId = Guid.Parse("$APP_GUID"),
|
|
164
|
-
Code = "$CODE", //
|
|
165
|
-
Label = "$
|
|
166
|
-
Description = "$
|
|
167
|
-
Icon = "$ICON", //
|
|
164
|
+
Code = "$CODE", // e.g.: "products"
|
|
165
|
+
Label = "$LABEL_EN", // e.g.: "Products"
|
|
166
|
+
Description = "$DESC_EN", // e.g.: "Product management"
|
|
167
|
+
Icon = "$ICON", // e.g.: "Package"
|
|
168
168
|
IconType = IconType.Lucide,
|
|
169
|
-
Route = "/$CONTEXT/$APP/$CODE", //
|
|
169
|
+
Route = "/$CONTEXT/$APP/$CODE", // e.g.: "/erp/sales/products"
|
|
170
170
|
DisplayOrder = $ORDER,
|
|
171
171
|
IsActive = true,
|
|
172
172
|
CreatedAt = seedDate
|
|
173
173
|
}
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
### Translations (4
|
|
176
|
+
### Translations (4 languages)
|
|
177
177
|
|
|
178
178
|
```csharp
|
|
179
179
|
// Module translations
|
|
@@ -222,23 +222,23 @@ translations.Add(new {
|
|
|
222
222
|
### Navigation Entity
|
|
223
223
|
|
|
224
224
|
```csharp
|
|
225
|
-
//
|
|
225
|
+
// In NavigationSectionConfiguration.cs - HasData()
|
|
226
226
|
new {
|
|
227
227
|
Id = Guid.Parse("$SECTION_GUID"),
|
|
228
228
|
ModuleId = Guid.Parse("$MODULE_GUID"),
|
|
229
|
-
Code = "$CODE", //
|
|
230
|
-
Label = "$
|
|
231
|
-
Description = "$
|
|
232
|
-
Icon = "$ICON", //
|
|
229
|
+
Code = "$CODE", // e.g.: "inventory"
|
|
230
|
+
Label = "$LABEL_EN", // e.g.: "Inventory"
|
|
231
|
+
Description = "$DESC_EN", // e.g.: "Inventory management"
|
|
232
|
+
Icon = "$ICON", // e.g.: "Warehouse"
|
|
233
233
|
IconType = IconType.Lucide,
|
|
234
|
-
Route = "/$CONTEXT/$APP/$MODULE/$CODE", //
|
|
234
|
+
Route = "/$CONTEXT/$APP/$MODULE/$CODE", // e.g.: "/erp/sales/products/inventory"
|
|
235
235
|
DisplayOrder = $ORDER,
|
|
236
236
|
IsActive = true,
|
|
237
237
|
CreatedAt = seedDate
|
|
238
238
|
}
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
### Translations (4
|
|
241
|
+
### Translations (4 languages)
|
|
242
242
|
|
|
243
243
|
```csharp
|
|
244
244
|
// Section translations
|
|
@@ -287,8 +287,8 @@ translations.Add(new {
|
|
|
287
287
|
### Permission Entity
|
|
288
288
|
|
|
289
289
|
```csharp
|
|
290
|
-
//
|
|
291
|
-
//
|
|
290
|
+
// In PermissionConfiguration.cs - HasData()
|
|
291
|
+
// For each CRUD action + assign + execute
|
|
292
292
|
|
|
293
293
|
// Read
|
|
294
294
|
new {
|
|
@@ -331,7 +331,7 @@ new {
|
|
|
331
331
|
### RolePermission Seed (Default Roles)
|
|
332
332
|
|
|
333
333
|
```csharp
|
|
334
|
-
//
|
|
334
|
+
// In RolePermissionConfiguration.cs - HasData()
|
|
335
335
|
// SuperAdmin gets all permissions automatically (wildcard)
|
|
336
336
|
|
|
337
337
|
// PlatformAdmin - if platform context
|
|
@@ -348,15 +348,15 @@ new { RoleId = Guid.Parse("...StandardUserRoleId..."), PermissionId = $PERM_READ
|
|
|
348
348
|
|
|
349
349
|
## TEMPLATE: SECTION PERMISSIONS SEED (Level 4)
|
|
350
350
|
|
|
351
|
-
> **Usage:**
|
|
351
|
+
> **Usage:** When a Module has sub-pages with different permissions
|
|
352
352
|
|
|
353
353
|
### Permission Entity - Section Level
|
|
354
354
|
|
|
355
355
|
```csharp
|
|
356
|
-
//
|
|
356
|
+
// In PermissionConfiguration.cs - HasData()
|
|
357
357
|
// Pattern: {context}.{application}.{module}.{section}.{action}
|
|
358
358
|
|
|
359
|
-
//
|
|
359
|
+
// Declare SectionId (must match NavigationSectionConfiguration.cs)
|
|
360
360
|
var {section}SectionId = Guid.Parse("$SECTION_GUID");
|
|
361
361
|
|
|
362
362
|
// Wildcard Section
|
|
@@ -413,7 +413,7 @@ new {
|
|
|
413
413
|
Description = "Delete in $SECTION_LABEL",
|
|
414
414
|
CreatedAt = seedDate
|
|
415
415
|
},
|
|
416
|
-
// Execute (
|
|
416
|
+
// Execute (optional)
|
|
417
417
|
new {
|
|
418
418
|
Id = Guid.Parse("$PERM_SECTION_EXECUTE_GUID"),
|
|
419
419
|
Path = "$CONTEXT.$APP.$MODULE.$SECTION.execute",
|
|
@@ -430,15 +430,15 @@ new {
|
|
|
430
430
|
|
|
431
431
|
## TEMPLATE: RESOURCE PERMISSIONS SEED (Level 5)
|
|
432
432
|
|
|
433
|
-
> **Usage:**
|
|
433
|
+
> **Usage:** Finest level - sub-resources with distinct permissions (e.g.: Prompts → Blocks)
|
|
434
434
|
|
|
435
435
|
### Permission Entity - Resource Level
|
|
436
436
|
|
|
437
437
|
```csharp
|
|
438
|
-
//
|
|
438
|
+
// In PermissionConfiguration.cs - HasData()
|
|
439
439
|
// Pattern: {context}.{application}.{module}.{section}.{resource}.{action}
|
|
440
440
|
|
|
441
|
-
//
|
|
441
|
+
// Declare ResourceId (must match NavigationResourceConfiguration.cs)
|
|
442
442
|
var {resource}ResourceId = Guid.Parse("$RESOURCE_GUID");
|
|
443
443
|
|
|
444
444
|
// Wildcard Resource
|
|
@@ -501,13 +501,13 @@ new {
|
|
|
501
501
|
|
|
502
502
|
## TEMPLATE: BULK OPERATIONS PERMISSIONS
|
|
503
503
|
|
|
504
|
-
> **
|
|
504
|
+
> **MANDATORY:** Always provide for CRUD modules
|
|
505
505
|
|
|
506
506
|
### Permission Entity - Bulk Operations
|
|
507
507
|
|
|
508
508
|
```csharp
|
|
509
|
-
//
|
|
510
|
-
//
|
|
509
|
+
// In PermissionConfiguration.cs - HasData()
|
|
510
|
+
// Add after standard CRUD permissions
|
|
511
511
|
|
|
512
512
|
// Bulk Create
|
|
513
513
|
new {
|
|
@@ -568,7 +568,7 @@ new {
|
|
|
568
568
|
|
|
569
569
|
---
|
|
570
570
|
|
|
571
|
-
##
|
|
571
|
+
## COMPLETE EXAMPLE: "Products" Module in "ERP > Sales"
|
|
572
572
|
|
|
573
573
|
### Variables
|
|
574
574
|
|
|
@@ -594,54 +594,54 @@ $ICON = Package
|
|
|
594
594
|
$ORDER = 1
|
|
595
595
|
```
|
|
596
596
|
|
|
597
|
-
###
|
|
597
|
+
### Files to modify
|
|
598
598
|
|
|
599
|
-
1. `NavigationContextConfiguration.cs` -
|
|
600
|
-
2. `NavigationApplicationConfiguration.cs` -
|
|
601
|
-
3. `NavigationModuleConfiguration.cs` -
|
|
602
|
-
4. `NavigationTranslationConfiguration.cs` -
|
|
603
|
-
5. `PermissionConfiguration.cs` -
|
|
604
|
-
6. `RolePermissionConfiguration.cs` -
|
|
599
|
+
1. `NavigationContextConfiguration.cs` - Add ERP context (if new)
|
|
600
|
+
2. `NavigationApplicationConfiguration.cs` - Add Sales application
|
|
601
|
+
3. `NavigationModuleConfiguration.cs` - Add Products module
|
|
602
|
+
4. `NavigationTranslationConfiguration.cs` - Add 4 translations × number of entities
|
|
603
|
+
5. `PermissionConfiguration.cs` - Add CRUD permissions
|
|
604
|
+
6. `RolePermissionConfiguration.cs` - Assign to default roles
|
|
605
605
|
|
|
606
606
|
---
|
|
607
607
|
|
|
608
|
-
## CHECKLIST
|
|
609
|
-
|
|
610
|
-
|
|
|
611
|
-
|
|
612
|
-
| ☐ GUID
|
|
613
|
-
| ☐ 4
|
|
614
|
-
| ☐ Index translations continue
|
|
615
|
-
| ☐ Route
|
|
616
|
-
| ☐ DisplayOrder
|
|
617
|
-
| ☐
|
|
618
|
-
| ☐
|
|
619
|
-
| ☐
|
|
620
|
-
| ☐
|
|
621
|
-
| ☐ RolePermissions
|
|
608
|
+
## SEED CHECKLIST
|
|
609
|
+
|
|
610
|
+
| Check | Status |
|
|
611
|
+
|-------|--------|
|
|
612
|
+
| ☐ Deterministic GUID (not NewGuid) | |
|
|
613
|
+
| ☐ 4 languages for each entity | |
|
|
614
|
+
| ☐ Index translations continue existing sequence | |
|
|
615
|
+
| ☐ Route aligned with permission path | |
|
|
616
|
+
| ☐ DisplayOrder consistent | |
|
|
617
|
+
| ☐ CRUD permissions created (Level 3 - Module) | |
|
|
618
|
+
| ☐ Section permissions if sub-pages (Level 4) | |
|
|
619
|
+
| ☐ Resource permissions if sub-resources (Level 5) | |
|
|
620
|
+
| ☐ Bulk Operations permissions created | |
|
|
621
|
+
| ☐ RolePermissions assigned | |
|
|
622
622
|
|
|
623
623
|
---
|
|
624
624
|
|
|
625
|
-
##
|
|
625
|
+
## PERMISSIONS HIERARCHY (5 Levels)
|
|
626
626
|
|
|
627
627
|
```
|
|
628
628
|
Level 1: CONTEXT
|
|
629
629
|
└─ Path: {context}.*
|
|
630
|
-
└─
|
|
630
|
+
└─ E.g.: platform.* → Full context access
|
|
631
631
|
|
|
632
632
|
Level 2: APPLICATION
|
|
633
633
|
└─ Path: {context}.{application}.*
|
|
634
|
-
└─
|
|
634
|
+
└─ E.g.: platform.administration.* → Full app access
|
|
635
635
|
|
|
636
636
|
Level 3: MODULE
|
|
637
637
|
└─ Path: {context}.{application}.{module}.{action}
|
|
638
|
-
└─
|
|
638
|
+
└─ E.g.: platform.administration.users.read
|
|
639
639
|
|
|
640
640
|
Level 4: SECTION
|
|
641
641
|
└─ Path: {context}.{application}.{module}.{section}.{action}
|
|
642
|
-
└─
|
|
642
|
+
└─ E.g.: platform.administration.ai.settings.update
|
|
643
643
|
|
|
644
644
|
Level 5: RESOURCE (finest granularity)
|
|
645
645
|
└─ Path: {context}.{application}.{module}.{section}.{resource}.{action}
|
|
646
|
-
└─
|
|
646
|
+
└─ E.g.: platform.administration.ai.prompts.blocks.delete
|
|
647
647
|
```
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: business-analyse
|
|
3
|
+
description: Business Analysis - Complete business analysis workflow (BABOK/IEEE 830) with progressive step loading and context refresh.
|
|
4
|
+
argument-hint: "[-a] [-s] [-e] [-r <task-id>] <feature description>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Execute systematic business analysis workflows following BABOK v3 and IEEE 830 standards.
|
|
9
|
+
This skill uses progressive step loading to minimize context usage and maintain fresh context throughout the workflow.
|
|
10
|
+
</objective>
|
|
11
|
+
|
|
12
|
+
<quick_start>
|
|
13
|
+
**Basic usage:**
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
/business-analyse Module de gestion des clients
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Recommended workflow (autonomous with save):**
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
/business-analyse -a -s Gestion des commandes avec workflow validation
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Resume a previous analysis:**
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
/business-analyse -r FEAT-001
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Flags:**
|
|
32
|
+
|
|
33
|
+
- `-a` (auto): Skip confirmations
|
|
34
|
+
- `-s` (save): Save outputs to `.business-analyse/`
|
|
35
|
+
- `-e` (economy): No subagents, direct tool usage
|
|
36
|
+
- `-r` (resume): Resume from a previous FEAT-ID
|
|
37
|
+
|
|
38
|
+
See `<parameters>` for complete flag list.
|
|
39
|
+
</quick_start>
|
|
40
|
+
|
|
41
|
+
<parameters>
|
|
42
|
+
|
|
43
|
+
<flags>
|
|
44
|
+
**Enable flags (turn ON):**
|
|
45
|
+
| Short | Long | Description |
|
|
46
|
+
|-------|------|-------------|
|
|
47
|
+
| `-a` | `--auto` | Autonomous mode: skip confirmations, auto-approve |
|
|
48
|
+
| `-s` | `--save` | Save mode: output to `.business-analyse/` (default: true) |
|
|
49
|
+
| `-e` | `--economy` | Economy mode: no subagents, save tokens |
|
|
50
|
+
| `-r` | `--resume` | Resume mode: continue from a previous FEAT-ID |
|
|
51
|
+
| `-i` | `--interactive` | Interactive mode: configure flags via AskUserQuestion |
|
|
52
|
+
|
|
53
|
+
**Disable flags (turn OFF):**
|
|
54
|
+
| Short | Long | Description |
|
|
55
|
+
|-------|------|-------------|
|
|
56
|
+
| `-A` | `--no-auto` | Disable auto mode |
|
|
57
|
+
| `-S` | `--no-save` | Disable save mode |
|
|
58
|
+
| `-E` | `--no-economy` | Disable economy mode |
|
|
59
|
+
</flags>
|
|
60
|
+
|
|
61
|
+
<examples>
|
|
62
|
+
```bash
|
|
63
|
+
# Basic usage
|
|
64
|
+
/business-analyse Module gestion clients
|
|
65
|
+
|
|
66
|
+
# Autonomous mode (no confirmations)
|
|
67
|
+
/business-analyse -a Module gestion clients
|
|
68
|
+
|
|
69
|
+
# Economy mode (save tokens)
|
|
70
|
+
/business-analyse -e Module gestion clients
|
|
71
|
+
|
|
72
|
+
# Resume a previous feature
|
|
73
|
+
/business-analyse -r FEAT-001
|
|
74
|
+
/business-analyse -r 001 # Partial match supported
|
|
75
|
+
|
|
76
|
+
# Combined flags
|
|
77
|
+
/business-analyse -a -e Module gestion clients
|
|
78
|
+
```
|
|
79
|
+
</examples>
|
|
80
|
+
|
|
81
|
+
<parsing_rules>
|
|
82
|
+
**Flag parsing:**
|
|
83
|
+
|
|
84
|
+
1. Defaults loaded from `steps/step-00-init.md` `<defaults>` section
|
|
85
|
+
2. Command-line flags override defaults
|
|
86
|
+
3. Flags removed from input, remainder becomes `{feature_description}`
|
|
87
|
+
4. Feature ID generated as `FEAT-NNN`
|
|
88
|
+
</parsing_rules>
|
|
89
|
+
|
|
90
|
+
</parameters>
|
|
91
|
+
|
|
92
|
+
<output_structure>
|
|
93
|
+
**When `{save_mode}` = true (default):**
|
|
94
|
+
|
|
95
|
+
All outputs saved to PROJECT directory:
|
|
96
|
+
```
|
|
97
|
+
.business-analyse/business/{app}/modules/{module}/features/{FEAT-NNN}/
|
|
98
|
+
├── 00-context.md # Params, user request, timestamp, progress
|
|
99
|
+
├── 1-discovery.md # Phase 1: Discovery findings
|
|
100
|
+
├── 2-business-requirements.md # Phase 2: BRD
|
|
101
|
+
├── 3-functional-specification.md # Phase 3: FRD
|
|
102
|
+
├── validation.json # Phase 4: Validation gate
|
|
103
|
+
├── 4-development-handoff.md # Phase 5: Dev prompt
|
|
104
|
+
└── tracking/
|
|
105
|
+
├── changes/
|
|
106
|
+
├── bugs/
|
|
107
|
+
└── hotfixes/
|
|
108
|
+
```
|
|
109
|
+
</output_structure>
|
|
110
|
+
|
|
111
|
+
<resume_workflow>
|
|
112
|
+
**Resume mode (`-r {FEAT-ID}`):**
|
|
113
|
+
|
|
114
|
+
When provided, step-00 will:
|
|
115
|
+
|
|
116
|
+
1. Locate the feature folder in `.business-analyse/`
|
|
117
|
+
2. Read `00-context.md` to restore state
|
|
118
|
+
3. Find the last completed step
|
|
119
|
+
4. Continue from the next step
|
|
120
|
+
</resume_workflow>
|
|
121
|
+
|
|
122
|
+
<workflow>
|
|
123
|
+
**Standard flow:**
|
|
124
|
+
1. Parse flags and feature description
|
|
125
|
+
2. If `-r`: Execute resume workflow
|
|
126
|
+
3. Create output folder and 00-context.md
|
|
127
|
+
4. Load step-01-discover.md -> elicitation with ULTRATHINK
|
|
128
|
+
5. Load step-02-analyse.md -> BRD + business rules
|
|
129
|
+
6. Load step-03-specify.md -> FRD + use cases
|
|
130
|
+
7. Load step-04-validate.md -> validation gate
|
|
131
|
+
8. Load step-05-handoff.md -> development prompt
|
|
132
|
+
9. Load step-06-doc-html.md -> React documentation (optional)
|
|
133
|
+
</workflow>
|
|
134
|
+
|
|
135
|
+
<state_variables>
|
|
136
|
+
**Persist throughout all steps:**
|
|
137
|
+
|
|
138
|
+
| Variable | Type | Description |
|
|
139
|
+
| ----------------------- | ------- | ------------------------------------------------------ |
|
|
140
|
+
| `{feature_description}` | string | What to analyze (flags removed) |
|
|
141
|
+
| `{feature_id}` | string | Unique identifier (e.g., `FEAT-001`) |
|
|
142
|
+
| `{application_name}` | string | Target application name |
|
|
143
|
+
| `{module_name}` | string | Target module name |
|
|
144
|
+
| `{context}` | string | Always "business" for BA |
|
|
145
|
+
| `{auto_mode}` | boolean | Skip confirmations |
|
|
146
|
+
| `{save_mode}` | boolean | Save outputs (default: true) |
|
|
147
|
+
| `{economy_mode}` | boolean | No subagents, direct tool usage only |
|
|
148
|
+
| `{output_dir}` | string | Full path to feature output directory |
|
|
149
|
+
|
|
150
|
+
</state_variables>
|
|
151
|
+
|
|
152
|
+
<entry_point>
|
|
153
|
+
|
|
154
|
+
**FIRST ACTION:** Load `steps/step-00-init.md`
|
|
155
|
+
|
|
156
|
+
</entry_point>
|
|
157
|
+
|
|
158
|
+
<step_files>
|
|
159
|
+
**Progressive loading - only load current step:**
|
|
160
|
+
|
|
161
|
+
| Step | File | Model | Purpose |
|
|
162
|
+
| ---- | ---------------------------- | ------ | ---------------------------------------------------- |
|
|
163
|
+
| 00 | `steps/step-00-init.md` | Haiku | Parse flags, create structure, initialize state |
|
|
164
|
+
| 01 | `steps/step-01-discover.md` | Opus | Elicitation with ULTRATHINK (load questionnaire) |
|
|
165
|
+
| 02 | `steps/step-02-analyse.md` | Sonnet | BRD + business rules formalization |
|
|
166
|
+
| 03 | `steps/step-03-specify.md` | Sonnet | FRD + use cases + permissions |
|
|
167
|
+
| 04 | `steps/step-04-validate.md` | Haiku | Validation gate (APPROVED/REJECTED) |
|
|
168
|
+
| 05 | `steps/step-05-handoff.md` | Opus | Development prompt generation |
|
|
169
|
+
| 06 | `steps/step-06-doc-html.md` | Sonnet | React documentation (optional) |
|
|
170
|
+
|
|
171
|
+
</step_files>
|
|
172
|
+
|
|
173
|
+
<questionnaire_files>
|
|
174
|
+
**Progressive questionnaire loading (step-01 only):**
|
|
175
|
+
|
|
176
|
+
Load ONLY relevant categories based on feature type:
|
|
177
|
+
|
|
178
|
+
| Category | File | When to load |
|
|
179
|
+
| -------- | ----------------------------------- | ------------ |
|
|
180
|
+
| 01 | `questionnaire/01-context.md` | Always |
|
|
181
|
+
| 02 | `questionnaire/02-stakeholders.md` | Always |
|
|
182
|
+
| 03 | `questionnaire/03-scope.md` | Always |
|
|
183
|
+
| 04 | `questionnaire/04-data.md` | If data-centric |
|
|
184
|
+
| 05 | `questionnaire/05-integrations.md` | If integrations |
|
|
185
|
+
| 06 | `questionnaire/06-security.md` | Always (minimal) |
|
|
186
|
+
| 07 | `questionnaire/07-ui.md` | If UI-centric |
|
|
187
|
+
| 08 | `questionnaire/08-performance.md` | If performance-critical |
|
|
188
|
+
| 09 | `questionnaire/09-constraints.md` | If constraints exist |
|
|
189
|
+
| 10 | `questionnaire/10-documentation.md` | If doc required |
|
|
190
|
+
|
|
191
|
+
</questionnaire_files>
|
|
192
|
+
|
|
193
|
+
<template_files>
|
|
194
|
+
**Progressive template loading:**
|
|
195
|
+
|
|
196
|
+
| Template | File | Used in step |
|
|
197
|
+
| -------- | ----------------------------- | ------------ |
|
|
198
|
+
| discovery | `templates/frd-discovery.md` | 01 |
|
|
199
|
+
| brd | `templates/frd-brd.md` | 02 |
|
|
200
|
+
| frd | `templates/frd-spec.md` | 03 |
|
|
201
|
+
| handoff | `templates/frd-handoff.md` | 05 |
|
|
202
|
+
|
|
203
|
+
</template_files>
|
|
204
|
+
|
|
205
|
+
<execution_rules>
|
|
206
|
+
|
|
207
|
+
- **Load one step at a time** - Only load the current step file
|
|
208
|
+
- **ULTRATHINK** for phases 01, 02, 03, 05 (critical thinking)
|
|
209
|
+
- **Persist state variables** across all steps via 00-context.md
|
|
210
|
+
- **Follow next_step directive** at end of each step
|
|
211
|
+
- **Save outputs** immediately after each phase
|
|
212
|
+
- **Use parallel agents** for exploration (unless economy_mode)
|
|
213
|
+
- **Context: business only** - Reject platform/personal/system contexts
|
|
214
|
+
</execution_rules>
|
|
215
|
+
|
|
216
|
+
<success_criteria>
|
|
217
|
+
|
|
218
|
+
- Each step loaded progressively (max 300-400 lines/step)
|
|
219
|
+
- All outputs saved to feature folder
|
|
220
|
+
- Validation gate passed (APPROVED)
|
|
221
|
+
- Development handoff ready for `/implement`
|
|
222
|
+
- Clear completion summary with next steps
|
|
223
|
+
</success_criteria>
|