@atlashub/smartstack-cli 3.37.0 → 3.39.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 +16 -24
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +235 -265
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/scripts/extract-api-endpoints.ts +5 -5
- package/scripts/generate-doc-with-mock-ui.ts +10 -17
- package/templates/agents/ba-reader.md +9 -9
- package/templates/agents/ba-writer.md +12 -15
- package/templates/agents/code-reviewer.md +1 -1
- package/templates/agents/docs-context-reader.md +1 -1
- package/templates/agents/efcore/scan.md +3 -1
- package/templates/agents/gitflow/commit.md +74 -0
- package/templates/agents/gitflow/finish.md +5 -2
- package/templates/agents/gitflow/init-clone.md +3 -3
- package/templates/agents/gitflow/init-validate.md +3 -2
- package/templates/agents/gitflow/merge.md +5 -4
- package/templates/agents/gitflow/pr.md +5 -4
- package/templates/agents/gitflow/start.md +37 -5
- package/templates/hooks/hooks.json +11 -0
- package/templates/hooks/wsl-dotnet-cleanup.sh +24 -0
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +20 -20
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +16 -24
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +2 -2
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +3 -3
- package/templates/skills/_shared.md +15 -17
- package/templates/skills/ai-prompt/SKILL.md +1 -1
- package/templates/skills/ai-prompt/steps/step-00-init.md +47 -0
- package/templates/skills/apex/SKILL.md +3 -4
- package/templates/skills/apex/_shared.md +10 -20
- package/templates/skills/apex/references/analysis-methods.md +141 -0
- package/templates/skills/apex/references/challenge-questions.md +1 -21
- package/templates/skills/apex/references/core-seed-data.md +35 -58
- package/templates/skills/apex/references/examine-build-validation.md +82 -0
- package/templates/skills/apex/references/execution-frontend-gates.md +177 -0
- package/templates/skills/apex/references/execution-frontend-patterns.md +105 -0
- package/templates/skills/apex/references/execution-layer1-rules.md +96 -0
- package/templates/skills/apex/references/initialization-challenge-flow.md +110 -0
- package/templates/skills/apex/references/planning-layer-mapping.md +151 -0
- package/templates/skills/apex/references/post-checks.md +145 -40
- package/templates/skills/apex/references/smartstack-api.md +35 -51
- package/templates/skills/apex/references/smartstack-frontend.md +18 -18
- package/templates/skills/apex/references/smartstack-layers.md +38 -62
- package/templates/skills/apex/steps/step-00-init.md +14 -26
- package/templates/skills/apex/steps/step-01-analyze.md +10 -143
- package/templates/skills/apex/steps/step-02-plan.md +10 -92
- package/templates/skills/apex/steps/step-03-execute.md +45 -252
- package/templates/skills/apex/steps/step-04-examine.md +14 -78
- package/templates/skills/apex/steps/step-05-deep-review.md +2 -2
- package/templates/skills/apex/steps/step-08-run-tests.md +1 -0
- package/templates/skills/application/SKILL.md +241 -242
- package/templates/skills/application/references/backend-controller-hierarchy.md +16 -16
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -0
- package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -0
- package/templates/skills/application/references/backend-verification.md +1 -1
- package/templates/skills/application/references/frontend-i18n-and-output.md +67 -0
- package/templates/skills/application/references/frontend-route-naming.md +117 -0
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -0
- package/templates/skills/application/references/frontend-verification.md +12 -12
- package/templates/skills/application/references/init-parameter-detection.md +121 -0
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +100 -0
- package/templates/skills/application/references/nav-fallback-procedure.md +199 -200
- package/templates/skills/application/references/provider-template.md +2 -6
- package/templates/skills/application/references/roles-client-project-handling.md +55 -0
- package/templates/skills/application/references/roles-fallback-procedure.md +149 -0
- package/templates/skills/application/references/test-coverage-requirements.md +213 -0
- package/templates/skills/application/references/test-frontend.md +3 -3
- package/templates/skills/application/steps/step-00-init.md +130 -260
- package/templates/skills/application/steps/step-01-navigation.md +170 -170
- package/templates/skills/application/steps/step-02-permissions.md +196 -196
- package/templates/skills/application/steps/step-03-roles.md +182 -339
- package/templates/skills/application/steps/step-03b-provider.md +133 -134
- package/templates/skills/application/steps/step-04-backend.md +174 -265
- package/templates/skills/application/steps/step-05-frontend.md +18 -144
- package/templates/skills/application/steps/step-06-migration.md +12 -60
- package/templates/skills/application/steps/step-07-tests.md +9 -76
- package/templates/skills/application/templates-backend.md +29 -27
- package/templates/skills/application/templates-frontend.md +49 -49
- package/templates/skills/application/templates-seed.md +57 -131
- package/templates/skills/business-analyse/SKILL.md +27 -30
- package/templates/skills/business-analyse/_architecture.md +6 -6
- package/templates/skills/business-analyse/_shared.md +60 -88
- package/templates/skills/business-analyse/questionnaire/04-data.md +3 -3
- package/templates/skills/business-analyse/questionnaire/06-security.md +1 -1
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +1 -1
- package/templates/skills/business-analyse/react/application-viewer.md +12 -12
- package/templates/skills/business-analyse/react/components.md +8 -12
- package/templates/skills/business-analyse/react/schema.md +836 -836
- package/templates/skills/business-analyse/references/agent-module-prompt.md +2 -3
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -0
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +2 -2
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -0
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -0
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +69 -0
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +1 -1
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -0
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +2 -2
- package/templates/skills/business-analyse/references/deploy-modes.md +5 -5
- package/templates/skills/business-analyse/references/detection-strategies.md +7 -7
- package/templates/skills/business-analyse/references/handoff-file-templates.md +14 -22
- package/templates/skills/business-analyse/references/handoff-mappings.md +4 -4
- package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -0
- package/templates/skills/business-analyse/references/init-schema-deployment.md +3 -3
- package/templates/skills/business-analyse/references/naming-conventions.md +22 -24
- package/templates/skills/business-analyse/references/prd-generation.md +2 -2
- package/templates/skills/business-analyse/references/review-data-mapping.md +2 -2
- package/templates/skills/business-analyse/references/robustness-checks.md +1 -1
- package/templates/skills/business-analyse/references/spec-auto-inference.md +3 -3
- package/templates/skills/business-analyse/references/team-orchestration.md +49 -6
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
- package/templates/skills/business-analyse/references/ui-resource-cards.md +18 -18
- package/templates/skills/business-analyse/references/validate-incremental-html.md +2 -2
- package/templates/skills/business-analyse/references/validation-checklist.md +2 -2
- package/templates/skills/business-analyse/schemas/application-schema.json +4 -5
- package/templates/skills/business-analyse/schemas/project-schema.json +1 -6
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +2 -3
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +4 -4
- package/templates/skills/business-analyse/steps/step-00-init.md +8 -17
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +35 -198
- package/templates/skills/business-analyse/steps/step-01b-applications.md +16 -20
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +1 -1
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +4 -4
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +1 -1
- package/templates/skills/business-analyse/steps/step-03b-ui.md +4 -4
- package/templates/skills/business-analyse/steps/step-03c-compile.md +66 -140
- package/templates/skills/business-analyse/steps/step-03d-validate.md +2 -2
- package/templates/skills/business-analyse/steps/step-04a-collect.md +2 -2
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +42 -160
- package/templates/skills/business-analyse/steps/step-04c-decide.md +1 -1
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +74 -104
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +13 -11
- package/templates/skills/business-analyse/steps/step-06-review.md +3 -3
- package/templates/skills/business-analyse/templates/tpl-frd.md +13 -13
- package/templates/skills/business-analyse/templates/tpl-handoff.md +12 -12
- package/templates/skills/business-analyse/templates/tpl-progress.md +1 -1
- package/templates/skills/business-analyse/templates-frd.md +25 -25
- package/templates/skills/business-analyse/templates-react.md +15 -21
- package/templates/skills/controller/SKILL.md +1 -1
- package/templates/skills/controller/postman-templates.md +1 -1
- package/templates/skills/controller/references/controller-code-templates.md +2 -2
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -0
- package/templates/skills/controller/references/permission-sync-templates.md +13 -16
- package/templates/skills/controller/steps/step-00-init.md +11 -11
- package/templates/skills/controller/steps/step-03-generate.md +64 -103
- package/templates/skills/controller/templates.md +67 -71
- package/templates/skills/debug/SKILL.md +13 -218
- package/templates/skills/debug/steps/step-00-init.md +57 -0
- package/templates/skills/debug/steps/step-01-analyze.md +219 -0
- package/templates/skills/debug/steps/step-02-resolve.md +85 -0
- package/templates/skills/documentation/SKILL.md +49 -345
- package/templates/skills/documentation/data-schema.md +11 -8
- package/templates/skills/documentation/steps/step-00-init.md +70 -0
- package/templates/skills/documentation/steps/step-01-scan.md +113 -0
- package/templates/skills/documentation/steps/step-02-generate.md +231 -0
- package/templates/skills/documentation/steps/step-03-validate.md +238 -0
- package/templates/skills/documentation/templates.md +480 -322
- package/templates/skills/efcore/SKILL.md +1 -1
- package/templates/skills/efcore/references/both-contexts.md +32 -0
- package/templates/skills/efcore/references/database-operations.md +67 -0
- package/templates/skills/efcore/references/destructive-operations.md +38 -0
- package/templates/skills/efcore/references/reset-operations.md +81 -0
- package/templates/skills/efcore/references/seed-methods.md +86 -0
- package/templates/skills/efcore/references/shared-init-functions.md +250 -0
- package/templates/skills/efcore/references/sql-objects-injection.md +61 -0
- package/templates/skills/efcore/references/troubleshooting.md +81 -0
- package/templates/skills/efcore/steps/db/step-deploy.md +1 -32
- package/templates/skills/efcore/steps/db/step-reset.md +7 -103
- package/templates/skills/efcore/steps/db/step-seed.md +10 -132
- package/templates/skills/efcore/steps/db/step-status.md +5 -44
- package/templates/skills/efcore/steps/migration/step-02-create.md +1 -14
- package/templates/skills/efcore/steps/migration/step-03-validate.md +8 -62
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +1 -57
- package/templates/skills/efcore/steps/shared/step-00-init.md +11 -254
- package/templates/skills/efcore/steps/squash/step-03-create.md +1 -58
- package/templates/skills/feature-full/SKILL.md +1 -1
- package/templates/skills/feature-full/steps/step-00-init.md +57 -0
- package/templates/skills/feature-full/steps/step-01-implementation.md +1 -1
- package/templates/skills/gitflow/SKILL.md +28 -5
- package/templates/skills/gitflow/_shared.md +109 -12
- package/templates/skills/gitflow/phases/abort.md +4 -0
- package/templates/skills/gitflow/phases/cleanup.md +4 -0
- package/templates/skills/gitflow/references/commit-message-generation.md +58 -0
- package/templates/skills/gitflow/references/commit-migration-validation.md +49 -0
- package/templates/skills/gitflow/references/finish-cleanup.md +55 -0
- package/templates/skills/gitflow/references/finish-version-bumping.md +45 -0
- package/templates/skills/gitflow/references/init-environment-detection.md +41 -0
- package/templates/skills/gitflow/references/init-questions.md +185 -0
- package/templates/skills/gitflow/references/init-structure-creation.md +75 -0
- package/templates/skills/gitflow/references/init-version-detection.md +21 -0
- package/templates/skills/gitflow/references/init-workspace-detection.md +43 -0
- package/templates/skills/gitflow/references/merge-ci-status.md +36 -0
- package/templates/skills/gitflow/references/merge-execution.md +62 -0
- package/templates/skills/gitflow/references/merge-pr-context.md +76 -0
- package/templates/skills/gitflow/references/pr-build-checks.md +60 -0
- package/templates/skills/gitflow/references/pr-generation.md +58 -0
- package/templates/skills/gitflow/references/start-branch-normalization.md +28 -0
- package/templates/skills/gitflow/references/start-worktree-creation.md +50 -0
- package/templates/skills/gitflow/references/sync-push-verify.md +44 -0
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -0
- package/templates/skills/gitflow/steps/step-commit.md +12 -91
- package/templates/skills/gitflow/steps/step-finish.md +15 -159
- package/templates/skills/gitflow/steps/step-init.md +24 -326
- package/templates/skills/gitflow/steps/step-merge.md +17 -176
- package/templates/skills/gitflow/steps/step-pr.md +10 -116
- package/templates/skills/gitflow/steps/step-start.md +16 -109
- package/templates/skills/gitflow/steps/step-sync.md +6 -69
- package/templates/skills/ralph-loop/SKILL.md +6 -0
- package/templates/skills/ralph-loop/references/category-completeness.md +185 -0
- package/templates/skills/ralph-loop/references/compact-loop.md +1 -1
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -0
- package/templates/skills/ralph-loop/references/module-transition.md +151 -0
- package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -0
- package/templates/skills/ralph-loop/references/parallel-execution.md +246 -0
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +6 -9
- package/templates/skills/ralph-loop/references/team-orchestration.md +45 -3
- package/templates/skills/ralph-loop/steps/step-00-init.md +36 -109
- package/templates/skills/ralph-loop/steps/step-01-task.md +15 -163
- package/templates/skills/ralph-loop/steps/step-02-execute.md +8 -154
- package/templates/skills/ralph-loop/steps/step-04-check.md +20 -73
- package/templates/skills/review-code/references/owasp-api-top10.md +5 -5
- package/templates/skills/review-code/references/smartstack-conventions.md +568 -568
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -0
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -0
- package/templates/skills/validate-feature/steps/step-01-compile.md +1 -3
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +34 -145
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +74 -260
- package/templates/skills/workflow/SKILL.md +1 -1
- package/templates/skills/workflow/steps/step-00-init.md +57 -0
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-01-navigation
|
|
3
|
-
description: Generate navigation entity seeds using MCP scaffold_navigation (with fallback)
|
|
4
|
-
prev_step: steps/step-00-init.md
|
|
5
|
-
next_step: steps/step-02-permissions.md
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Step 1: Navigation Generation
|
|
9
|
-
|
|
10
|
-
## MANDATORY EXECUTION RULES
|
|
11
|
-
|
|
12
|
-
- PREFER MCP `scaffold_navigation` tool as the primary method
|
|
13
|
-
- If MCP is unavailable (`{mcp_available}` = false) or the call fails, use the FALLBACK PROCEDURE below
|
|
14
|
-
- ALWAYS verify the output includes translations for 4 languages (fr, en, it, de)
|
|
15
|
-
- ALWAYS WRITE generated code to the actual Configuration files (not just display)
|
|
16
|
-
- Store navigation GUID for use in subsequent steps
|
|
17
|
-
|
|
18
|
-
## YOUR TASK
|
|
19
|
-
|
|
20
|
-
Generate navigation entity seeds:
|
|
21
|
-
1. Navigation entity HasData() code in the appropriate Configuration.cs
|
|
22
|
-
2. NavigationTranslation entries (4 languages) in NavigationTranslationConfiguration.cs
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## AVAILABLE STATE
|
|
27
|
-
|
|
28
|
-
From step-00-init:
|
|
29
|
-
|
|
30
|
-
| Variable | Description |
|
|
31
|
-
|----------|-------------|
|
|
32
|
-
| `{level}` |
|
|
33
|
-
| `{code}` | kebab-case identifier |
|
|
34
|
-
| `{full_path}` | Complete navigation path |
|
|
35
|
-
| `{parent_path}` | Parent path (null for context) |
|
|
36
|
-
| `{labels}` | Object with fr, en, it, de |
|
|
37
|
-
| `{descriptions}` | Object with fr, en, it, de |
|
|
38
|
-
| `{icon}` | Lucide icon name |
|
|
39
|
-
| `{display_order}` | Numeric display order |
|
|
40
|
-
| `{mcp_available}` | Boolean - MCP connectivity status |
|
|
41
|
-
| `{project_type}` | "core" or "client" |
|
|
42
|
-
| `{seeding_strategy}` | "hasdata" or "provider" |
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## EXECUTION SEQUENCE (MCP Primary)
|
|
47
|
-
|
|
48
|
-
> **Branch:** If `{seeding_strategy}` = "provider", jump to **CLIENT PROJECT HANDLING** section below.
|
|
49
|
-
> The MCP and FALLBACK sections apply only when `{seeding_strategy}` = "hasdata" (core projects).
|
|
50
|
-
|
|
51
|
-
### 1. Call MCP scaffold_navigation
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
Tool: mcp__smartstack__scaffold_navigation
|
|
55
|
-
Args:
|
|
56
|
-
level: "{level}"
|
|
57
|
-
code: "{code}"
|
|
58
|
-
parentPath: "{parent_path}" # Omit if level is "
|
|
59
|
-
labels:
|
|
60
|
-
fr: "{labels.fr}"
|
|
61
|
-
en: "{labels.en}"
|
|
62
|
-
it: "{labels.it}"
|
|
63
|
-
de: "{labels.de}"
|
|
64
|
-
descriptions:
|
|
65
|
-
fr: "{descriptions.fr}"
|
|
66
|
-
en: "{descriptions.en}"
|
|
67
|
-
it: "{descriptions.it}"
|
|
68
|
-
de: "{descriptions.de}"
|
|
69
|
-
icon: "{icon}"
|
|
70
|
-
displayOrder: {display_order}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 2. Parse MCP Response
|
|
74
|
-
|
|
75
|
-
The tool returns:
|
|
76
|
-
- Navigation entity GUID (deterministic)
|
|
77
|
-
- HasData() code for NavigationXxxConfiguration.cs
|
|
78
|
-
- HasData() code for NavigationTranslationConfiguration.cs
|
|
79
|
-
- SeedData class template (optional)
|
|
80
|
-
|
|
81
|
-
### 3. Write Code to Files
|
|
82
|
-
|
|
83
|
-
**CRITICAL:** WRITE the generated code to the actual Configuration files.
|
|
84
|
-
|
|
85
|
-
1. Update `Navigation{Level}Configuration.cs` with the new HasData entry
|
|
86
|
-
2. Update `NavigationTranslationConfiguration.cs` with the 4 translation entries
|
|
87
|
-
|
|
88
|
-
### 4. Store Generated GUID
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
{navigation_guid} = [GUID from MCP response]
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## MCP RESPONSE HANDLING
|
|
97
|
-
|
|
98
|
-
### Success Case
|
|
99
|
-
|
|
100
|
-
If MCP returns successfully:
|
|
101
|
-
- Write HasData code to Configuration files
|
|
102
|
-
- Store `{navigation_guid}` for next step
|
|
103
|
-
- Proceed to step-02-permissions.md
|
|
104
|
-
|
|
105
|
-
### Error Case
|
|
106
|
-
|
|
107
|
-
If MCP call fails or `{mcp_available}` = false:
|
|
108
|
-
- Log the error for reference
|
|
109
|
-
- Proceed to FALLBACK PROCEDURE below
|
|
110
|
-
- Do NOT stop the workflow
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## CLIENT PROJECT HANDLING
|
|
115
|
-
|
|
116
|
-
> **Condition:** `{seeding_strategy}` = "provider"
|
|
117
|
-
|
|
118
|
-
For client projects, navigation is NOT seeded via HasData() in Configuration files.
|
|
119
|
-
It will be seeded at runtime via `IClientSeedDataProvider` generated at step 03b.
|
|
120
|
-
|
|
121
|
-
### Actions for a client project:
|
|
122
|
-
|
|
123
|
-
1. **Generate the navigation GUID** (deterministic, same method as core)
|
|
124
|
-
2. **Create the SeedData file** (same pattern as existing)
|
|
125
|
-
- `Infrastructure/Persistence/Seeding/Data/{Domain}/{Module}NavigationSeedData.cs`
|
|
126
|
-
- Contains static GUIDs and `GetNavigationEntries()`
|
|
127
|
-
3. **Create the translations file**
|
|
128
|
-
- `Infrastructure/Persistence/Seeding/Data/{Domain}/{Module}NavigationTranslationSeedData.cs`
|
|
129
|
-
4. **DO NOT search for** `NavigationModuleConfiguration.cs` (does not exist in client projects)
|
|
130
|
-
5. **DO NOT write** HasData() in Configuration files
|
|
131
|
-
6. **Store** `{navigation_guid}` for subsequent steps
|
|
132
|
-
|
|
133
|
-
The SeedData files will be consumed by the `IClientSeedDataProvider` generated at step 03b.
|
|
134
|
-
|
|
135
|
-
**After creating SeedData files:** Store `{navigation_guid}` and proceed to step-02-permissions.md.
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## FALLBACK PROCEDURE (When MCP Unavailable)
|
|
140
|
-
|
|
141
|
-
See [references/nav-fallback-procedure.md](../references/nav-fallback-procedure.md) for the complete 8-step fallback:
|
|
142
|
-
- **F1:** Read existing Configuration/SeedData files to determine state
|
|
143
|
-
- **F2:** Determine parent GUID by level
|
|
144
|
-
- **F3:** Generate deterministic GUID (SHA256, never NewGuid())
|
|
145
|
-
- **F4:** Write navigation entity seed (SeedData class or inline HasData)
|
|
146
|
-
- **F5:** Write 4 translation entries (continue existing index sequence)
|
|
147
|
-
- **F6-F8:** Store result, validation checklist, summary
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## SUCCESS METRICS
|
|
152
|
-
|
|
153
|
-
- Navigation entity GUID obtained (via MCP or fallback)
|
|
154
|
-
- HasData code WRITTEN to Configuration files
|
|
155
|
-
- Translation code WRITTEN (4 languages)
|
|
156
|
-
- `{navigation_guid}` stored for step-02
|
|
157
|
-
- Proceeded to step-02-permissions.md
|
|
158
|
-
|
|
159
|
-
## FAILURE MODES
|
|
160
|
-
|
|
161
|
-
- Missing parent path for non-
|
|
162
|
-
- Invalid level (return to step-00)
|
|
163
|
-
- Parent entity not found in existing seeds (ask user for parent GUID)
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## NEXT STEP
|
|
168
|
-
|
|
169
|
-
After navigation seeds are generated (via MCP or fallback) and written to files,
|
|
170
|
-
proceed to `./step-02-permissions.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-01-navigation
|
|
3
|
+
description: Generate navigation entity seeds using MCP scaffold_navigation (with fallback)
|
|
4
|
+
prev_step: steps/step-00-init.md
|
|
5
|
+
next_step: steps/step-02-permissions.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 1: Navigation Generation
|
|
9
|
+
|
|
10
|
+
## MANDATORY EXECUTION RULES
|
|
11
|
+
|
|
12
|
+
- PREFER MCP `scaffold_navigation` tool as the primary method
|
|
13
|
+
- If MCP is unavailable (`{mcp_available}` = false) or the call fails, use the FALLBACK PROCEDURE below
|
|
14
|
+
- ALWAYS verify the output includes translations for 4 languages (fr, en, it, de)
|
|
15
|
+
- ALWAYS WRITE generated code to the actual Configuration files (not just display)
|
|
16
|
+
- Store navigation GUID for use in subsequent steps
|
|
17
|
+
|
|
18
|
+
## YOUR TASK
|
|
19
|
+
|
|
20
|
+
Generate navigation entity seeds:
|
|
21
|
+
1. Navigation entity HasData() code in the appropriate Configuration.cs
|
|
22
|
+
2. NavigationTranslation entries (4 languages) in NavigationTranslationConfiguration.cs
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## AVAILABLE STATE
|
|
27
|
+
|
|
28
|
+
From step-00-init:
|
|
29
|
+
|
|
30
|
+
| Variable | Description |
|
|
31
|
+
|----------|-------------|
|
|
32
|
+
| `{level}` | application, module, section, or resource |
|
|
33
|
+
| `{code}` | kebab-case identifier |
|
|
34
|
+
| `{full_path}` | Complete navigation path |
|
|
35
|
+
| `{parent_path}` | Parent path (null for context) |
|
|
36
|
+
| `{labels}` | Object with fr, en, it, de |
|
|
37
|
+
| `{descriptions}` | Object with fr, en, it, de |
|
|
38
|
+
| `{icon}` | Lucide icon name |
|
|
39
|
+
| `{display_order}` | Numeric display order |
|
|
40
|
+
| `{mcp_available}` | Boolean - MCP connectivity status |
|
|
41
|
+
| `{project_type}` | "core" or "client" |
|
|
42
|
+
| `{seeding_strategy}` | "hasdata" or "provider" |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## EXECUTION SEQUENCE (MCP Primary)
|
|
47
|
+
|
|
48
|
+
> **Branch:** If `{seeding_strategy}` = "provider", jump to **CLIENT PROJECT HANDLING** section below.
|
|
49
|
+
> The MCP and FALLBACK sections apply only when `{seeding_strategy}` = "hasdata" (core projects).
|
|
50
|
+
|
|
51
|
+
### 1. Call MCP scaffold_navigation
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Tool: mcp__smartstack__scaffold_navigation
|
|
55
|
+
Args:
|
|
56
|
+
level: "{level}"
|
|
57
|
+
code: "{code}"
|
|
58
|
+
parentPath: "{parent_path}" # Omit if level is "application" (top-level)
|
|
59
|
+
labels:
|
|
60
|
+
fr: "{labels.fr}"
|
|
61
|
+
en: "{labels.en}"
|
|
62
|
+
it: "{labels.it}"
|
|
63
|
+
de: "{labels.de}"
|
|
64
|
+
descriptions:
|
|
65
|
+
fr: "{descriptions.fr}"
|
|
66
|
+
en: "{descriptions.en}"
|
|
67
|
+
it: "{descriptions.it}"
|
|
68
|
+
de: "{descriptions.de}"
|
|
69
|
+
icon: "{icon}"
|
|
70
|
+
displayOrder: {display_order}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 2. Parse MCP Response
|
|
74
|
+
|
|
75
|
+
The tool returns:
|
|
76
|
+
- Navigation entity GUID (deterministic)
|
|
77
|
+
- HasData() code for NavigationXxxConfiguration.cs
|
|
78
|
+
- HasData() code for NavigationTranslationConfiguration.cs
|
|
79
|
+
- SeedData class template (optional)
|
|
80
|
+
|
|
81
|
+
### 3. Write Code to Files
|
|
82
|
+
|
|
83
|
+
**CRITICAL:** WRITE the generated code to the actual Configuration files.
|
|
84
|
+
|
|
85
|
+
1. Update `Navigation{Level}Configuration.cs` with the new HasData entry
|
|
86
|
+
2. Update `NavigationTranslationConfiguration.cs` with the 4 translation entries
|
|
87
|
+
|
|
88
|
+
### 4. Store Generated GUID
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
{navigation_guid} = [GUID from MCP response]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## MCP RESPONSE HANDLING
|
|
97
|
+
|
|
98
|
+
### Success Case
|
|
99
|
+
|
|
100
|
+
If MCP returns successfully:
|
|
101
|
+
- Write HasData code to Configuration files
|
|
102
|
+
- Store `{navigation_guid}` for next step
|
|
103
|
+
- Proceed to step-02-permissions.md
|
|
104
|
+
|
|
105
|
+
### Error Case
|
|
106
|
+
|
|
107
|
+
If MCP call fails or `{mcp_available}` = false:
|
|
108
|
+
- Log the error for reference
|
|
109
|
+
- Proceed to FALLBACK PROCEDURE below
|
|
110
|
+
- Do NOT stop the workflow
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## CLIENT PROJECT HANDLING
|
|
115
|
+
|
|
116
|
+
> **Condition:** `{seeding_strategy}` = "provider"
|
|
117
|
+
|
|
118
|
+
For client projects, navigation is NOT seeded via HasData() in Configuration files.
|
|
119
|
+
It will be seeded at runtime via `IClientSeedDataProvider` generated at step 03b.
|
|
120
|
+
|
|
121
|
+
### Actions for a client project:
|
|
122
|
+
|
|
123
|
+
1. **Generate the navigation GUID** (deterministic, same method as core)
|
|
124
|
+
2. **Create the SeedData file** (same pattern as existing)
|
|
125
|
+
- `Infrastructure/Persistence/Seeding/Data/{Domain}/{Module}NavigationSeedData.cs`
|
|
126
|
+
- Contains static GUIDs and `GetNavigationEntries()`
|
|
127
|
+
3. **Create the translations file**
|
|
128
|
+
- `Infrastructure/Persistence/Seeding/Data/{Domain}/{Module}NavigationTranslationSeedData.cs`
|
|
129
|
+
4. **DO NOT search for** `NavigationModuleConfiguration.cs` (does not exist in client projects)
|
|
130
|
+
5. **DO NOT write** HasData() in Configuration files
|
|
131
|
+
6. **Store** `{navigation_guid}` for subsequent steps
|
|
132
|
+
|
|
133
|
+
The SeedData files will be consumed by the `IClientSeedDataProvider` generated at step 03b.
|
|
134
|
+
|
|
135
|
+
**After creating SeedData files:** Store `{navigation_guid}` and proceed to step-02-permissions.md.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## FALLBACK PROCEDURE (When MCP Unavailable)
|
|
140
|
+
|
|
141
|
+
See [references/nav-fallback-procedure.md](../references/nav-fallback-procedure.md) for the complete 8-step fallback:
|
|
142
|
+
- **F1:** Read existing Configuration/SeedData files to determine state
|
|
143
|
+
- **F2:** Determine parent GUID by level
|
|
144
|
+
- **F3:** Generate deterministic GUID (SHA256, never NewGuid())
|
|
145
|
+
- **F4:** Write navigation entity seed (SeedData class or inline HasData)
|
|
146
|
+
- **F5:** Write 4 translation entries (continue existing index sequence)
|
|
147
|
+
- **F6-F8:** Store result, validation checklist, summary
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## SUCCESS METRICS
|
|
152
|
+
|
|
153
|
+
- Navigation entity GUID obtained (via MCP or fallback)
|
|
154
|
+
- HasData code WRITTEN to Configuration files
|
|
155
|
+
- Translation code WRITTEN (4 languages)
|
|
156
|
+
- `{navigation_guid}` stored for step-02
|
|
157
|
+
- Proceeded to step-02-permissions.md
|
|
158
|
+
|
|
159
|
+
## FAILURE MODES
|
|
160
|
+
|
|
161
|
+
- Missing parent path for non-application level (return to step-00)
|
|
162
|
+
- Invalid level (return to step-00)
|
|
163
|
+
- Parent entity not found in existing seeds (ask user for parent GUID)
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## NEXT STEP
|
|
168
|
+
|
|
169
|
+
After navigation seeds are generated (via MCP or fallback) and written to files,
|
|
170
|
+
proceed to `./step-02-permissions.md`
|