@polymorphism-tech/morph-spec 4.11.1 → 4.13.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 (317) hide show
  1. package/README.md +21 -29
  2. package/bin/morph-spec.js +41 -24
  3. package/bin/task-manager.js +962 -1341
  4. package/bin/validate.js +1 -1
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +10 -11
  7. package/docs/QUICKSTART.md +15 -15
  8. package/framework/CLAUDE.md +5 -2
  9. package/framework/agents/README.md +3 -4
  10. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  11. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  12. package/framework/agents/architecture/standards-architect.md +21 -31
  13. package/framework/agents/backend/dotnet-senior.md +160 -86
  14. package/framework/agents/backend/ef-modeler.md +2 -6
  15. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  16. package/framework/agents/backend/ms-agent-expert.md +1 -1
  17. package/framework/agents/frontend/nextjs-expert.md +198 -133
  18. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  19. package/framework/agents/infrastructure/infra-architect.md +191 -27
  20. package/framework/agents/integrations/clerk-auth.md +19 -26
  21. package/framework/agents/integrations/hangfire-integration.md +1 -4
  22. package/framework/agents.json +226 -1454
  23. package/framework/commands/morph-apply.md +4 -4
  24. package/framework/commands/morph-preflight.md +4 -26
  25. package/framework/commands/morph-proposal.md +19 -19
  26. package/framework/commands/morph-status.md +2 -2
  27. package/framework/commands/morph-troubleshoot.md +6 -13
  28. package/framework/hooks/README.md +1 -6
  29. package/framework/hooks/claude-code/post-tool-use/agent-complete.js +122 -0
  30. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  31. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  32. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  34. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  35. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  36. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  37. package/framework/hooks/claude-code/statusline.py +4 -5
  38. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  39. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  40. package/framework/hooks/shared/compact-restore.js +28 -5
  41. package/framework/hooks/shared/dispatch-helpers.js +17 -0
  42. package/framework/hooks/shared/phase-utils.js +4 -8
  43. package/framework/hooks/shared/state-reader.js +34 -3
  44. package/framework/phases.json +7 -45
  45. package/framework/rules/ai-agents-standards.md +15 -0
  46. package/framework/rules/asaas-standards.md +13 -0
  47. package/framework/rules/clerk-standards.md +13 -0
  48. package/framework/rules/csharp-standards.md +8 -4
  49. package/framework/rules/data-standards.md +18 -0
  50. package/framework/rules/dotnet-templates.md +87 -0
  51. package/framework/rules/frontend-standards.md +13 -13
  52. package/framework/rules/hangfire-standards.md +13 -0
  53. package/framework/rules/infrastructure-standards.md +27 -16
  54. package/framework/rules/morph-workflow.md +73 -13
  55. package/framework/rules/nextjs-standards.md +1 -0
  56. package/framework/rules/nextjs-templates.md +40 -0
  57. package/framework/rules/resend-standards.md +12 -0
  58. package/framework/rules/supabase-standards.md +29 -0
  59. package/framework/skills/README.md +6 -8
  60. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  61. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  62. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  63. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  64. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  65. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  66. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  67. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  68. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  69. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  70. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  71. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  72. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  73. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  74. package/framework/skills/level-1-workflows/README.md +1 -1
  75. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  77. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  78. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  79. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  80. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  81. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  82. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  83. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  85. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  86. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  87. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +275 -61
  88. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  89. package/framework/squad-templates/backend-only.json +6 -6
  90. package/framework/squad-templates/frontend-only.json +17 -8
  91. package/framework/squad-templates/full-stack.json +29 -24
  92. package/framework/standards/STANDARDS.json +1021 -2338
  93. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  94. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  95. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  96. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  97. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  98. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  99. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  100. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  101. package/framework/templates/IDE-SNIPPETS.md +2 -6
  102. package/framework/templates/README.md +709 -814
  103. package/framework/templates/REGISTRY.json +223 -762
  104. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  105. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  106. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  107. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  108. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  109. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  110. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  111. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  112. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  113. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  114. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  115. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  116. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  117. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  118. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  119. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  120. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  121. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  122. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  123. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  124. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  125. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  126. package/framework/templates/code/dotnet/test.cs +192 -106
  127. package/framework/templates/context/ARCHITECTURE.md +89 -0
  128. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  129. package/framework/templates/context/CONTEXT.md +180 -181
  130. package/framework/templates/context/design-system.md +342 -211
  131. package/framework/templates/docs/onboarding.md +2 -3
  132. package/framework/templates/docs/proposal.md +171 -182
  133. package/framework/templates/docs/spec.md +1 -3
  134. package/framework/templates/docs/ui-components.md +0 -72
  135. package/framework/templates/examples/design-system-examples.md +4 -4
  136. package/framework/templates/feature/decisions.md +0 -66
  137. package/framework/templates/feature/recap.md +1 -2
  138. package/framework/templates/infrastructure/github/README.md +56 -593
  139. package/framework/templates/integrations/clerk-config.cs +0 -41
  140. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  141. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  142. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  143. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  144. package/framework/templates/project/validate.js +2 -4
  145. package/framework/templates/ui/design-system.css +1 -1
  146. package/framework/workflows/README.md +8 -8
  147. package/framework/workflows/configs/fast-track.json +51 -0
  148. package/framework/workflows/configs/full.json +68 -0
  149. package/framework/workflows/configs/standard.json +7 -3
  150. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  151. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  152. package/framework/workflows/docs/full-morph.md +69 -76
  153. package/framework/workflows/docs/standard.md +49 -44
  154. package/framework/workflows/docs/ui-refresh.md +1 -1
  155. package/package.json +3 -3
  156. package/src/commands/agents/dispatch-agents.js +55 -116
  157. package/src/commands/context/context-refresh.js +79 -0
  158. package/src/commands/mcp/mcp-setup.js +28 -6
  159. package/src/commands/phase/phase-reset.js +1 -1
  160. package/src/commands/project/doctor.js +10 -32
  161. package/src/commands/project/init.js +32 -1
  162. package/src/commands/project/status.js +6 -12
  163. package/src/commands/scaffold/scaffold.js +131 -0
  164. package/src/commands/scope/escalate.js +1 -1
  165. package/src/commands/state/advance-phase.js +15 -29
  166. package/src/commands/state/state.js +20 -5
  167. package/src/commands/tasks/task.js +0 -30
  168. package/src/commands/validation/validate-feature.js +3 -10
  169. package/src/core/paths/output-schema.js +12 -13
  170. package/src/core/state/phase-state-machine.js +211 -217
  171. package/src/core/state/state-manager.js +9 -9
  172. package/src/lib/agents/agents-manager.js +2 -2
  173. package/src/lib/agents/output-collector.js +1 -2
  174. package/src/lib/detectors/design-system-detector.js +4 -4
  175. package/src/lib/detectors/index.js +1 -11
  176. package/src/lib/generators/architecture-scanner.js +640 -0
  177. package/src/lib/generators/context-generator.js +3 -3
  178. package/src/lib/generators/design-system-generator.js +508 -298
  179. package/src/lib/generators/index.js +12 -10
  180. package/src/lib/generators/metadata-extractor.js +386 -387
  181. package/src/lib/generators/recap-generator.js +4 -4
  182. package/src/lib/generators/scaffold-generator.js +317 -0
  183. package/src/lib/generators/settings-generator.js +0 -1
  184. package/src/lib/phase-chain/phase-validator.js +64 -42
  185. package/src/lib/stack/stack-profile.js +2 -2
  186. package/src/lib/standards/digest-builder.js +72 -285
  187. package/src/lib/tasks/task-parser.js +11 -5
  188. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  189. package/src/lib/validators/content/content-validator.js +287 -287
  190. package/src/lib/validators/css/css-validator.js +340 -352
  191. package/src/lib/validators/design-system/design-system-validator.js +11 -5
  192. package/src/lib/validators/packages/package-validator.js +347 -360
  193. package/src/lib/validators/shared/issue-counter.js +14 -18
  194. package/src/lib/validators/validation-runner.js +3 -19
  195. package/src/scripts/setup-infra.js +1 -1
  196. package/src/utils/agents-installer.js +24 -3
  197. package/src/utils/file-copier.js +1 -0
  198. package/src/utils/hooks-installer.js +21 -19
  199. package/src/utils/skills-installer.js +178 -178
  200. package/framework/agents/architecture/prompt-engineer.md +0 -195
  201. package/framework/agents/backend/api-designer.md +0 -106
  202. package/framework/agents/frontend/blazor-builder.md +0 -229
  203. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  204. package/framework/agents/infrastructure/azure-architect.md +0 -150
  205. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  206. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  207. package/framework/agents/infrastructure/container-specialist.md +0 -137
  208. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  209. package/framework/agents/integrations/azure-identity.md +0 -148
  210. package/framework/agents/quality/code-analyzer.md +0 -239
  211. package/framework/agents/quality/testing-specialist.md +0 -130
  212. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  213. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  214. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  215. package/framework/index/troubleshooting-index.json +0 -184
  216. package/framework/rules/testing-standards.md +0 -14
  217. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  218. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  219. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  220. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  221. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  222. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  223. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  224. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  225. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  226. package/framework/standards/architecture/ddd/entities.md +0 -99
  227. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  228. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  229. package/framework/standards/backend/api/minimal-api.md +0 -494
  230. package/framework/standards/backend/api/rest.md +0 -492
  231. package/framework/standards/backend/authentication/passkeys.md +0 -428
  232. package/framework/standards/backend/database/ef-core.md +0 -199
  233. package/framework/standards/backend/database/migrations.md +0 -393
  234. package/framework/standards/backend/database/repository-patterns.md +0 -528
  235. package/framework/standards/backend/dotnet/async.md +0 -366
  236. package/framework/standards/backend/dotnet/core.md +0 -117
  237. package/framework/standards/backend/dotnet/di.md +0 -439
  238. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  239. package/framework/standards/context/analytics.md +0 -96
  240. package/framework/standards/context/bundles.md +0 -110
  241. package/framework/standards/context/priming.md +0 -78
  242. package/framework/standards/core/architecture.md +0 -185
  243. package/framework/standards/core/coding.md +0 -214
  244. package/framework/standards/core/git-branching-strategy.md +0 -403
  245. package/framework/standards/core/git.md +0 -185
  246. package/framework/standards/core/testing.md +0 -295
  247. package/framework/standards/data/nosql/blob-storage.md +0 -102
  248. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  249. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  250. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  251. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  252. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  253. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  254. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  255. package/framework/standards/frontend/blazor/state.md +0 -191
  256. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -213
  257. package/framework/standards/infrastructure/azure/azure.md +0 -624
  258. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  259. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  260. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  261. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  262. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  263. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  264. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  265. package/framework/standards/integration/api/graphql.md +0 -91
  266. package/framework/standards/integration/api/grpc.md +0 -114
  267. package/framework/standards/integration/api/rest-design.md +0 -95
  268. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  269. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  270. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  271. package/framework/standards/observability/logging.md +0 -131
  272. package/framework/standards/observability/metrics.md +0 -121
  273. package/framework/standards/observability/monitoring.md +0 -114
  274. package/framework/standards/observability/tracing.md +0 -132
  275. package/framework/standards/workflows/parallel-execution.md +0 -112
  276. package/framework/standards/workflows/thread-management.md +0 -113
  277. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  278. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  279. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  280. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  281. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  282. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  283. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  284. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  285. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  286. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  287. package/framework/templates/infrastructure/azure/README.md +0 -286
  288. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  289. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  290. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  291. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  292. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  293. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  294. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  295. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  296. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  297. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  298. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  299. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  300. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  301. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  302. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  303. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  304. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  305. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  306. package/framework/templates/saas/subscription.cs +0 -347
  307. package/framework/templates/saas/tenant.cs +0 -338
  308. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  309. package/framework/templates/ui/MudTheme.cs +0 -281
  310. package/framework/workflows/configs/nodejs-cli.json +0 -40
  311. package/src/commands/standards/context-budget.js +0 -89
  312. package/src/lib/standards/index.js +0 -7
  313. package/src/lib/standards/standards-context-injector.js +0 -302
  314. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  315. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  316. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  317. package/src/lib/validators/blazor/index.js +0 -9
@@ -18,11 +18,8 @@
18
18
  "dotnet",
19
19
  "typescript",
20
20
  "sql",
21
- "azure",
22
- "azure-devops",
23
21
  "github-actions",
24
22
  "docker",
25
- "bicep",
26
23
  "handlebars"
27
24
  ],
28
25
  "templates": [
@@ -132,7 +129,7 @@
132
129
  "path": "context/CONTEXT.md",
133
130
  "location": "framework",
134
131
  "category": "context",
135
- "phase": "setup",
132
+ "phase": "proposal",
136
133
  "required": false,
137
134
  "description": "Project-level context with tech stack, active features, agents, standards",
138
135
  "outputName": "CONTEXT.md",
@@ -146,13 +143,33 @@
146
143
  "deprecated": false,
147
144
  "technology": "handlebars"
148
145
  },
146
+ {
147
+ "id": "architecture",
148
+ "name": "Architecture Context",
149
+ "path": "context/ARCHITECTURE.md",
150
+ "location": "framework",
151
+ "category": "context",
152
+ "phase": "proposal",
153
+ "required": false,
154
+ "description": "Auto-scanned architecture context with entities, endpoints, pages, components, integrations, database tables, and package versions",
155
+ "outputName": "ARCHITECTURE.md",
156
+ "placeholders": [
157
+ "projectName",
158
+ "timestamp",
159
+ "morphVersion"
160
+ ],
161
+ "stackSpecific": false,
162
+ "engine": "handlebars",
163
+ "deprecated": false,
164
+ "technology": "handlebars"
165
+ },
149
166
  {
150
167
  "id": "context-feature",
151
168
  "name": "Feature Context",
152
169
  "path": "context/CONTEXT-FEATURE.md",
153
170
  "location": "framework",
154
171
  "category": "context",
155
- "phase": "setup",
172
+ "phase": "proposal",
156
173
  "required": false,
157
174
  "description": "Feature-level context with progress, agents, tasks, decisions, validations",
158
175
  "outputName": "CONTEXT-FEATURE.md",
@@ -199,29 +216,6 @@
199
216
  "deprecated": false,
200
217
  "technology": null
201
218
  },
202
- {
203
- "id": "dotnet-backend-service",
204
- "name": ".NET Service Class",
205
- "path": "code/dotnet/backend/service.cs",
206
- "location": "framework",
207
- "category": "code",
208
- "phase": "implement",
209
- "required": false,
210
- "description": "C# service class template with dependency injection and interface pattern",
211
- "outputName": "{FeatureName}Service.cs",
212
- "placeholders": [
213
- "FEATURE_NAME",
214
- "NAMESPACE"
215
- ],
216
- "stackSpecific": false,
217
- "engine": "handlebars",
218
- "deprecated": false,
219
- "technology": "dotnet",
220
- "applicableStacks": [
221
- "blazor-azure",
222
- "nextjs-supabase"
223
- ]
224
- },
225
219
  {
226
220
  "id": "dotnet-backend-repository",
227
221
  "name": ".NET Repository Class",
@@ -241,7 +235,6 @@
241
235
  "deprecated": false,
242
236
  "technology": "dotnet",
243
237
  "applicableStacks": [
244
- "blazor-azure",
245
238
  "nextjs-supabase"
246
239
  ]
247
240
  },
@@ -264,32 +257,9 @@
264
257
  "deprecated": false,
265
258
  "technology": "dotnet",
266
259
  "applicableStacks": [
267
- "blazor-azure",
268
260
  "nextjs-supabase"
269
261
  ]
270
262
  },
271
- {
272
- "id": "dotnet-frontend-component",
273
- "name": "Blazor Component",
274
- "path": "code/dotnet/frontend/component.razor",
275
- "location": "framework",
276
- "category": "code",
277
- "phase": "implement",
278
- "required": false,
279
- "description": "Blazor component template with code-behind and lifecycle hooks",
280
- "outputName": "{FeatureName}.razor",
281
- "placeholders": [
282
- "FEATURE_NAME",
283
- "NAMESPACE"
284
- ],
285
- "stackSpecific": false,
286
- "engine": "handlebars",
287
- "deprecated": false,
288
- "technology": "dotnet",
289
- "applicableStacks": [
290
- "blazor-azure"
291
- ]
292
- },
293
263
  {
294
264
  "id": "dotnet-database-migration",
295
265
  "name": "EF Core Migration",
@@ -309,7 +279,6 @@
309
279
  "deprecated": false,
310
280
  "technology": "dotnet",
311
281
  "applicableStacks": [
312
- "blazor-azure",
313
282
  "nextjs-supabase"
314
283
  ]
315
284
  },
@@ -332,7 +301,6 @@
332
301
  "deprecated": false,
333
302
  "technology": "dotnet",
334
303
  "applicableStacks": [
335
- "blazor-azure",
336
304
  "nextjs-supabase"
337
305
  ]
338
306
  },
@@ -355,99 +323,6 @@
355
323
  "deprecated": false,
356
324
  "technology": "dotnet",
357
325
  "applicableStacks": [
358
- "blazor-azure",
359
- "nextjs-supabase"
360
- ]
361
- },
362
- {
363
- "id": "dotnet-contracts-commands",
364
- "name": "CQRS Commands",
365
- "path": "code/dotnet/contracts/Commands.cs",
366
- "location": "framework",
367
- "category": "code",
368
- "phase": "design",
369
- "required": false,
370
- "description": "CQRS command contracts following command pattern",
371
- "outputName": "Commands.cs",
372
- "placeholders": [
373
- "FEATURE_NAME",
374
- "NAMESPACE"
375
- ],
376
- "stackSpecific": false,
377
- "engine": "handlebars",
378
- "deprecated": false,
379
- "technology": "dotnet",
380
- "applicableStacks": [
381
- "blazor-azure",
382
- "nextjs-supabase"
383
- ]
384
- },
385
- {
386
- "id": "dotnet-contracts-queries",
387
- "name": "CQRS Queries",
388
- "path": "code/dotnet/contracts/Queries.cs",
389
- "location": "framework",
390
- "category": "code",
391
- "phase": "design",
392
- "required": false,
393
- "description": "CQRS query contracts following query pattern",
394
- "outputName": "Queries.cs",
395
- "placeholders": [
396
- "FEATURE_NAME",
397
- "NAMESPACE"
398
- ],
399
- "stackSpecific": false,
400
- "engine": "handlebars",
401
- "deprecated": false,
402
- "technology": "dotnet",
403
- "applicableStacks": [
404
- "blazor-azure",
405
- "nextjs-supabase"
406
- ]
407
- },
408
- {
409
- "id": "dotnet-contracts-entities",
410
- "name": "Domain Entities",
411
- "path": "code/dotnet/contracts/Entities.cs",
412
- "location": "framework",
413
- "category": "code",
414
- "phase": "design",
415
- "required": false,
416
- "description": "Domain entity definitions with navigation properties",
417
- "outputName": "Entities.cs",
418
- "placeholders": [
419
- "FEATURE_NAME",
420
- "NAMESPACE"
421
- ],
422
- "stackSpecific": false,
423
- "engine": "handlebars",
424
- "deprecated": false,
425
- "technology": "dotnet",
426
- "applicableStacks": [
427
- "blazor-azure",
428
- "nextjs-supabase"
429
- ]
430
- },
431
- {
432
- "id": "dotnet-contracts-api",
433
- "name": "API Contracts",
434
- "path": "code/dotnet/contracts/api-contracts.cs",
435
- "location": "framework",
436
- "category": "code",
437
- "phase": "design",
438
- "required": false,
439
- "description": "REST API request/response contracts",
440
- "outputName": "ApiContracts.cs",
441
- "placeholders": [
442
- "FEATURE_NAME",
443
- "NAMESPACE"
444
- ],
445
- "stackSpecific": false,
446
- "engine": "handlebars",
447
- "deprecated": false,
448
- "technology": "dotnet",
449
- "applicableStacks": [
450
- "blazor-azure",
451
326
  "nextjs-supabase"
452
327
  ]
453
328
  },
@@ -469,7 +344,6 @@
469
344
  "deprecated": false,
470
345
  "technology": "dotnet",
471
346
  "applicableStacks": [
472
- "blazor-azure",
473
347
  "nextjs-supabase"
474
348
  ]
475
349
  },
@@ -490,414 +364,93 @@
490
364
  "DATE"
491
365
  ],
492
366
  "stackSpecific": false,
493
- "engine": "handlebars",
494
- "deprecated": false,
495
- "technology": "dotnet"
496
- },
497
- {
498
- "id": "typescript-contracts",
499
- "name": "TypeScript Contracts",
500
- "path": "code/typescript/contracts.ts",
501
- "location": "framework",
502
- "category": "code",
503
- "phase": "design",
504
- "required": false,
505
- "description": "TypeScript type definitions and interfaces",
506
- "outputName": "contracts.ts",
507
- "placeholders": [
508
- "FEATURE_NAME"
509
- ],
510
- "stackSpecific": false,
511
- "engine": "handlebars",
512
- "deprecated": false,
513
- "technology": "typescript",
514
- "applicableStacks": [
515
- "nextjs-supabase"
516
- ]
517
- },
518
- {
519
- "id": "sql-supabase-migration",
520
- "name": "Supabase Migration",
521
- "path": "code/sql/supabase-migration.sql",
522
- "location": "framework",
523
- "category": "code",
524
- "phase": "implement",
525
- "required": false,
526
- "description": "Supabase SQL migration template (basic)",
527
- "outputName": "{timestamp}_{feature_name}.sql",
528
- "placeholders": [
529
- "FEATURE_NAME"
530
- ],
531
- "stackSpecific": false,
532
- "engine": "handlebars",
533
- "deprecated": false,
534
- "technology": "sql",
535
- "applicableStacks": [
536
- "nextjs-supabase"
537
- ]
538
- },
539
- {
540
- "id": "sql-supabase-migration-enhanced",
541
- "name": "Supabase Migration (Enhanced)",
542
- "path": "code/sql/supabase-migration.template.sql",
543
- "location": "framework",
544
- "category": "code",
545
- "phase": "implement",
546
- "required": false,
547
- "description": "Enhanced Supabase migration with RLS and indexes",
548
- "outputName": "{timestamp}_{feature_name}.sql",
549
- "placeholders": [
550
- "FEATURE_NAME"
551
- ],
552
- "stackSpecific": false,
553
- "engine": "handlebars",
554
- "deprecated": false,
555
- "technology": "sql",
556
- "applicableStacks": [
557
- "nextjs-supabase"
558
- ]
559
- },
560
- {
561
- "id": "sql-rls-policy",
562
- "name": "Row-Level Security Policy",
563
- "path": "code/sql/rls-policy.sql",
564
- "location": "framework",
565
- "category": "code",
566
- "phase": "implement",
567
- "required": false,
568
- "description": "Row-level security policy template for Supabase",
569
- "outputName": "{table_name}_rls_policies.sql",
570
- "placeholders": [
571
- "FEATURE_NAME",
572
- "TABLE_NAME"
573
- ],
574
- "stackSpecific": false,
575
- "engine": "handlebars",
576
- "deprecated": false,
577
- "technology": "sql",
578
- "applicableStacks": [
579
- "nextjs-supabase"
580
- ]
581
- },
582
- {
583
- "id": "azure-bicep-main",
584
- "name": "Main Bicep Orchestration",
585
- "path": "infrastructure/azure/main.bicep",
586
- "location": "framework",
587
- "category": "infrastructure",
588
- "phase": "implement",
589
- "required": true,
590
- "description": "Main Bicep orchestration file for Azure resources",
591
- "outputName": "main.bicep",
592
- "placeholders": [
593
- "PROJECT_NAME",
594
- "ENVIRONMENT"
595
- ],
596
- "stackSpecific": false,
597
- "engine": "handlebars",
598
- "deprecated": false,
599
- "technology": "bicep",
600
- "applicableStacks": [
601
- "blazor-azure"
602
- ]
603
- },
604
- {
605
- "id": "azure-bicep-container-app",
606
- "name": "Azure Container App",
607
- "path": "infrastructure/azure/container-app.bicep",
608
- "location": "framework",
609
- "category": "infrastructure",
610
- "phase": "implement",
611
- "required": false,
612
- "description": "Azure Container App definition with scaling and secrets",
613
- "outputName": "container-app.bicep",
614
- "placeholders": [
615
- "PROJECT_NAME"
616
- ],
617
- "stackSpecific": false,
618
- "engine": "handlebars",
619
- "deprecated": false,
620
- "technology": "bicep",
621
- "applicableStacks": [
622
- "blazor-azure"
623
- ]
624
- },
625
- {
626
- "id": "azure-bicep-container-env",
627
- "name": "Container Apps Environment",
628
- "path": "infrastructure/azure/container-app-env.bicep",
629
- "location": "framework",
630
- "category": "infrastructure",
631
- "phase": "implement",
632
- "required": false,
633
- "description": "Azure Container Apps environment with Log Analytics",
634
- "outputName": "container-app-env.bicep",
635
- "placeholders": [
636
- "PROJECT_NAME"
637
- ],
638
- "stackSpecific": false,
639
- "engine": "handlebars",
640
- "deprecated": false,
641
- "technology": "bicep",
642
- "applicableStacks": [
643
- "blazor-azure"
644
- ]
645
- },
646
- {
647
- "id": "azure-bicep-app-service",
648
- "name": "Azure App Service",
649
- "path": "infrastructure/azure/app-service.bicep",
650
- "location": "framework",
651
- "category": "infrastructure",
652
- "phase": "implement",
653
- "required": false,
654
- "description": "Azure App Service definition (alternative to Container Apps)",
655
- "outputName": "app-service.bicep",
656
- "placeholders": [
657
- "PROJECT_NAME"
658
- ],
659
- "stackSpecific": false,
660
- "engine": "handlebars",
661
- "deprecated": false,
662
- "technology": "bicep",
663
- "applicableStacks": [
664
- "blazor-azure"
665
- ]
666
- },
667
- {
668
- "id": "azure-bicep-sql",
669
- "name": "Azure SQL Database",
670
- "path": "infrastructure/azure/sql-database.bicep",
671
- "location": "framework",
672
- "category": "infrastructure",
673
- "phase": "implement",
674
- "required": false,
675
- "description": "Azure SQL Database with server and firewall rules",
676
- "outputName": "sql-database.bicep",
677
- "placeholders": [
678
- "PROJECT_NAME"
679
- ],
680
- "stackSpecific": false,
681
- "engine": "handlebars",
682
- "deprecated": false,
683
- "technology": "bicep",
684
- "applicableStacks": [
685
- "blazor-azure"
686
- ]
687
- },
688
- {
689
- "id": "azure-bicep-storage",
690
- "name": "Azure Storage Account",
691
- "path": "infrastructure/azure/storage.bicep",
692
- "location": "framework",
693
- "category": "infrastructure",
694
- "phase": "implement",
695
- "required": false,
696
- "description": "Azure Storage Account with blob containers",
697
- "outputName": "storage.bicep",
698
- "placeholders": [
699
- "PROJECT_NAME"
700
- ],
701
- "stackSpecific": false,
702
- "engine": "handlebars",
703
- "deprecated": false,
704
- "technology": "bicep",
705
- "applicableStacks": [
706
- "blazor-azure"
707
- ]
708
- },
709
- {
710
- "id": "azure-bicep-key-vault",
711
- "name": "Azure Key Vault",
712
- "path": "infrastructure/azure/key-vault.bicep",
713
- "location": "framework",
714
- "category": "infrastructure",
715
- "phase": "implement",
716
- "required": false,
717
- "description": "Azure Key Vault for secrets management",
718
- "outputName": "key-vault.bicep",
719
- "placeholders": [
720
- "PROJECT_NAME"
721
- ],
722
- "stackSpecific": false,
723
- "engine": "handlebars",
724
- "deprecated": false,
725
- "technology": "bicep",
726
- "applicableStacks": [
727
- "blazor-azure"
728
- ]
729
- },
730
- {
731
- "id": "azure-bicep-app-insights",
732
- "name": "Application Insights",
733
- "path": "infrastructure/azure/app-insights.bicep",
734
- "location": "framework",
735
- "category": "infrastructure",
736
- "phase": "implement",
737
- "required": false,
738
- "description": "Application Insights for monitoring and telemetry",
739
- "outputName": "app-insights.bicep",
740
- "placeholders": [
741
- "PROJECT_NAME"
742
- ],
743
- "stackSpecific": false,
744
- "engine": "handlebars",
745
- "deprecated": false,
746
- "technology": "bicep",
747
- "applicableStacks": [
748
- "blazor-azure"
749
- ]
750
- },
751
- {
752
- "id": "azure-parameters-dev",
753
- "name": "Parameters (Development)",
754
- "path": "infrastructure/azure/parameters.dev.json",
755
- "location": "framework",
756
- "category": "infrastructure",
757
- "phase": "implement",
758
- "required": false,
759
- "description": "Bicep parameters for development environment",
760
- "outputName": "parameters.dev.json",
761
- "placeholders": [],
762
- "stackSpecific": false,
763
- "engine": null,
764
- "deprecated": false,
765
- "technology": "azure",
766
- "applicableStacks": [
767
- "blazor-azure"
768
- ]
769
- },
770
- {
771
- "id": "azure-parameters-staging",
772
- "name": "Parameters (Staging)",
773
- "path": "infrastructure/azure/parameters.staging.json",
774
- "location": "framework",
775
- "category": "infrastructure",
776
- "phase": "implement",
777
- "required": false,
778
- "description": "Bicep parameters for staging environment",
779
- "outputName": "parameters.staging.json",
780
- "placeholders": [],
781
- "stackSpecific": false,
782
- "engine": null,
783
- "deprecated": false,
784
- "technology": "azure",
785
- "applicableStacks": [
786
- "blazor-azure"
787
- ]
788
- },
789
- {
790
- "id": "azure-parameters-prod",
791
- "name": "Parameters (Production)",
792
- "path": "infrastructure/azure/parameters.prod.json",
793
- "location": "framework",
794
- "category": "infrastructure",
795
- "phase": "implement",
796
- "required": false,
797
- "description": "Bicep parameters for production environment",
798
- "outputName": "parameters.prod.json",
799
- "placeholders": [],
800
- "stackSpecific": false,
801
- "engine": null,
802
- "deprecated": false,
803
- "technology": "azure",
804
- "applicableStacks": [
805
- "blazor-azure"
806
- ]
807
- },
808
- {
809
- "id": "azure-deploy-ps1",
810
- "name": "Deploy Script (PowerShell)",
811
- "path": "infrastructure/azure/deploy.ps1",
812
- "location": "framework",
813
- "category": "infrastructure",
814
- "phase": "implement",
815
- "required": false,
816
- "description": "PowerShell deployment script for Azure",
817
- "outputName": "deploy.ps1",
818
- "placeholders": [],
819
- "stackSpecific": false,
820
- "engine": null,
367
+ "engine": "handlebars",
821
368
  "deprecated": false,
822
- "technology": "azure",
823
- "applicableStacks": [
824
- "blazor-azure"
825
- ]
369
+ "technology": "dotnet"
826
370
  },
827
371
  {
828
- "id": "azure-deploy-sh",
829
- "name": "Deploy Script (Bash)",
830
- "path": "infrastructure/azure/deploy.sh",
372
+ "id": "typescript-contracts",
373
+ "name": "TypeScript Contracts",
374
+ "path": "code/typescript/contracts.ts",
831
375
  "location": "framework",
832
- "category": "infrastructure",
833
- "phase": "implement",
376
+ "category": "code",
377
+ "phase": "design",
834
378
  "required": false,
835
- "description": "Bash deployment script for Azure",
836
- "outputName": "deploy.sh",
837
- "placeholders": [],
379
+ "description": "TypeScript type definitions and interfaces",
380
+ "outputName": "contracts.ts",
381
+ "placeholders": [
382
+ "FEATURE_NAME"
383
+ ],
838
384
  "stackSpecific": false,
839
- "engine": null,
385
+ "engine": "handlebars",
840
386
  "deprecated": false,
841
- "technology": "azure",
387
+ "technology": "typescript",
842
388
  "applicableStacks": [
843
- "blazor-azure"
389
+ "nextjs-supabase"
844
390
  ]
845
391
  },
846
392
  {
847
- "id": "azure-deploy-checklist",
848
- "name": "Deployment Checklist",
849
- "path": "infrastructure/azure/deploy-checklist.md",
393
+ "id": "sql-supabase-migration",
394
+ "name": "Supabase Migration",
395
+ "path": "code/sql/supabase-migration.sql",
850
396
  "location": "framework",
851
- "category": "infrastructure",
397
+ "category": "code",
852
398
  "phase": "implement",
853
399
  "required": false,
854
- "description": "Pre-deployment verification checklist",
855
- "outputName": "deploy-checklist.md",
856
- "placeholders": [],
400
+ "description": "Supabase SQL migration template (basic)",
401
+ "outputName": "{timestamp}_{feature_name}.sql",
402
+ "placeholders": [
403
+ "FEATURE_NAME"
404
+ ],
857
405
  "stackSpecific": false,
858
406
  "engine": "handlebars",
859
407
  "deprecated": false,
860
- "technology": "azure",
408
+ "technology": "sql",
861
409
  "applicableStacks": [
862
- "blazor-azure"
410
+ "nextjs-supabase"
863
411
  ]
864
412
  },
865
413
  {
866
- "id": "azure-dockerfile",
867
- "name": "Dockerfile (Azure)",
868
- "path": "infrastructure/azure/Dockerfile.example",
414
+ "id": "sql-supabase-migration-enhanced",
415
+ "name": "Supabase Migration (Enhanced)",
416
+ "path": "code/sql/supabase-migration.template.sql",
869
417
  "location": "framework",
870
- "category": "infrastructure",
418
+ "category": "code",
871
419
  "phase": "implement",
872
420
  "required": false,
873
- "description": "Example Dockerfile for Azure Container Apps",
874
- "outputName": "Dockerfile",
875
- "placeholders": [],
421
+ "description": "Enhanced Supabase migration with RLS and indexes",
422
+ "outputName": "{timestamp}_{feature_name}.sql",
423
+ "placeholders": [
424
+ "FEATURE_NAME"
425
+ ],
876
426
  "stackSpecific": false,
877
- "engine": null,
427
+ "engine": "handlebars",
878
428
  "deprecated": false,
879
- "technology": "docker",
429
+ "technology": "sql",
880
430
  "applicableStacks": [
881
- "blazor-azure"
431
+ "nextjs-supabase"
882
432
  ]
883
433
  },
884
434
  {
885
- "id": "azure-readme",
886
- "name": "Infrastructure README",
887
- "path": "infrastructure/azure/README.md",
435
+ "id": "sql-rls-policy",
436
+ "name": "Row-Level Security Policy",
437
+ "path": "code/sql/rls-policy.sql",
888
438
  "location": "framework",
889
- "category": "infrastructure",
439
+ "category": "code",
890
440
  "phase": "implement",
891
441
  "required": false,
892
- "description": "Documentation for Azure infrastructure",
893
- "outputName": "README.md",
894
- "placeholders": [],
442
+ "description": "Row-level security policy template for Supabase",
443
+ "outputName": "{table_name}_rls_policies.sql",
444
+ "placeholders": [
445
+ "FEATURE_NAME",
446
+ "TABLE_NAME"
447
+ ],
895
448
  "stackSpecific": false,
896
449
  "engine": "handlebars",
897
450
  "deprecated": false,
898
- "technology": "azure",
451
+ "technology": "sql",
899
452
  "applicableStacks": [
900
- "blazor-azure"
453
+ "nextjs-supabase"
901
454
  ]
902
455
  },
903
456
  {
@@ -1019,7 +572,6 @@
1019
572
  "deprecated": false,
1020
573
  "technology": "dotnet",
1021
574
  "applicableStacks": [
1022
- "blazor-azure",
1023
575
  "nextjs-supabase"
1024
576
  ]
1025
577
  },
@@ -1041,31 +593,9 @@
1041
593
  "deprecated": false,
1042
594
  "technology": "dotnet",
1043
595
  "applicableStacks": [
1044
- "blazor-azure",
1045
596
  "nextjs-supabase"
1046
597
  ]
1047
598
  },
1048
- {
1049
- "id": "integration-azure-identity",
1050
- "name": "Azure Identity Configuration",
1051
- "path": "integrations/azure-identity-config.cs",
1052
- "location": "framework",
1053
- "category": "integration",
1054
- "phase": "implement",
1055
- "required": false,
1056
- "description": "Azure AD/Entra ID authentication configuration",
1057
- "outputName": "AzureIdentityConfig.cs",
1058
- "placeholders": [
1059
- "NAMESPACE"
1060
- ],
1061
- "stackSpecific": false,
1062
- "engine": "handlebars",
1063
- "deprecated": false,
1064
- "technology": "dotnet",
1065
- "applicableStacks": [
1066
- "blazor-azure"
1067
- ]
1068
- },
1069
599
  {
1070
600
  "id": "integration-clerk",
1071
601
  "name": "Clerk Authentication",
@@ -1084,7 +614,6 @@
1084
614
  "deprecated": false,
1085
615
  "technology": "dotnet",
1086
616
  "applicableStacks": [
1087
- "blazor-azure",
1088
617
  "nextjs-supabase"
1089
618
  ]
1090
619
  },
@@ -1106,108 +635,19 @@
1106
635
  "deprecated": false,
1107
636
  "technology": "css",
1108
637
  "applicableStacks": [
1109
- "blazor-azure",
1110
- "nextjs-supabase"
1111
- ]
1112
- },
1113
- {
1114
- "id": "ui-fluent-theme",
1115
- "name": "Fluent Design Theme",
1116
- "path": "ui/FluentDesignTheme.cs",
1117
- "location": "framework",
1118
- "category": "ui",
1119
- "phase": "uiux",
1120
- "required": false,
1121
- "description": "FluentUI Blazor theme configuration (auto-generated)",
1122
- "outputName": "FluentDesignTheme.cs",
1123
- "placeholders": [
1124
- "NAMESPACE"
1125
- ],
1126
- "stackSpecific": false,
1127
- "engine": "handlebars",
1128
- "deprecated": false,
1129
- "autoGenerated": true,
1130
- "technology": "dotnet",
1131
- "applicableStacks": [
1132
- "blazor-azure"
1133
- ]
1134
- },
1135
- {
1136
- "id": "ui-mud-theme",
1137
- "name": "MudBlazor Theme",
1138
- "path": "ui/MudTheme.cs",
1139
- "location": "framework",
1140
- "category": "ui",
1141
- "phase": "uiux",
1142
- "required": false,
1143
- "description": "MudBlazor theme configuration (auto-generated)",
1144
- "outputName": "MudTheme.cs",
1145
- "placeholders": [
1146
- "NAMESPACE"
1147
- ],
1148
- "stackSpecific": false,
1149
- "engine": "handlebars",
1150
- "deprecated": false,
1151
- "autoGenerated": true,
1152
- "technology": "dotnet",
1153
- "applicableStacks": [
1154
- "blazor-azure"
1155
- ]
1156
- },
1157
- {
1158
- "id": "saas-subscription",
1159
- "name": "Subscription Model",
1160
- "path": "saas/subscription.cs",
1161
- "location": "framework",
1162
- "category": "saas",
1163
- "phase": "implement",
1164
- "required": false,
1165
- "description": "Multi-tenant subscription model with billing",
1166
- "outputName": "Subscription.cs",
1167
- "placeholders": [
1168
- "NAMESPACE"
1169
- ],
1170
- "stackSpecific": false,
1171
- "engine": "handlebars",
1172
- "deprecated": false,
1173
- "technology": "dotnet",
1174
- "applicableStacks": [
1175
- "blazor-azure",
1176
- "nextjs-supabase"
1177
- ]
1178
- },
1179
- {
1180
- "id": "saas-tenant",
1181
- "name": "Tenant Model",
1182
- "path": "saas/tenant.cs",
1183
- "location": "framework",
1184
- "category": "saas",
1185
- "phase": "implement",
1186
- "required": false,
1187
- "description": "Multi-tenant tenant model with isolation",
1188
- "outputName": "Tenant.cs",
1189
- "placeholders": [
1190
- "NAMESPACE"
1191
- ],
1192
- "stackSpecific": false,
1193
- "engine": "handlebars",
1194
- "deprecated": false,
1195
- "technology": "dotnet",
1196
- "applicableStacks": [
1197
- "blazor-azure",
1198
638
  "nextjs-supabase"
1199
639
  ]
1200
640
  },
1201
641
  {
1202
642
  "id": "ui-mockups",
1203
643
  "name": "UI Mockups",
1204
- "path": "docs/ui-mockups.md",
644
+ "path": "docs/mockups.md",
1205
645
  "location": "framework",
1206
646
  "category": "documentation",
1207
647
  "phase": "uiux",
1208
648
  "required": false,
1209
649
  "description": "Wireframes and layout specifications with ASCII mockups and responsive breakpoints",
1210
- "outputName": "ui-mockups.md",
650
+ "outputName": "mockups.md",
1211
651
  "placeholders": [
1212
652
  "FEATURE_NAME",
1213
653
  "DATE"
@@ -1220,13 +660,13 @@
1220
660
  {
1221
661
  "id": "ui-flows",
1222
662
  "name": "UI Flows",
1223
- "path": "docs/ui-flows.md",
663
+ "path": "docs/flows.md",
1224
664
  "location": "framework",
1225
665
  "category": "documentation",
1226
666
  "phase": "uiux",
1227
667
  "required": false,
1228
668
  "description": "User flows and interaction patterns with state diagrams and edge cases",
1229
- "outputName": "ui-flows.md",
669
+ "outputName": "flows.md",
1230
670
  "placeholders": [
1231
671
  "FEATURE_NAME",
1232
672
  "DATE"
@@ -1239,13 +679,13 @@
1239
679
  {
1240
680
  "id": "ui-components",
1241
681
  "name": "UI Components",
1242
- "path": "docs/ui-components.md",
682
+ "path": "docs/components.md",
1243
683
  "location": "framework",
1244
684
  "category": "documentation",
1245
685
  "phase": "uiux",
1246
686
  "required": false,
1247
- "description": "Component specifications mapping UI elements to FluentUI/MudBlazor components with props and events",
1248
- "outputName": "ui-components.md",
687
+ "description": "Component specifications mapping UI elements to shadcn/ui components with props and events",
688
+ "outputName": "components.md",
1249
689
  "placeholders": [
1250
690
  "FEATURE_NAME",
1251
691
  "DATE",
@@ -1259,13 +699,13 @@
1259
699
  {
1260
700
  "id": "ui-design-system",
1261
701
  "name": "UI Design System",
1262
- "path": "docs/ui-design-system.md",
702
+ "path": "docs/design-system.md",
1263
703
  "location": "framework",
1264
704
  "category": "documentation",
1265
705
  "phase": "uiux",
1266
706
  "required": false,
1267
707
  "description": "Design system documentation with color palette, typography, spacing, and semantic tokens",
1268
- "outputName": "ui-design-system.md",
708
+ "outputName": "design-system.md",
1269
709
  "placeholders": [
1270
710
  "FEATURE_NAME",
1271
711
  "DATE",
@@ -1292,7 +732,6 @@
1292
732
  ],
1293
733
  "stackSpecific": false,
1294
734
  "applicableStacks": [
1295
- "blazor-azure",
1296
735
  "nextjs-supabase"
1297
736
  ],
1298
737
  "engine": "handlebars",
@@ -1313,35 +752,12 @@
1313
752
  "placeholders": [],
1314
753
  "stackSpecific": false,
1315
754
  "applicableStacks": [
1316
- "blazor-azure",
1317
755
  "nextjs-supabase"
1318
756
  ],
1319
757
  "engine": "handlebars",
1320
758
  "deprecated": false,
1321
759
  "isFragment": true
1322
760
  },
1323
- {
1324
- "id": "github-workflow-deploy-azure-app-service",
1325
- "name": "GitHub Actions - Deploy to Azure App Service",
1326
- "path": "infrastructure/github/workflows/deploy-azure-app-service.yml.hbs",
1327
- "location": "framework",
1328
- "category": "infrastructure",
1329
- "technology": "github-actions",
1330
- "phase": "deploy",
1331
- "required": false,
1332
- "description": "Reusable workflow for deploying .NET applications to Azure App Service with Bicep infrastructure",
1333
- "outputName": "deploy-azure-app-service.yml",
1334
- "placeholders": [
1335
- "DOTNET_VERSION"
1336
- ],
1337
- "stackSpecific": false,
1338
- "applicableStacks": [
1339
- "blazor-azure"
1340
- ],
1341
- "engine": "handlebars",
1342
- "deprecated": false,
1343
- "isFragment": true
1344
- },
1345
761
  {
1346
762
  "id": "github-workflow-deploy-easypanel",
1347
763
  "name": "GitHub Actions - Deploy to EasyPanel",
@@ -1376,7 +792,6 @@
1376
792
  "placeholders": [],
1377
793
  "stackSpecific": false,
1378
794
  "applicableStacks": [
1379
- "blazor-azure",
1380
795
  "nextjs-supabase"
1381
796
  ],
1382
797
  "engine": "handlebars",
@@ -1397,98 +812,12 @@
1397
812
  "placeholders": [],
1398
813
  "stackSpecific": false,
1399
814
  "applicableStacks": [
1400
- "blazor-azure",
1401
815
  "nextjs-supabase"
1402
816
  ],
1403
817
  "engine": "handlebars",
1404
818
  "deprecated": false,
1405
819
  "isFragment": true
1406
820
  },
1407
- {
1408
- "id": "github-action-azure-auth",
1409
- "name": "GitHub Composite Action - Azure OIDC Auth",
1410
- "path": "infrastructure/github/actions/azure-auth/action.yml.hbs",
1411
- "location": "framework",
1412
- "category": "infrastructure",
1413
- "technology": "github-actions",
1414
- "phase": "deploy",
1415
- "required": false,
1416
- "description": "Composite action for Azure authentication using OIDC",
1417
- "outputName": "action.yml",
1418
- "placeholders": [],
1419
- "stackSpecific": false,
1420
- "applicableStacks": [
1421
- "blazor-azure"
1422
- ],
1423
- "engine": "handlebars",
1424
- "deprecated": false,
1425
- "isFragment": true
1426
- },
1427
- {
1428
- "id": "blazor-azure-ci-build",
1429
- "name": "Blazor-Azure CI Build Workflow",
1430
- "path": "infrastructure/github/workflows/ci-build.yml.hbs",
1431
- "location": "stack/blazor-azure",
1432
- "category": "infrastructure",
1433
- "technology": "github-actions",
1434
- "phase": "build",
1435
- "required": true,
1436
- "description": "CI build workflow for Blazor-Azure stack with security checks",
1437
- "outputName": "ci-build.yml",
1438
- "placeholders": [
1439
- "DOTNET_VERSION"
1440
- ],
1441
- "stackSpecific": true,
1442
- "applicableStacks": [
1443
- "blazor-azure"
1444
- ],
1445
- "engine": "handlebars",
1446
- "deprecated": false
1447
- },
1448
- {
1449
- "id": "blazor-azure-cd-staging",
1450
- "name": "Blazor-Azure Staging Deployment",
1451
- "path": "infrastructure/github/workflows/cd-staging.yml.hbs",
1452
- "location": "stack/blazor-azure",
1453
- "category": "infrastructure",
1454
- "technology": "github-actions",
1455
- "phase": "deploy",
1456
- "required": true,
1457
- "description": "Staging deployment workflow for Azure App Service",
1458
- "outputName": "cd-staging.yml",
1459
- "placeholders": [
1460
- "APP_NAME",
1461
- "DOTNET_VERSION"
1462
- ],
1463
- "stackSpecific": true,
1464
- "applicableStacks": [
1465
- "blazor-azure"
1466
- ],
1467
- "engine": "handlebars",
1468
- "deprecated": false
1469
- },
1470
- {
1471
- "id": "blazor-azure-cd-prod",
1472
- "name": "Blazor-Azure Production Deployment",
1473
- "path": "infrastructure/github/workflows/cd-prod.yml.hbs",
1474
- "location": "stack/blazor-azure",
1475
- "category": "infrastructure",
1476
- "technology": "github-actions",
1477
- "phase": "deploy",
1478
- "required": true,
1479
- "description": "Production deployment workflow for Azure App Service with security scanning",
1480
- "outputName": "cd-prod.yml",
1481
- "placeholders": [
1482
- "APP_NAME",
1483
- "DOTNET_VERSION"
1484
- ],
1485
- "stackSpecific": true,
1486
- "applicableStacks": [
1487
- "blazor-azure"
1488
- ],
1489
- "engine": "handlebars",
1490
- "deprecated": false
1491
- },
1492
821
  {
1493
822
  "id": "nextjs-supabase-ci-build",
1494
823
  "name": "NextJS-Supabase CI Build Workflow",
@@ -1563,7 +892,6 @@
1563
892
  "deprecated": false,
1564
893
  "hopType": "squad-leader",
1565
894
  "applicableStacks": [
1566
- "blazor-azure",
1567
895
  "nextjs-supabase"
1568
896
  ]
1569
897
  },
@@ -1576,7 +904,7 @@
1576
904
  "technology": "handlebars",
1577
905
  "phase": "implement",
1578
906
  "required": false,
1579
- "description": "Frontend squad leader HOP for ui-designer with Blazor or Next.js domain leaders and design system standards",
907
+ "description": "Frontend squad leader HOP for ui-designer with Next.js domain leaders and design system standards",
1580
908
  "outputName": "frontend-squad-prompt.md",
1581
909
  "placeholders": [
1582
910
  "AGENT_ID",
@@ -1595,7 +923,6 @@
1595
923
  "deprecated": false,
1596
924
  "hopType": "squad-leader",
1597
925
  "applicableStacks": [
1598
- "blazor-azure",
1599
926
  "nextjs-supabase"
1600
927
  ]
1601
928
  },
@@ -1760,6 +1087,146 @@
1760
1087
  "engine": "handlebars",
1761
1088
  "deprecated": false,
1762
1089
  "hopType": "fusion"
1090
+ },
1091
+ {
1092
+ "id": "dotnet-abstractions-handler",
1093
+ "path": "code/dotnet/abstractions/handler.cs",
1094
+ "category": "abstractions",
1095
+ "stack": "dotnet",
1096
+ "description": "IHandler<TRequest, TResponse> interface"
1097
+ },
1098
+ {
1099
+ "id": "dotnet-abstractions-result",
1100
+ "path": "code/dotnet/abstractions/result.cs",
1101
+ "category": "abstractions",
1102
+ "stack": "dotnet",
1103
+ "description": "Result<T> railway-oriented pattern"
1104
+ },
1105
+ {
1106
+ "id": "dotnet-abstractions-error",
1107
+ "path": "code/dotnet/abstractions/error.cs",
1108
+ "category": "abstractions",
1109
+ "stack": "dotnet",
1110
+ "description": "Error record + ErrorType enum + ValidationError"
1111
+ },
1112
+ {
1113
+ "id": "dotnet-abstractions-api-endpoint",
1114
+ "path": "code/dotnet/abstractions/api-endpoint.cs",
1115
+ "category": "abstractions",
1116
+ "stack": "dotnet",
1117
+ "description": "IApiEndpoint interface for minimal APIs"
1118
+ },
1119
+ {
1120
+ "id": "dotnet-extensions-handler-registration",
1121
+ "path": "code/dotnet/extensions/handler-registration.cs",
1122
+ "category": "extensions",
1123
+ "stack": "dotnet",
1124
+ "description": "Scrutor handler auto-discovery + decorators"
1125
+ },
1126
+ {
1127
+ "id": "dotnet-extensions-map-endpoints",
1128
+ "path": "code/dotnet/extensions/map-endpoints.cs",
1129
+ "category": "extensions",
1130
+ "stack": "dotnet",
1131
+ "description": "IApiEndpoint auto-discovery + mapping"
1132
+ },
1133
+ {
1134
+ "id": "dotnet-extensions-result-extensions",
1135
+ "path": "code/dotnet/extensions/result-extensions.cs",
1136
+ "category": "extensions",
1137
+ "stack": "dotnet",
1138
+ "description": "Match() pattern matching for Result<T>"
1139
+ },
1140
+ {
1141
+ "id": "dotnet-extensions-database",
1142
+ "path": "code/dotnet/extensions/database-extensions.cs",
1143
+ "category": "extensions",
1144
+ "stack": "dotnet",
1145
+ "description": "EF Core + Npgsql database configuration"
1146
+ },
1147
+ {
1148
+ "id": "dotnet-extensions-health-checks",
1149
+ "path": "code/dotnet/extensions/health-checks.cs",
1150
+ "category": "extensions",
1151
+ "stack": "dotnet",
1152
+ "description": "Health check configuration"
1153
+ },
1154
+ {
1155
+ "id": "dotnet-pipelines-validation-decorator",
1156
+ "path": "code/dotnet/pipelines/validation-decorator.cs",
1157
+ "category": "pipelines",
1158
+ "stack": "dotnet",
1159
+ "description": "FluentValidation decorator for handlers"
1160
+ },
1161
+ {
1162
+ "id": "dotnet-pipelines-logging-decorator",
1163
+ "path": "code/dotnet/pipelines/logging-decorator.cs",
1164
+ "category": "pipelines",
1165
+ "stack": "dotnet",
1166
+ "description": "Logging decorator with duration tracking"
1167
+ },
1168
+ {
1169
+ "id": "dotnet-exceptions-handler",
1170
+ "path": "code/dotnet/exceptions/exception-handler.cs",
1171
+ "category": "exceptions",
1172
+ "stack": "dotnet",
1173
+ "description": "IExceptionHandler with ProblemDetails"
1174
+ },
1175
+ {
1176
+ "id": "dotnet-constants-api-tags",
1177
+ "path": "code/dotnet/constants/api-tags.cs",
1178
+ "category": "constants",
1179
+ "stack": "dotnet",
1180
+ "description": "ApiTags constants for endpoint grouping"
1181
+ },
1182
+ {
1183
+ "id": "dotnet-feature-endpoint",
1184
+ "path": "code/dotnet/feature/endpoint.cs.hbs",
1185
+ "category": "feature",
1186
+ "stack": "dotnet",
1187
+ "description": "VSA feature endpoint (IApiEndpoint)"
1188
+ },
1189
+ {
1190
+ "id": "dotnet-feature-handler",
1191
+ "path": "code/dotnet/feature/handler.cs.hbs",
1192
+ "category": "feature",
1193
+ "stack": "dotnet",
1194
+ "description": "VSA feature handler (IHandler)"
1195
+ },
1196
+ {
1197
+ "id": "dotnet-feature-validator",
1198
+ "path": "code/dotnet/feature/validator.cs.hbs",
1199
+ "category": "feature",
1200
+ "stack": "dotnet",
1201
+ "description": "VSA feature validator (AbstractValidator)"
1202
+ },
1203
+ {
1204
+ "id": "dotnet-feature-request",
1205
+ "path": "code/dotnet/feature/request.cs.hbs",
1206
+ "category": "feature",
1207
+ "stack": "dotnet",
1208
+ "description": "VSA feature request (sealed record)"
1209
+ },
1210
+ {
1211
+ "id": "dotnet-feature-response",
1212
+ "path": "code/dotnet/feature/response.cs.hbs",
1213
+ "category": "feature",
1214
+ "stack": "dotnet",
1215
+ "description": "VSA feature response (sealed record)"
1216
+ },
1217
+ {
1218
+ "id": "dotnet-feature-errors",
1219
+ "path": "code/dotnet/feature/errors.cs.hbs",
1220
+ "category": "feature",
1221
+ "stack": "dotnet",
1222
+ "description": "VSA feature error factory"
1223
+ },
1224
+ {
1225
+ "id": "dotnet-feature-entity",
1226
+ "path": "code/dotnet/feature/entity.cs.hbs",
1227
+ "category": "feature",
1228
+ "stack": "dotnet",
1229
+ "description": "VSA feature entity"
1763
1230
  }
1764
1231
  ],
1765
1232
  "stats": {
@@ -1770,7 +1237,7 @@
1770
1237
  "documentation": 4,
1771
1238
  "code": 24,
1772
1239
  "infrastructure": 18,
1773
- "context": 2,
1240
+ "context": 3,
1774
1241
  "examples": 2,
1775
1242
  "integration": 4,
1776
1243
  "saas": 2,
@@ -1781,19 +1248,15 @@
1781
1248
  "dotnet": 26,
1782
1249
  "typescript": 1,
1783
1250
  "sql": 3,
1784
- "bicep": 8,
1785
- "azure": 9,
1786
1251
  "docker": 5,
1787
1252
  "handlebars": 22,
1788
1253
  "css": 1,
1789
1254
  "github-actions": 9
1790
1255
  },
1791
1256
  "byPhase": {
1792
- "setup": 1,
1793
1257
  "proposal": 1,
1794
1258
  "uiux": 6,
1795
1259
  "design": 10,
1796
- "clarify": 0,
1797
1260
  "tasks": 1,
1798
1261
  "implement": 34,
1799
1262
  "completed": 1,
@@ -1815,8 +1278,6 @@
1815
1278
  "dotnet",
1816
1279
  "typescript",
1817
1280
  "sql",
1818
- "bicep",
1819
- "azure",
1820
1281
  "docker"
1821
1282
  ],
1822
1283
  "actionRequired": "Delete stacks/{stack}/.morph/templates/ directories (Phase 6)"