@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.
Files changed (228) hide show
  1. package/dist/index.js +16 -24
  2. package/dist/index.js.map +1 -1
  3. package/dist/mcp-entry.mjs +235 -265
  4. package/dist/mcp-entry.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/scripts/extract-api-endpoints.ts +5 -5
  7. package/scripts/generate-doc-with-mock-ui.ts +10 -17
  8. package/templates/agents/ba-reader.md +9 -9
  9. package/templates/agents/ba-writer.md +12 -15
  10. package/templates/agents/code-reviewer.md +1 -1
  11. package/templates/agents/docs-context-reader.md +1 -1
  12. package/templates/agents/efcore/scan.md +3 -1
  13. package/templates/agents/gitflow/commit.md +74 -0
  14. package/templates/agents/gitflow/finish.md +5 -2
  15. package/templates/agents/gitflow/init-clone.md +3 -3
  16. package/templates/agents/gitflow/init-validate.md +3 -2
  17. package/templates/agents/gitflow/merge.md +5 -4
  18. package/templates/agents/gitflow/pr.md +5 -4
  19. package/templates/agents/gitflow/start.md +37 -5
  20. package/templates/hooks/hooks.json +11 -0
  21. package/templates/hooks/wsl-dotnet-cleanup.sh +24 -0
  22. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +20 -20
  23. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +16 -24
  24. package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +2 -2
  25. package/templates/skills/_resources/mcp-validate-documentation-spec.md +3 -3
  26. package/templates/skills/_shared.md +15 -17
  27. package/templates/skills/ai-prompt/SKILL.md +1 -1
  28. package/templates/skills/ai-prompt/steps/step-00-init.md +47 -0
  29. package/templates/skills/apex/SKILL.md +3 -4
  30. package/templates/skills/apex/_shared.md +10 -20
  31. package/templates/skills/apex/references/analysis-methods.md +141 -0
  32. package/templates/skills/apex/references/challenge-questions.md +1 -21
  33. package/templates/skills/apex/references/core-seed-data.md +35 -58
  34. package/templates/skills/apex/references/examine-build-validation.md +82 -0
  35. package/templates/skills/apex/references/execution-frontend-gates.md +177 -0
  36. package/templates/skills/apex/references/execution-frontend-patterns.md +105 -0
  37. package/templates/skills/apex/references/execution-layer1-rules.md +96 -0
  38. package/templates/skills/apex/references/initialization-challenge-flow.md +110 -0
  39. package/templates/skills/apex/references/planning-layer-mapping.md +151 -0
  40. package/templates/skills/apex/references/post-checks.md +145 -40
  41. package/templates/skills/apex/references/smartstack-api.md +35 -51
  42. package/templates/skills/apex/references/smartstack-frontend.md +18 -18
  43. package/templates/skills/apex/references/smartstack-layers.md +38 -62
  44. package/templates/skills/apex/steps/step-00-init.md +14 -26
  45. package/templates/skills/apex/steps/step-01-analyze.md +10 -143
  46. package/templates/skills/apex/steps/step-02-plan.md +10 -92
  47. package/templates/skills/apex/steps/step-03-execute.md +45 -252
  48. package/templates/skills/apex/steps/step-04-examine.md +14 -78
  49. package/templates/skills/apex/steps/step-05-deep-review.md +2 -2
  50. package/templates/skills/apex/steps/step-08-run-tests.md +1 -0
  51. package/templates/skills/application/SKILL.md +241 -242
  52. package/templates/skills/application/references/backend-controller-hierarchy.md +16 -16
  53. package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -0
  54. package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -0
  55. package/templates/skills/application/references/backend-verification.md +1 -1
  56. package/templates/skills/application/references/frontend-i18n-and-output.md +67 -0
  57. package/templates/skills/application/references/frontend-route-naming.md +117 -0
  58. package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -0
  59. package/templates/skills/application/references/frontend-verification.md +12 -12
  60. package/templates/skills/application/references/init-parameter-detection.md +121 -0
  61. package/templates/skills/application/references/migration-checklist-troubleshooting.md +100 -0
  62. package/templates/skills/application/references/nav-fallback-procedure.md +199 -200
  63. package/templates/skills/application/references/provider-template.md +2 -6
  64. package/templates/skills/application/references/roles-client-project-handling.md +55 -0
  65. package/templates/skills/application/references/roles-fallback-procedure.md +149 -0
  66. package/templates/skills/application/references/test-coverage-requirements.md +213 -0
  67. package/templates/skills/application/references/test-frontend.md +3 -3
  68. package/templates/skills/application/steps/step-00-init.md +130 -260
  69. package/templates/skills/application/steps/step-01-navigation.md +170 -170
  70. package/templates/skills/application/steps/step-02-permissions.md +196 -196
  71. package/templates/skills/application/steps/step-03-roles.md +182 -339
  72. package/templates/skills/application/steps/step-03b-provider.md +133 -134
  73. package/templates/skills/application/steps/step-04-backend.md +174 -265
  74. package/templates/skills/application/steps/step-05-frontend.md +18 -144
  75. package/templates/skills/application/steps/step-06-migration.md +12 -60
  76. package/templates/skills/application/steps/step-07-tests.md +9 -76
  77. package/templates/skills/application/templates-backend.md +29 -27
  78. package/templates/skills/application/templates-frontend.md +49 -49
  79. package/templates/skills/application/templates-seed.md +57 -131
  80. package/templates/skills/business-analyse/SKILL.md +27 -30
  81. package/templates/skills/business-analyse/_architecture.md +6 -6
  82. package/templates/skills/business-analyse/_shared.md +60 -88
  83. package/templates/skills/business-analyse/questionnaire/04-data.md +3 -3
  84. package/templates/skills/business-analyse/questionnaire/06-security.md +1 -1
  85. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +1 -1
  86. package/templates/skills/business-analyse/react/application-viewer.md +12 -12
  87. package/templates/skills/business-analyse/react/components.md +8 -12
  88. package/templates/skills/business-analyse/react/schema.md +836 -836
  89. package/templates/skills/business-analyse/references/agent-module-prompt.md +2 -3
  90. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -0
  91. package/templates/skills/business-analyse/references/cache-warming-strategy.md +2 -2
  92. package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -0
  93. package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -0
  94. package/templates/skills/business-analyse/references/cadrage-shared-modules.md +69 -0
  95. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +1 -1
  96. package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -0
  97. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +2 -2
  98. package/templates/skills/business-analyse/references/deploy-modes.md +5 -5
  99. package/templates/skills/business-analyse/references/detection-strategies.md +7 -7
  100. package/templates/skills/business-analyse/references/handoff-file-templates.md +14 -22
  101. package/templates/skills/business-analyse/references/handoff-mappings.md +4 -4
  102. package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -0
  103. package/templates/skills/business-analyse/references/init-schema-deployment.md +3 -3
  104. package/templates/skills/business-analyse/references/naming-conventions.md +22 -24
  105. package/templates/skills/business-analyse/references/prd-generation.md +2 -2
  106. package/templates/skills/business-analyse/references/review-data-mapping.md +2 -2
  107. package/templates/skills/business-analyse/references/robustness-checks.md +1 -1
  108. package/templates/skills/business-analyse/references/spec-auto-inference.md +3 -3
  109. package/templates/skills/business-analyse/references/team-orchestration.md +49 -6
  110. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
  111. package/templates/skills/business-analyse/references/ui-resource-cards.md +18 -18
  112. package/templates/skills/business-analyse/references/validate-incremental-html.md +2 -2
  113. package/templates/skills/business-analyse/references/validation-checklist.md +2 -2
  114. package/templates/skills/business-analyse/schemas/application-schema.json +4 -5
  115. package/templates/skills/business-analyse/schemas/project-schema.json +1 -6
  116. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +2 -3
  117. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +4 -4
  118. package/templates/skills/business-analyse/steps/step-00-init.md +8 -17
  119. package/templates/skills/business-analyse/steps/step-01-cadrage.md +35 -198
  120. package/templates/skills/business-analyse/steps/step-01b-applications.md +16 -20
  121. package/templates/skills/business-analyse/steps/step-02-decomposition.md +1 -1
  122. package/templates/skills/business-analyse/steps/step-03a1-setup.md +4 -4
  123. package/templates/skills/business-analyse/steps/step-03a2-analysis.md +1 -1
  124. package/templates/skills/business-analyse/steps/step-03b-ui.md +4 -4
  125. package/templates/skills/business-analyse/steps/step-03c-compile.md +66 -140
  126. package/templates/skills/business-analyse/steps/step-03d-validate.md +2 -2
  127. package/templates/skills/business-analyse/steps/step-04a-collect.md +2 -2
  128. package/templates/skills/business-analyse/steps/step-04b-analyze.md +42 -160
  129. package/templates/skills/business-analyse/steps/step-04c-decide.md +1 -1
  130. package/templates/skills/business-analyse/steps/step-05a-handoff.md +74 -104
  131. package/templates/skills/business-analyse/steps/step-05b-deploy.md +13 -11
  132. package/templates/skills/business-analyse/steps/step-06-review.md +3 -3
  133. package/templates/skills/business-analyse/templates/tpl-frd.md +13 -13
  134. package/templates/skills/business-analyse/templates/tpl-handoff.md +12 -12
  135. package/templates/skills/business-analyse/templates/tpl-progress.md +1 -1
  136. package/templates/skills/business-analyse/templates-frd.md +25 -25
  137. package/templates/skills/business-analyse/templates-react.md +15 -21
  138. package/templates/skills/controller/SKILL.md +1 -1
  139. package/templates/skills/controller/postman-templates.md +1 -1
  140. package/templates/skills/controller/references/controller-code-templates.md +2 -2
  141. package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -0
  142. package/templates/skills/controller/references/permission-sync-templates.md +13 -16
  143. package/templates/skills/controller/steps/step-00-init.md +11 -11
  144. package/templates/skills/controller/steps/step-03-generate.md +64 -103
  145. package/templates/skills/controller/templates.md +67 -71
  146. package/templates/skills/debug/SKILL.md +13 -218
  147. package/templates/skills/debug/steps/step-00-init.md +57 -0
  148. package/templates/skills/debug/steps/step-01-analyze.md +219 -0
  149. package/templates/skills/debug/steps/step-02-resolve.md +85 -0
  150. package/templates/skills/documentation/SKILL.md +49 -345
  151. package/templates/skills/documentation/data-schema.md +11 -8
  152. package/templates/skills/documentation/steps/step-00-init.md +70 -0
  153. package/templates/skills/documentation/steps/step-01-scan.md +113 -0
  154. package/templates/skills/documentation/steps/step-02-generate.md +231 -0
  155. package/templates/skills/documentation/steps/step-03-validate.md +238 -0
  156. package/templates/skills/documentation/templates.md +480 -322
  157. package/templates/skills/efcore/SKILL.md +1 -1
  158. package/templates/skills/efcore/references/both-contexts.md +32 -0
  159. package/templates/skills/efcore/references/database-operations.md +67 -0
  160. package/templates/skills/efcore/references/destructive-operations.md +38 -0
  161. package/templates/skills/efcore/references/reset-operations.md +81 -0
  162. package/templates/skills/efcore/references/seed-methods.md +86 -0
  163. package/templates/skills/efcore/references/shared-init-functions.md +250 -0
  164. package/templates/skills/efcore/references/sql-objects-injection.md +61 -0
  165. package/templates/skills/efcore/references/troubleshooting.md +81 -0
  166. package/templates/skills/efcore/steps/db/step-deploy.md +1 -32
  167. package/templates/skills/efcore/steps/db/step-reset.md +7 -103
  168. package/templates/skills/efcore/steps/db/step-seed.md +10 -132
  169. package/templates/skills/efcore/steps/db/step-status.md +5 -44
  170. package/templates/skills/efcore/steps/migration/step-02-create.md +1 -14
  171. package/templates/skills/efcore/steps/migration/step-03-validate.md +8 -62
  172. package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +1 -57
  173. package/templates/skills/efcore/steps/shared/step-00-init.md +11 -254
  174. package/templates/skills/efcore/steps/squash/step-03-create.md +1 -58
  175. package/templates/skills/feature-full/SKILL.md +1 -1
  176. package/templates/skills/feature-full/steps/step-00-init.md +57 -0
  177. package/templates/skills/feature-full/steps/step-01-implementation.md +1 -1
  178. package/templates/skills/gitflow/SKILL.md +28 -5
  179. package/templates/skills/gitflow/_shared.md +109 -12
  180. package/templates/skills/gitflow/phases/abort.md +4 -0
  181. package/templates/skills/gitflow/phases/cleanup.md +4 -0
  182. package/templates/skills/gitflow/references/commit-message-generation.md +58 -0
  183. package/templates/skills/gitflow/references/commit-migration-validation.md +49 -0
  184. package/templates/skills/gitflow/references/finish-cleanup.md +55 -0
  185. package/templates/skills/gitflow/references/finish-version-bumping.md +45 -0
  186. package/templates/skills/gitflow/references/init-environment-detection.md +41 -0
  187. package/templates/skills/gitflow/references/init-questions.md +185 -0
  188. package/templates/skills/gitflow/references/init-structure-creation.md +75 -0
  189. package/templates/skills/gitflow/references/init-version-detection.md +21 -0
  190. package/templates/skills/gitflow/references/init-workspace-detection.md +43 -0
  191. package/templates/skills/gitflow/references/merge-ci-status.md +36 -0
  192. package/templates/skills/gitflow/references/merge-execution.md +62 -0
  193. package/templates/skills/gitflow/references/merge-pr-context.md +76 -0
  194. package/templates/skills/gitflow/references/pr-build-checks.md +60 -0
  195. package/templates/skills/gitflow/references/pr-generation.md +58 -0
  196. package/templates/skills/gitflow/references/start-branch-normalization.md +28 -0
  197. package/templates/skills/gitflow/references/start-worktree-creation.md +50 -0
  198. package/templates/skills/gitflow/references/sync-push-verify.md +44 -0
  199. package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -0
  200. package/templates/skills/gitflow/steps/step-commit.md +12 -91
  201. package/templates/skills/gitflow/steps/step-finish.md +15 -159
  202. package/templates/skills/gitflow/steps/step-init.md +24 -326
  203. package/templates/skills/gitflow/steps/step-merge.md +17 -176
  204. package/templates/skills/gitflow/steps/step-pr.md +10 -116
  205. package/templates/skills/gitflow/steps/step-start.md +16 -109
  206. package/templates/skills/gitflow/steps/step-sync.md +6 -69
  207. package/templates/skills/ralph-loop/SKILL.md +6 -0
  208. package/templates/skills/ralph-loop/references/category-completeness.md +185 -0
  209. package/templates/skills/ralph-loop/references/compact-loop.md +1 -1
  210. package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -0
  211. package/templates/skills/ralph-loop/references/module-transition.md +151 -0
  212. package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -0
  213. package/templates/skills/ralph-loop/references/parallel-execution.md +246 -0
  214. package/templates/skills/ralph-loop/references/task-transform-legacy.md +6 -9
  215. package/templates/skills/ralph-loop/references/team-orchestration.md +45 -3
  216. package/templates/skills/ralph-loop/steps/step-00-init.md +36 -109
  217. package/templates/skills/ralph-loop/steps/step-01-task.md +15 -163
  218. package/templates/skills/ralph-loop/steps/step-02-execute.md +8 -154
  219. package/templates/skills/ralph-loop/steps/step-04-check.md +20 -73
  220. package/templates/skills/review-code/references/owasp-api-top10.md +5 -5
  221. package/templates/skills/review-code/references/smartstack-conventions.md +568 -568
  222. package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -0
  223. package/templates/skills/validate-feature/references/db-validation-checks.md +180 -0
  224. package/templates/skills/validate-feature/steps/step-01-compile.md +1 -3
  225. package/templates/skills/validate-feature/steps/step-04-api-smoke.md +34 -145
  226. package/templates/skills/validate-feature/steps/step-05-db-validation.md +74 -260
  227. package/templates/skills/workflow/SKILL.md +1 -1
  228. 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}` | context, application, module, or section |
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 "context"
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-context 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`
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`