@polymorphism-tech/morph-spec 4.3.3 → 4.3.5

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 (488) hide show
  1. package/.morph/.morphversion +5 -0
  2. package/.morph/analytics/threads-log.jsonl +9 -0
  3. package/{stacks/blazor-azure/.morph → .morph}/config/agents.json +948 -948
  4. package/.morph/config/config.json +9 -0
  5. package/{stacks/blazor-azure/.morph → .morph}/project/context/README.md +1 -1
  6. package/.morph/project/context/detection-log.md +16 -0
  7. package/.morph/project/standards/inferred.md +59 -0
  8. package/.morph/state.json +48 -0
  9. package/.morph/templates/.idea/morph-templates.xml +92 -0
  10. package/.morph/templates/.vscode/morph-templates.code-snippets +186 -0
  11. package/.morph/templates/IDE-SNIPPETS.md +266 -0
  12. package/.morph/templates/README.md +814 -0
  13. package/.morph/templates/REGISTRY.json +1677 -0
  14. package/.morph/templates/code/dotnet/backend/repository.cs +141 -0
  15. package/.morph/templates/code/dotnet/backend/service.cs +139 -0
  16. package/.morph/templates/code/dotnet/contracts/Commands.cs +74 -0
  17. package/.morph/templates/code/dotnet/contracts/Entities.cs +25 -0
  18. package/.morph/templates/code/dotnet/contracts/Queries.cs +74 -0
  19. package/.morph/templates/code/dotnet/contracts/README.md +74 -0
  20. package/.morph/templates/code/dotnet/contracts/api-contracts.cs +173 -0
  21. package/.morph/templates/code/dotnet/contracts/contracts.cs +217 -0
  22. package/.morph/templates/code/dotnet/database/migration.cs +83 -0
  23. package/.morph/templates/code/dotnet/frontend/component.razor +239 -0
  24. package/.morph/templates/code/dotnet/jobs/agent.cs +163 -0
  25. package/.morph/templates/code/dotnet/jobs/job.cs +171 -0
  26. package/.morph/templates/code/dotnet/test.cs +239 -0
  27. package/.morph/templates/code/sql/rls-policy.sql +57 -0
  28. package/.morph/templates/code/sql/supabase-migration.sql +100 -0
  29. package/.morph/templates/code/sql/supabase-migration.template.sql +113 -0
  30. package/.morph/templates/code/typescript/contracts.ts +168 -0
  31. package/.morph/templates/context/CONTEXT-FEATURE.md +276 -0
  32. package/.morph/templates/context/CONTEXT.md +181 -0
  33. package/.morph/templates/docs/proposal.md +182 -0
  34. package/.morph/templates/docs/spec.md +149 -0
  35. package/.morph/templates/examples/design-system-examples.md +357 -0
  36. package/.morph/templates/examples/spec-examples.md +90 -0
  37. package/.morph/templates/feature/decisions.md +187 -0
  38. package/.morph/templates/feature/recap.md +146 -0
  39. package/.morph/templates/feature/tasks.md +199 -0
  40. package/.morph/templates/infrastructure/azure/Dockerfile.example +82 -0
  41. package/.morph/templates/infrastructure/azure/README.md +286 -0
  42. package/.morph/templates/infrastructure/azure/app-insights.bicep +63 -0
  43. package/.morph/templates/infrastructure/azure/app-service.bicep +164 -0
  44. package/.morph/templates/infrastructure/azure/container-app-env.bicep +49 -0
  45. package/.morph/templates/infrastructure/azure/container-app.bicep +156 -0
  46. package/.morph/templates/infrastructure/azure/deploy-checklist.md +426 -0
  47. package/.morph/templates/infrastructure/azure/deploy.ps1 +229 -0
  48. package/.morph/templates/infrastructure/azure/deploy.sh +208 -0
  49. package/.morph/templates/infrastructure/azure/key-vault.bicep +91 -0
  50. package/.morph/templates/infrastructure/azure/main.bicep +189 -0
  51. package/.morph/templates/infrastructure/azure/parameters.dev.json +29 -0
  52. package/.morph/templates/infrastructure/azure/parameters.prod.json +29 -0
  53. package/.morph/templates/infrastructure/azure/parameters.staging.json +29 -0
  54. package/.morph/templates/infrastructure/azure/sql-database.bicep +103 -0
  55. package/.morph/templates/infrastructure/azure/storage.bicep +106 -0
  56. package/.morph/templates/infrastructure/docker/Dockerfile.template +58 -0
  57. package/.morph/templates/infrastructure/docker/docker-compose.template.yml +67 -0
  58. package/.morph/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
  59. package/.morph/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
  60. package/.morph/templates/infrastructure/docker/easypanel.template.json +54 -0
  61. package/.morph/templates/infrastructure/github/README.md +593 -0
  62. package/.morph/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
  63. package/.morph/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
  64. package/.morph/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
  65. package/.morph/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
  66. package/.morph/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
  67. package/.morph/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
  68. package/.morph/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
  69. package/.morph/templates/integrations/asaas-client.cs +387 -0
  70. package/.morph/templates/integrations/asaas-webhook.cs +351 -0
  71. package/.morph/templates/integrations/azure-identity-config.cs +288 -0
  72. package/.morph/templates/integrations/clerk-config.cs +258 -0
  73. package/.morph/templates/meta-prompts/fusion/fusion-agent.md +76 -0
  74. package/.morph/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
  75. package/.morph/templates/meta-prompts/hops/hop-retry.md +78 -0
  76. package/.morph/templates/meta-prompts/hops/hop-validation.md +97 -0
  77. package/.morph/templates/meta-prompts/hops/hop-wrapper.md +36 -0
  78. package/.morph/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
  79. package/.morph/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
  80. package/.morph/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
  81. package/.morph/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
  82. package/.morph/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
  83. package/.morph/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
  84. package/.morph/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
  85. package/.morph/templates/saas/subscription.cs +347 -0
  86. package/.morph/templates/saas/tenant.cs +338 -0
  87. package/.morph/templates/state.template.json +17 -0
  88. package/.morph/templates/ui/FluentDesignTheme.cs +149 -0
  89. package/.morph/templates/ui/MudTheme.cs +281 -0
  90. package/.morph/templates/ui/design-system.css +226 -0
  91. package/bin/detect-agents.js +1 -2
  92. package/bin/morph-spec.js +1 -14
  93. package/framework/agents.json +948 -0
  94. package/{stacks/nextjs-supabase/.claude → framework}/commands/morph-infra.md +1 -1
  95. package/framework/hooks/README.md +282 -0
  96. package/framework/hooks/agent-stop/validate-and-continue.js +96 -0
  97. package/framework/hooks/agent-stop/validate-checkpoints.js +101 -0
  98. package/framework/hooks/agent-stop/validate-tests.js +109 -0
  99. package/framework/hooks/agent-teams/dispatch.js +67 -0
  100. package/framework/hooks/agent-teams/phase-advanced.js +80 -0
  101. package/framework/hooks/agent-teams/task-completed.js +76 -0
  102. package/framework/hooks/agent-teams/teammate-idle.js +70 -0
  103. package/framework/hooks/commit-msg/conventional-commits.sh +33 -0
  104. package/framework/hooks/pre-commit/agents.sh +25 -0
  105. package/framework/hooks/pre-commit/orchestrator.sh +64 -0
  106. package/framework/hooks/pre-commit/specs.sh +50 -0
  107. package/framework/hooks/pre-push/run-tests.sh +44 -0
  108. package/framework/index/troubleshooting-index.json +184 -0
  109. package/framework/memory/patterns-learned.md +766 -0
  110. package/framework/skills/level-0-meta/README.md +7 -0
  111. package/framework/skills/level-0-meta/code-review.md +226 -0
  112. package/framework/skills/level-0-meta/morph-checklist.md +117 -0
  113. package/framework/skills/level-0-meta/simulation-checklist.md +77 -0
  114. package/framework/skills/level-1-workflows/README.md +7 -0
  115. package/framework/skills/level-1-workflows/morph-replicate.md +213 -0
  116. package/framework/skills/level-1-workflows/phase-clarify.md +131 -0
  117. package/framework/skills/level-1-workflows/phase-design.md +213 -0
  118. package/framework/skills/level-1-workflows/phase-setup.md +106 -0
  119. package/framework/skills/level-1-workflows/phase-tasks.md +164 -0
  120. package/framework/skills/level-1-workflows/phase-uiux.md +169 -0
  121. package/framework/skills/level-2-domains/README.md +14 -0
  122. package/framework/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  123. package/framework/skills/level-2-domains/architecture/po-pm-advisor.md +197 -0
  124. package/framework/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  125. package/framework/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  126. package/framework/skills/level-2-domains/architecture/standards-architect.md +156 -0
  127. package/framework/skills/level-2-domains/backend/api-designer.md +59 -0
  128. package/framework/skills/level-2-domains/backend/dotnet-senior.md +77 -0
  129. package/framework/skills/level-2-domains/backend/ef-modeler.md +58 -0
  130. package/framework/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  131. package/framework/skills/level-2-domains/backend/ms-agent-expert.md +45 -0
  132. package/framework/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  133. package/framework/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  134. package/framework/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  135. package/framework/skills/level-2-domains/infrastructure/azure-architect.md +142 -0
  136. package/framework/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  137. package/framework/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  138. package/framework/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  139. package/framework/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  140. package/framework/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  141. package/framework/skills/level-2-domains/integrations/azure-identity.md +142 -0
  142. package/framework/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  143. package/framework/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
  144. package/framework/skills/level-2-domains/integrations/resend-email.md +119 -0
  145. package/framework/skills/level-2-domains/quality/code-analyzer.md +235 -0
  146. package/framework/skills/level-2-domains/quality/testing-specialist.md +126 -0
  147. package/framework/skills/level-3-technologies/README.md +7 -0
  148. package/framework/skills/level-4-patterns/README.md +7 -0
  149. package/framework/squad-templates/backend-only.json +34 -0
  150. package/framework/squad-templates/frontend-only.json +34 -0
  151. package/framework/squad-templates/full-stack.json +52 -0
  152. package/framework/templates/.idea/morph-templates.xml +92 -0
  153. package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
  154. package/framework/templates/IDE-SNIPPETS.md +266 -0
  155. package/framework/templates/README.md +814 -0
  156. package/framework/templates/REGISTRY.json +1677 -0
  157. package/framework/templates/code/dotnet/backend/repository.cs +141 -0
  158. package/framework/templates/code/dotnet/backend/service.cs +139 -0
  159. package/framework/templates/code/dotnet/contracts/Commands.cs +74 -0
  160. package/framework/templates/code/dotnet/contracts/Entities.cs +25 -0
  161. package/framework/templates/code/dotnet/contracts/Queries.cs +74 -0
  162. package/framework/templates/code/dotnet/contracts/README.md +74 -0
  163. package/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -0
  164. package/framework/templates/code/dotnet/contracts/contracts.cs +217 -0
  165. package/framework/templates/code/dotnet/database/migration.cs +83 -0
  166. package/framework/templates/code/dotnet/frontend/component.razor +239 -0
  167. package/framework/templates/code/dotnet/jobs/agent.cs +163 -0
  168. package/framework/templates/code/dotnet/jobs/job.cs +171 -0
  169. package/framework/templates/code/dotnet/test.cs +239 -0
  170. package/framework/templates/code/sql/rls-policy.sql +57 -0
  171. package/framework/templates/code/sql/supabase-migration.sql +100 -0
  172. package/framework/templates/code/sql/supabase-migration.template.sql +113 -0
  173. package/framework/templates/code/typescript/contracts.ts +168 -0
  174. package/framework/templates/context/CONTEXT-FEATURE.md +276 -0
  175. package/framework/templates/context/CONTEXT.md +181 -0
  176. package/framework/templates/docs/proposal.md +182 -0
  177. package/framework/templates/docs/spec.md +149 -0
  178. package/framework/templates/examples/design-system-examples.md +357 -0
  179. package/framework/templates/examples/spec-examples.md +90 -0
  180. package/framework/templates/feature/decisions.md +187 -0
  181. package/framework/templates/feature/recap.md +146 -0
  182. package/framework/templates/feature/tasks.md +199 -0
  183. package/framework/templates/infrastructure/azure/Dockerfile.example +82 -0
  184. package/framework/templates/infrastructure/azure/README.md +286 -0
  185. package/framework/templates/infrastructure/azure/app-insights.bicep +63 -0
  186. package/framework/templates/infrastructure/azure/app-service.bicep +164 -0
  187. package/framework/templates/infrastructure/azure/container-app-env.bicep +49 -0
  188. package/framework/templates/infrastructure/azure/container-app.bicep +156 -0
  189. package/framework/templates/infrastructure/azure/deploy-checklist.md +426 -0
  190. package/framework/templates/infrastructure/azure/deploy.ps1 +229 -0
  191. package/framework/templates/infrastructure/azure/deploy.sh +208 -0
  192. package/framework/templates/infrastructure/azure/key-vault.bicep +91 -0
  193. package/framework/templates/infrastructure/azure/main.bicep +189 -0
  194. package/framework/templates/infrastructure/azure/parameters.dev.json +29 -0
  195. package/framework/templates/infrastructure/azure/parameters.prod.json +29 -0
  196. package/framework/templates/infrastructure/azure/parameters.staging.json +29 -0
  197. package/framework/templates/infrastructure/azure/sql-database.bicep +103 -0
  198. package/framework/templates/infrastructure/azure/storage.bicep +106 -0
  199. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -0
  200. package/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -0
  201. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
  202. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
  203. package/framework/templates/infrastructure/docker/easypanel.template.json +54 -0
  204. package/framework/templates/infrastructure/github/README.md +593 -0
  205. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
  206. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
  207. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
  208. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
  209. package/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
  210. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
  211. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
  212. package/framework/templates/integrations/asaas-client.cs +387 -0
  213. package/framework/templates/integrations/asaas-webhook.cs +351 -0
  214. package/framework/templates/integrations/azure-identity-config.cs +288 -0
  215. package/framework/templates/integrations/clerk-config.cs +258 -0
  216. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -0
  217. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
  218. package/framework/templates/meta-prompts/hops/hop-retry.md +78 -0
  219. package/framework/templates/meta-prompts/hops/hop-validation.md +97 -0
  220. package/framework/templates/meta-prompts/hops/hop-wrapper.md +36 -0
  221. package/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
  222. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
  223. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
  224. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
  225. package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
  226. package/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
  227. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
  228. package/framework/templates/saas/subscription.cs +347 -0
  229. package/framework/templates/saas/tenant.cs +338 -0
  230. package/framework/templates/state.template.json +17 -0
  231. package/framework/templates/ui/FluentDesignTheme.cs +149 -0
  232. package/framework/templates/ui/MudTheme.cs +281 -0
  233. package/framework/templates/ui/design-system.css +226 -0
  234. package/framework/workflows/README.md +1041 -0
  235. package/framework/workflows/configs/design-impl.json +49 -0
  236. package/framework/workflows/configs/fast-track.json +42 -0
  237. package/framework/workflows/configs/full-morph.json +79 -0
  238. package/framework/workflows/configs/fusion.json +39 -0
  239. package/framework/workflows/configs/long-running.json +33 -0
  240. package/framework/workflows/configs/standard.json +60 -0
  241. package/framework/workflows/configs/ui-refresh.json +49 -0
  242. package/framework/workflows/configs/zero-touch.json +75 -0
  243. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -0
  244. package/framework/workflows/docs/design-impl.md +37 -0
  245. package/framework/workflows/docs/enforcement-pipeline.md +668 -0
  246. package/framework/workflows/docs/fast-track.md +29 -0
  247. package/framework/workflows/docs/full-morph.md +76 -0
  248. package/framework/workflows/docs/standard.md +44 -0
  249. package/framework/workflows/docs/ui-refresh.md +39 -0
  250. package/package.json +3 -3
  251. package/src/commands/feature/create-story.js +11 -7
  252. package/src/commands/project/detect-agents.js +1 -2
  253. package/src/commands/project/init.js +69 -32
  254. package/src/commands/project/update.js +102 -15
  255. package/src/commands/templates/template-customize.js +3 -17
  256. package/src/commands/templates/template-list.js +1 -15
  257. package/src/commands/templates/template-render.js +2 -3
  258. package/src/commands/templates/template-show.js +3 -5
  259. package/src/core/templates/template-registry.js +9 -23
  260. package/src/lib/detectors/structure-detector.js +3 -3
  261. package/src/lib/generators/context-generator.js +18 -6
  262. package/src/lib/hooks/hook-executor.js +0 -2
  263. package/src/lib/orchestration/team-orchestrator.js +1 -2
  264. package/src/lib/standards/standards-context-injector.js +3 -4
  265. package/src/lib/troubleshooting/troubleshoot-grep.js +3 -9
  266. package/src/lib/validators/validation-runner.js +1 -2
  267. package/src/utils/file-copier.js +1 -2
  268. package/docs/README.md +0 -144
  269. package/docs/api/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  270. package/docs/api/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  271. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  272. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  273. package/docs/api/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  274. package/docs/api/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  275. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  276. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  277. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  278. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  279. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  280. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  281. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  282. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  283. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  284. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  285. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  286. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  287. package/docs/api/scripts/collapse.js +0 -39
  288. package/docs/api/scripts/commonNav.js +0 -28
  289. package/docs/api/scripts/linenumber.js +0 -25
  290. package/docs/api/scripts/nav.js +0 -12
  291. package/docs/api/scripts/polyfill.js +0 -4
  292. package/docs/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  293. package/docs/api/scripts/prettify/lang-css.js +0 -2
  294. package/docs/api/scripts/prettify/prettify.js +0 -28
  295. package/docs/api/scripts/search.js +0 -99
  296. package/docs/api/styles/jsdoc.css +0 -776
  297. package/docs/api/styles/prettify.css +0 -80
  298. package/docs/cli-auto-detection.md +0 -219
  299. package/docs/getting-started.md +0 -296
  300. package/docs/installation.md +0 -361
  301. package/docs/next-generation/AGENTS.md +0 -521
  302. package/docs/next-generation/ANALYSIS.md +0 -555
  303. package/docs/next-generation/ARCHITECTURE.md +0 -436
  304. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +0 -267
  305. package/docs/next-generation/EXECUTION-FLOW.md +0 -274
  306. package/docs/next-generation/FEATURES.md +0 -688
  307. package/docs/next-generation/META-PROMPTS.md +0 -235
  308. package/docs/next-generation/MIGRATION-GUIDE.md +0 -253
  309. package/docs/next-generation/README.md +0 -231
  310. package/docs/next-generation/ROADMAP.md +0 -801
  311. package/docs/next-generation/THREAD-MANAGEMENT.md +0 -240
  312. package/docs/templates.md +0 -418
  313. package/docs/troubleshooting.md +0 -269
  314. package/docs/validation-checklist.md +0 -264
  315. package/scripts/postinstall.js +0 -132
  316. package/src/lib/stacks/index.js +0 -7
  317. package/src/lib/stacks/stack-resolver.js +0 -180
  318. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  319. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  320. package/stacks/blazor-azure/.morph/.morphversion +0 -5
  321. package/stacks/blazor-azure/.morph/config/config.json +0 -9
  322. package/stacks/blazor-azure/CLAUDE.md +0 -155
  323. package/stacks/blazor-azure/README.md +0 -79
  324. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
  325. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
  326. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
  327. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
  328. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
  329. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
  330. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
  331. package/stacks/nextjs-supabase/.morph/.morphversion +0 -5
  332. package/stacks/nextjs-supabase/.morph/config/agents.json +0 -345
  333. package/stacks/nextjs-supabase/.morph/config/config.json +0 -9
  334. package/stacks/nextjs-supabase/.morph/project/context/README.md +0 -17
  335. package/stacks/nextjs-supabase/CLAUDE.md +0 -155
  336. package/stacks/nextjs-supabase/README.md +0 -103
  337. /package/{stacks/blazor-azure/.morph → .morph}/standards/ai-agents/blazor-ui.md +0 -0
  338. /package/{stacks/blazor-azure/.morph → .morph}/standards/ai-agents/production.md +0 -0
  339. /package/{stacks/blazor-azure/.morph → .morph}/standards/ai-agents/setup.md +0 -0
  340. /package/{stacks/blazor-azure/.morph → .morph}/standards/ai-agents/team-orchestration.md +0 -0
  341. /package/{stacks/blazor-azure/.morph → .morph}/standards/ai-agents/workflows.md +0 -0
  342. /package/{stacks/blazor-azure/.morph → .morph}/standards/architecture/ddd/aggregates.md +0 -0
  343. /package/{stacks/blazor-azure/.morph → .morph}/standards/architecture/ddd/entities.md +0 -0
  344. /package/{stacks/blazor-azure/.morph → .morph}/standards/architecture/ddd/value-objects.md +0 -0
  345. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/api/minimal-api.md +0 -0
  346. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/api/rest.md +0 -0
  347. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/api/validation.md +0 -0
  348. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/authentication/passkeys.md +0 -0
  349. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/database/ef-core.md +0 -0
  350. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/database/migrations.md +0 -0
  351. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/database/postgresql/database.md +0 -0
  352. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/database/repository-patterns.md +0 -0
  353. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/database/vector-search-rag.md +0 -0
  354. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/dotnet/async.md +0 -0
  355. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/dotnet/core.md +0 -0
  356. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/dotnet/di.md +0 -0
  357. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/dotnet/program-cs-checklist.md +0 -0
  358. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/integrations/asaas/asaas-api.md +0 -0
  359. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/integrations/clerk/clerk-auth.md +0 -0
  360. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -0
  361. /package/{stacks/blazor-azure/.morph → .morph}/standards/backend/integrations/resend/resend-email.md +0 -0
  362. /package/{stacks/blazor-azure/.morph → .morph}/standards/context/analytics.md +0 -0
  363. /package/{stacks/blazor-azure/.morph → .morph}/standards/context/bundles.md +0 -0
  364. /package/{stacks/blazor-azure/.morph → .morph}/standards/context/priming.md +0 -0
  365. /package/{stacks/blazor-azure/.morph → .morph}/standards/core/architecture.md +0 -0
  366. /package/{stacks/blazor-azure/.morph → .morph}/standards/core/coding.md +0 -0
  367. /package/{stacks/blazor-azure/.morph → .morph}/standards/core/git-branching-strategy.md +0 -0
  368. /package/{stacks/blazor-azure/.morph → .morph}/standards/core/git.md +0 -0
  369. /package/{stacks/blazor-azure/.morph → .morph}/standards/core/testing.md +0 -0
  370. /package/{stacks/blazor-azure/.morph → .morph}/standards/data/nosql/blob-storage.md +0 -0
  371. /package/{stacks/blazor-azure/.morph → .morph}/standards/data/nosql/cache/redis.md +0 -0
  372. /package/{stacks/blazor-azure/.morph → .morph}/standards/data/nosql/cosmos-db.md +0 -0
  373. /package/{stacks/blazor-azure/.morph → .morph}/standards/data/vector-search/azure-ai-search.md +0 -0
  374. /package/{stacks/blazor-azure/.morph → .morph}/standards/data/vector-search/rag-chunking.md +0 -0
  375. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/design-checklist.md +0 -0
  376. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/fluent-ui-setup.md +0 -0
  377. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/fluent-ui.md +0 -0
  378. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/html-conversion.md +0 -0
  379. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/lifecycle.md +0 -0
  380. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/pitfalls.md +0 -0
  381. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/blazor/state.md +0 -0
  382. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/design-system/animations.md +0 -0
  383. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/design-system/naming.md +0 -0
  384. /package/{stacks/blazor-azure/.morph → .morph}/standards/frontend/nextjs/nextjs-patterns.md +0 -0
  385. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/azure.md +0 -0
  386. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -0
  387. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -0
  388. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/devops/local-development.md +0 -0
  389. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/services/functions.md +0 -0
  390. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/services/service-bus.md +0 -0
  391. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/azure/services/storage.md +0 -0
  392. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/docker/easypanel-deploy.md +0 -0
  393. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/supabase/mcp-setup.md +0 -0
  394. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/supabase/supabase-auth.md +0 -0
  395. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/supabase/supabase-pgvector.md +0 -0
  396. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/supabase/supabase-rls.md +0 -0
  397. /package/{stacks/blazor-azure/.morph → .morph}/standards/infrastructure/supabase/supabase-storage.md +0 -0
  398. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/api/graphql.md +0 -0
  399. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/api/grpc.md +0 -0
  400. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/api/rest-design.md +0 -0
  401. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/event-driven/cqrs.md +0 -0
  402. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/event-driven/event-sourcing.md +0 -0
  403. /package/{stacks/blazor-azure/.morph → .morph}/standards/integration/event-driven/service-bus.md +0 -0
  404. /package/{stacks/blazor-azure/.morph → .morph}/standards/observability/logging.md +0 -0
  405. /package/{stacks/blazor-azure/.morph → .morph}/standards/observability/metrics.md +0 -0
  406. /package/{stacks/blazor-azure/.morph → .morph}/standards/observability/monitoring.md +0 -0
  407. /package/{stacks/blazor-azure/.morph → .morph}/standards/observability/tracing.md +0 -0
  408. /package/{stacks/blazor-azure/.morph → .morph}/standards/workflows/parallel-execution.md +0 -0
  409. /package/{stacks/blazor-azure/.morph → .morph}/standards/workflows/thread-management.md +0 -0
  410. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-apply.md +0 -0
  411. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-archive.md +0 -0
  412. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-preflight.md +0 -0
  413. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-proposal.md +0 -0
  414. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-status.md +0 -0
  415. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-troubleshoot.md +0 -0
  416. /package/{stacks/nextjs-supabase/.morph → framework}/standards/ai-agents/blazor-ui.md +0 -0
  417. /package/{stacks/nextjs-supabase/.morph → framework}/standards/ai-agents/production.md +0 -0
  418. /package/{stacks/nextjs-supabase/.morph → framework}/standards/ai-agents/setup.md +0 -0
  419. /package/{stacks/nextjs-supabase/.morph → framework}/standards/ai-agents/team-orchestration.md +0 -0
  420. /package/{stacks/nextjs-supabase/.morph → framework}/standards/ai-agents/workflows.md +0 -0
  421. /package/{stacks/nextjs-supabase/.morph → framework}/standards/architecture/ddd/aggregates.md +0 -0
  422. /package/{stacks/nextjs-supabase/.morph → framework}/standards/architecture/ddd/entities.md +0 -0
  423. /package/{stacks/nextjs-supabase/.morph → framework}/standards/architecture/ddd/value-objects.md +0 -0
  424. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/api/minimal-api.md +0 -0
  425. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/api/rest.md +0 -0
  426. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/api/validation.md +0 -0
  427. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/authentication/passkeys.md +0 -0
  428. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/database/ef-core.md +0 -0
  429. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/database/migrations.md +0 -0
  430. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/database/postgresql/database.md +0 -0
  431. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/database/repository-patterns.md +0 -0
  432. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/database/vector-search-rag.md +0 -0
  433. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/dotnet/async.md +0 -0
  434. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/dotnet/core.md +0 -0
  435. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/dotnet/di.md +0 -0
  436. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/dotnet/program-cs-checklist.md +0 -0
  437. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/integrations/asaas/asaas-api.md +0 -0
  438. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/integrations/clerk/clerk-auth.md +0 -0
  439. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -0
  440. /package/{stacks/nextjs-supabase/.morph → framework}/standards/backend/integrations/resend/resend-email.md +0 -0
  441. /package/{stacks/nextjs-supabase/.morph → framework}/standards/context/analytics.md +0 -0
  442. /package/{stacks/nextjs-supabase/.morph → framework}/standards/context/bundles.md +0 -0
  443. /package/{stacks/nextjs-supabase/.morph → framework}/standards/context/priming.md +0 -0
  444. /package/{stacks/nextjs-supabase/.morph → framework}/standards/core/architecture.md +0 -0
  445. /package/{stacks/nextjs-supabase/.morph → framework}/standards/core/coding.md +0 -0
  446. /package/{stacks/nextjs-supabase/.morph → framework}/standards/core/git-branching-strategy.md +0 -0
  447. /package/{stacks/nextjs-supabase/.morph → framework}/standards/core/git.md +0 -0
  448. /package/{stacks/nextjs-supabase/.morph → framework}/standards/core/testing.md +0 -0
  449. /package/{stacks/nextjs-supabase/.morph → framework}/standards/data/nosql/blob-storage.md +0 -0
  450. /package/{stacks/nextjs-supabase/.morph → framework}/standards/data/nosql/cache/redis.md +0 -0
  451. /package/{stacks/nextjs-supabase/.morph → framework}/standards/data/nosql/cosmos-db.md +0 -0
  452. /package/{stacks/nextjs-supabase/.morph → framework}/standards/data/vector-search/azure-ai-search.md +0 -0
  453. /package/{stacks/nextjs-supabase/.morph → framework}/standards/data/vector-search/rag-chunking.md +0 -0
  454. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/design-checklist.md +0 -0
  455. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/fluent-ui-setup.md +0 -0
  456. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/fluent-ui.md +0 -0
  457. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/html-conversion.md +0 -0
  458. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/lifecycle.md +0 -0
  459. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/pitfalls.md +0 -0
  460. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/blazor/state.md +0 -0
  461. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/design-system/animations.md +0 -0
  462. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/design-system/naming.md +0 -0
  463. /package/{stacks/nextjs-supabase/.morph → framework}/standards/frontend/nextjs/nextjs-patterns.md +0 -0
  464. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/azure.md +0 -0
  465. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -0
  466. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -0
  467. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/devops/local-development.md +0 -0
  468. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/services/functions.md +0 -0
  469. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/services/service-bus.md +0 -0
  470. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/azure/services/storage.md +0 -0
  471. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/docker/easypanel-deploy.md +0 -0
  472. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/supabase/mcp-setup.md +0 -0
  473. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/supabase/supabase-auth.md +0 -0
  474. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/supabase/supabase-pgvector.md +0 -0
  475. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/supabase/supabase-rls.md +0 -0
  476. /package/{stacks/nextjs-supabase/.morph → framework}/standards/infrastructure/supabase/supabase-storage.md +0 -0
  477. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/api/graphql.md +0 -0
  478. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/api/grpc.md +0 -0
  479. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/api/rest-design.md +0 -0
  480. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/event-driven/cqrs.md +0 -0
  481. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/event-driven/event-sourcing.md +0 -0
  482. /package/{stacks/nextjs-supabase/.morph → framework}/standards/integration/event-driven/service-bus.md +0 -0
  483. /package/{stacks/nextjs-supabase/.morph → framework}/standards/observability/logging.md +0 -0
  484. /package/{stacks/nextjs-supabase/.morph → framework}/standards/observability/metrics.md +0 -0
  485. /package/{stacks/nextjs-supabase/.morph → framework}/standards/observability/monitoring.md +0 -0
  486. /package/{stacks/nextjs-supabase/.morph → framework}/standards/observability/tracing.md +0 -0
  487. /package/{stacks/nextjs-supabase/.morph → framework}/standards/workflows/parallel-execution.md +0 -0
  488. /package/{stacks/nextjs-supabase/.morph → framework}/standards/workflows/thread-management.md +0 -0
@@ -0,0 +1,1677 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "version": "2.0.0",
4
+ "description": "Template Registry for MORPH-SPEC Framework - Technology-based organization for multi-stack reusability",
5
+ "lastUpdated": "2026-02-18",
6
+ "migration": "v1 → v2: Migrated all templates to framework/, organized by technology (code/dotnet/, infrastructure/azure/, etc.) instead of by stack. This enables future stacks (vue-firebase, angular-mongodb) to reuse existing technology templates.",
7
+ "categories": [
8
+ "documentation",
9
+ "code",
10
+ "infrastructure",
11
+ "context",
12
+ "examples",
13
+ "integration",
14
+ "saas",
15
+ "ui"
16
+ ],
17
+ "technologies": [
18
+ "dotnet",
19
+ "typescript",
20
+ "sql",
21
+ "azure",
22
+ "azure-devops",
23
+ "github-actions",
24
+ "docker",
25
+ "bicep",
26
+ "handlebars"
27
+ ],
28
+ "templates": [
29
+ {
30
+ "id": "proposal",
31
+ "name": "Feature Proposal",
32
+ "path": "docs/proposal.md",
33
+ "location": "framework",
34
+ "category": "documentation",
35
+ "phase": "proposal",
36
+ "required": true,
37
+ "description": "Feature proposal with overview, problem statement, solution approach, and cost estimates",
38
+ "outputName": "proposal.md",
39
+ "placeholders": ["FEATURE_NAME", "STACK", "DATE", "AUTHOR"],
40
+ "stackSpecific": false,
41
+ "engine": "handlebars",
42
+ "deprecated": false,
43
+ "technology": "handlebars"
44
+ },
45
+ {
46
+ "id": "spec",
47
+ "name": "Technical Specification",
48
+ "path": "docs/spec.md",
49
+ "location": "framework",
50
+ "category": "documentation",
51
+ "phase": "design",
52
+ "required": true,
53
+ "description": "Detailed technical spec with architecture, data model, API contracts",
54
+ "outputName": "spec.md",
55
+ "placeholders": ["FEATURE_NAME", "STACK", "DATE"],
56
+ "stackSpecific": false,
57
+ "engine": "handlebars",
58
+ "deprecated": false,
59
+ "technology": "handlebars"
60
+ },
61
+ {
62
+ "id": "tasks",
63
+ "name": "Implementation Tasks",
64
+ "path": "feature/tasks.md",
65
+ "location": "framework",
66
+ "category": "documentation",
67
+ "phase": "tasks",
68
+ "required": true,
69
+ "description": "Task breakdown with IDs, dependencies, estimates, and checkpoints",
70
+ "outputName": "tasks.md",
71
+ "placeholders": ["FEATURE_NAME", "STACK"],
72
+ "stackSpecific": false,
73
+ "engine": "handlebars",
74
+ "deprecated": false,
75
+ "technology": "handlebars"
76
+ },
77
+ {
78
+ "id": "decisions",
79
+ "name": "Architecture Decision Records",
80
+ "path": "feature/decisions.md",
81
+ "location": "framework",
82
+ "category": "documentation",
83
+ "phase": "design",
84
+ "required": true,
85
+ "description": "ADR format for documenting architectural decisions with context, alternatives, consequences",
86
+ "outputName": "decisions.md",
87
+ "placeholders": ["FEATURE_NAME", "STACK", "DATE"],
88
+ "stackSpecific": false,
89
+ "engine": "handlebars",
90
+ "deprecated": false,
91
+ "technology": "handlebars"
92
+ },
93
+ {
94
+ "id": "recap",
95
+ "name": "Feature Recap",
96
+ "path": "feature/recap.md",
97
+ "location": "framework",
98
+ "category": "documentation",
99
+ "phase": "completed",
100
+ "required": true,
101
+ "description": "Post-implementation summary with deliverables, metrics, lessons learned",
102
+ "outputName": "recap.md",
103
+ "placeholders": ["FEATURE_NAME", "STACK", "DATE"],
104
+ "stackSpecific": false,
105
+ "engine": "handlebars",
106
+ "deprecated": false,
107
+ "technology": "handlebars"
108
+ },
109
+ {
110
+ "id": "context",
111
+ "name": "Project Context",
112
+ "path": "context/CONTEXT.md",
113
+ "location": "framework",
114
+ "category": "context",
115
+ "phase": "setup",
116
+ "required": false,
117
+ "description": "Project-level context with tech stack, active features, agents, standards",
118
+ "outputName": "CONTEXT.md",
119
+ "placeholders": ["PROJECT_NAME", "STACK", "TIMESTAMP"],
120
+ "stackSpecific": false,
121
+ "engine": "handlebars",
122
+ "deprecated": false,
123
+ "technology": "handlebars"
124
+ },
125
+ {
126
+ "id": "context-feature",
127
+ "name": "Feature Context",
128
+ "path": "context/CONTEXT-FEATURE.md",
129
+ "location": "framework",
130
+ "category": "context",
131
+ "phase": "setup",
132
+ "required": false,
133
+ "description": "Feature-level context with progress, agents, tasks, decisions, validations",
134
+ "outputName": "CONTEXT-FEATURE.md",
135
+ "placeholders": ["FEATURE_NAME", "PHASE", "STATUS", "COMPLEXITY"],
136
+ "stackSpecific": false,
137
+ "engine": "handlebars",
138
+ "deprecated": false,
139
+ "technology": "handlebars"
140
+ },
141
+ {
142
+ "id": "spec-examples",
143
+ "name": "Spec Examples",
144
+ "path": "examples/spec-examples.md",
145
+ "location": "framework",
146
+ "category": "examples",
147
+ "phase": null,
148
+ "required": false,
149
+ "description": "Example technical specs for reference",
150
+ "outputName": null,
151
+ "placeholders": [],
152
+ "stackSpecific": false,
153
+ "engine": null,
154
+ "deprecated": false,
155
+ "technology": null
156
+ },
157
+ {
158
+ "id": "design-system-examples",
159
+ "name": "Design System Examples",
160
+ "path": "examples/design-system-examples.md",
161
+ "location": "framework",
162
+ "category": "examples",
163
+ "phase": null,
164
+ "required": false,
165
+ "description": "Example design system definitions",
166
+ "outputName": null,
167
+ "placeholders": [],
168
+ "stackSpecific": false,
169
+ "engine": null,
170
+ "deprecated": false,
171
+ "technology": null
172
+ },
173
+ {
174
+ "id": "dotnet-backend-service",
175
+ "name": ".NET Service Class",
176
+ "path": "code/dotnet/backend/service.cs",
177
+ "location": "framework",
178
+ "category": "code",
179
+ "phase": "implement",
180
+ "required": false,
181
+ "description": "C# service class template with dependency injection and interface pattern",
182
+ "outputName": "{FeatureName}Service.cs",
183
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
184
+ "stackSpecific": false,
185
+ "engine": "handlebars",
186
+ "deprecated": false,
187
+ "technology": "dotnet",
188
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
189
+ },
190
+ {
191
+ "id": "dotnet-backend-repository",
192
+ "name": ".NET Repository Class",
193
+ "path": "code/dotnet/backend/repository.cs",
194
+ "location": "framework",
195
+ "category": "code",
196
+ "phase": "implement",
197
+ "required": false,
198
+ "description": "C# repository class template with EF Core patterns",
199
+ "outputName": "{FeatureName}Repository.cs",
200
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
201
+ "stackSpecific": false,
202
+ "engine": "handlebars",
203
+ "deprecated": false,
204
+ "technology": "dotnet",
205
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
206
+ },
207
+ {
208
+ "id": "dotnet-backend-test",
209
+ "name": ".NET Unit Test",
210
+ "path": "code/dotnet/test.cs",
211
+ "location": "framework",
212
+ "category": "code",
213
+ "phase": "implement",
214
+ "required": false,
215
+ "description": "xUnit test template with AAA pattern",
216
+ "outputName": "{FeatureName}Tests.cs",
217
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
218
+ "stackSpecific": false,
219
+ "engine": "handlebars",
220
+ "deprecated": false,
221
+ "technology": "dotnet",
222
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
223
+ },
224
+ {
225
+ "id": "dotnet-frontend-component",
226
+ "name": "Blazor Component",
227
+ "path": "code/dotnet/frontend/component.razor",
228
+ "location": "framework",
229
+ "category": "code",
230
+ "phase": "implement",
231
+ "required": false,
232
+ "description": "Blazor component template with code-behind and lifecycle hooks",
233
+ "outputName": "{FeatureName}.razor",
234
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
235
+ "stackSpecific": false,
236
+ "engine": "handlebars",
237
+ "deprecated": false,
238
+ "technology": "dotnet",
239
+ "applicableStacks": ["blazor-azure"]
240
+ },
241
+ {
242
+ "id": "dotnet-database-migration",
243
+ "name": "EF Core Migration",
244
+ "path": "code/dotnet/database/migration.cs",
245
+ "location": "framework",
246
+ "category": "code",
247
+ "phase": "implement",
248
+ "required": false,
249
+ "description": "EF Core migration template with Up/Down methods",
250
+ "outputName": "{Timestamp}_{FeatureName}.cs",
251
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
252
+ "stackSpecific": false,
253
+ "engine": "handlebars",
254
+ "deprecated": false,
255
+ "technology": "dotnet",
256
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
257
+ },
258
+ {
259
+ "id": "dotnet-jobs-hangfire",
260
+ "name": "Hangfire Background Job",
261
+ "path": "code/dotnet/jobs/job.cs",
262
+ "location": "framework",
263
+ "category": "code",
264
+ "phase": "implement",
265
+ "required": false,
266
+ "description": "Hangfire background job template with retry logic",
267
+ "outputName": "{FeatureName}Job.cs",
268
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
269
+ "stackSpecific": false,
270
+ "engine": "handlebars",
271
+ "deprecated": false,
272
+ "technology": "dotnet",
273
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
274
+ },
275
+ {
276
+ "id": "dotnet-jobs-agent",
277
+ "name": "MS Agent Framework Agent",
278
+ "path": "code/dotnet/jobs/agent.cs",
279
+ "location": "framework",
280
+ "category": "code",
281
+ "phase": "implement",
282
+ "required": false,
283
+ "description": "Microsoft Agent Framework agent template with prompt engineering",
284
+ "outputName": "{FeatureName}Agent.cs",
285
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
286
+ "stackSpecific": false,
287
+ "engine": "handlebars",
288
+ "deprecated": false,
289
+ "technology": "dotnet",
290
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
291
+ },
292
+ {
293
+ "id": "dotnet-contracts-base",
294
+ "name": ".NET Base Contracts",
295
+ "path": "code/dotnet/contracts/contracts.cs",
296
+ "location": "framework",
297
+ "category": "code",
298
+ "phase": "design",
299
+ "required": true,
300
+ "description": "C# interface and DTO contracts (unified file)",
301
+ "outputName": "contracts.cs",
302
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
303
+ "stackSpecific": false,
304
+ "engine": "handlebars",
305
+ "deprecated": false,
306
+ "technology": "dotnet",
307
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
308
+ },
309
+ {
310
+ "id": "dotnet-contracts-commands",
311
+ "name": "CQRS Commands",
312
+ "path": "code/dotnet/contracts/Commands.cs",
313
+ "location": "framework",
314
+ "category": "code",
315
+ "phase": "design",
316
+ "required": false,
317
+ "description": "CQRS command contracts following command pattern",
318
+ "outputName": "Commands.cs",
319
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
320
+ "stackSpecific": false,
321
+ "engine": "handlebars",
322
+ "deprecated": false,
323
+ "technology": "dotnet",
324
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
325
+ },
326
+ {
327
+ "id": "dotnet-contracts-queries",
328
+ "name": "CQRS Queries",
329
+ "path": "code/dotnet/contracts/Queries.cs",
330
+ "location": "framework",
331
+ "category": "code",
332
+ "phase": "design",
333
+ "required": false,
334
+ "description": "CQRS query contracts following query pattern",
335
+ "outputName": "Queries.cs",
336
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
337
+ "stackSpecific": false,
338
+ "engine": "handlebars",
339
+ "deprecated": false,
340
+ "technology": "dotnet",
341
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
342
+ },
343
+ {
344
+ "id": "dotnet-contracts-entities",
345
+ "name": "Domain Entities",
346
+ "path": "code/dotnet/contracts/Entities.cs",
347
+ "location": "framework",
348
+ "category": "code",
349
+ "phase": "design",
350
+ "required": false,
351
+ "description": "Domain entity definitions with navigation properties",
352
+ "outputName": "Entities.cs",
353
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
354
+ "stackSpecific": false,
355
+ "engine": "handlebars",
356
+ "deprecated": false,
357
+ "technology": "dotnet",
358
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
359
+ },
360
+ {
361
+ "id": "dotnet-contracts-api",
362
+ "name": "API Contracts",
363
+ "path": "code/dotnet/contracts/api-contracts.cs",
364
+ "location": "framework",
365
+ "category": "code",
366
+ "phase": "design",
367
+ "required": false,
368
+ "description": "REST API request/response contracts",
369
+ "outputName": "ApiContracts.cs",
370
+ "placeholders": ["FEATURE_NAME", "NAMESPACE"],
371
+ "stackSpecific": false,
372
+ "engine": "handlebars",
373
+ "deprecated": false,
374
+ "technology": "dotnet",
375
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
376
+ },
377
+ {
378
+ "id": "dotnet-contracts-readme",
379
+ "name": "Contracts README",
380
+ "path": "code/dotnet/contracts/README.md",
381
+ "location": "framework",
382
+ "category": "documentation",
383
+ "phase": "design",
384
+ "required": false,
385
+ "description": "Documentation for contract patterns and usage",
386
+ "outputName": "README.md",
387
+ "placeholders": ["FEATURE_NAME"],
388
+ "stackSpecific": false,
389
+ "engine": "handlebars",
390
+ "deprecated": false,
391
+ "technology": "dotnet",
392
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
393
+ },
394
+ {
395
+ "id": "typescript-contracts",
396
+ "name": "TypeScript Contracts",
397
+ "path": "code/typescript/contracts.ts",
398
+ "location": "framework",
399
+ "category": "code",
400
+ "phase": "design",
401
+ "required": false,
402
+ "description": "TypeScript type definitions and interfaces",
403
+ "outputName": "contracts.ts",
404
+ "placeholders": ["FEATURE_NAME"],
405
+ "stackSpecific": false,
406
+ "engine": "handlebars",
407
+ "deprecated": false,
408
+ "technology": "typescript",
409
+ "applicableStacks": ["nextjs-supabase"]
410
+ },
411
+ {
412
+ "id": "sql-supabase-migration",
413
+ "name": "Supabase Migration",
414
+ "path": "code/sql/supabase-migration.sql",
415
+ "location": "framework",
416
+ "category": "code",
417
+ "phase": "implement",
418
+ "required": false,
419
+ "description": "Supabase SQL migration template (basic)",
420
+ "outputName": "{timestamp}_{feature_name}.sql",
421
+ "placeholders": ["FEATURE_NAME"],
422
+ "stackSpecific": false,
423
+ "engine": "handlebars",
424
+ "deprecated": false,
425
+ "technology": "sql",
426
+ "applicableStacks": ["nextjs-supabase"]
427
+ },
428
+ {
429
+ "id": "sql-supabase-migration-enhanced",
430
+ "name": "Supabase Migration (Enhanced)",
431
+ "path": "code/sql/supabase-migration.template.sql",
432
+ "location": "framework",
433
+ "category": "code",
434
+ "phase": "implement",
435
+ "required": false,
436
+ "description": "Enhanced Supabase migration with RLS and indexes",
437
+ "outputName": "{timestamp}_{feature_name}.sql",
438
+ "placeholders": ["FEATURE_NAME"],
439
+ "stackSpecific": false,
440
+ "engine": "handlebars",
441
+ "deprecated": false,
442
+ "technology": "sql",
443
+ "applicableStacks": ["nextjs-supabase"]
444
+ },
445
+ {
446
+ "id": "sql-rls-policy",
447
+ "name": "Row-Level Security Policy",
448
+ "path": "code/sql/rls-policy.sql",
449
+ "location": "framework",
450
+ "category": "code",
451
+ "phase": "implement",
452
+ "required": false,
453
+ "description": "Row-level security policy template for Supabase",
454
+ "outputName": "{table_name}_rls_policies.sql",
455
+ "placeholders": ["FEATURE_NAME", "TABLE_NAME"],
456
+ "stackSpecific": false,
457
+ "engine": "handlebars",
458
+ "deprecated": false,
459
+ "technology": "sql",
460
+ "applicableStacks": ["nextjs-supabase"]
461
+ },
462
+ {
463
+ "id": "azure-bicep-main",
464
+ "name": "Main Bicep Orchestration",
465
+ "path": "infrastructure/azure/main.bicep",
466
+ "location": "framework",
467
+ "category": "infrastructure",
468
+ "phase": "implement",
469
+ "required": true,
470
+ "description": "Main Bicep orchestration file for Azure resources",
471
+ "outputName": "main.bicep",
472
+ "placeholders": ["PROJECT_NAME", "ENVIRONMENT"],
473
+ "stackSpecific": false,
474
+ "engine": "handlebars",
475
+ "deprecated": false,
476
+ "technology": "bicep",
477
+ "applicableStacks": ["blazor-azure"]
478
+ },
479
+ {
480
+ "id": "azure-bicep-container-app",
481
+ "name": "Azure Container App",
482
+ "path": "infrastructure/azure/container-app.bicep",
483
+ "location": "framework",
484
+ "category": "infrastructure",
485
+ "phase": "implement",
486
+ "required": false,
487
+ "description": "Azure Container App definition with scaling and secrets",
488
+ "outputName": "container-app.bicep",
489
+ "placeholders": ["PROJECT_NAME"],
490
+ "stackSpecific": false,
491
+ "engine": "handlebars",
492
+ "deprecated": false,
493
+ "technology": "bicep",
494
+ "applicableStacks": ["blazor-azure"]
495
+ },
496
+ {
497
+ "id": "azure-bicep-container-env",
498
+ "name": "Container Apps Environment",
499
+ "path": "infrastructure/azure/container-app-env.bicep",
500
+ "location": "framework",
501
+ "category": "infrastructure",
502
+ "phase": "implement",
503
+ "required": false,
504
+ "description": "Azure Container Apps environment with Log Analytics",
505
+ "outputName": "container-app-env.bicep",
506
+ "placeholders": ["PROJECT_NAME"],
507
+ "stackSpecific": false,
508
+ "engine": "handlebars",
509
+ "deprecated": false,
510
+ "technology": "bicep",
511
+ "applicableStacks": ["blazor-azure"]
512
+ },
513
+ {
514
+ "id": "azure-bicep-app-service",
515
+ "name": "Azure App Service",
516
+ "path": "infrastructure/azure/app-service.bicep",
517
+ "location": "framework",
518
+ "category": "infrastructure",
519
+ "phase": "implement",
520
+ "required": false,
521
+ "description": "Azure App Service definition (alternative to Container Apps)",
522
+ "outputName": "app-service.bicep",
523
+ "placeholders": ["PROJECT_NAME"],
524
+ "stackSpecific": false,
525
+ "engine": "handlebars",
526
+ "deprecated": false,
527
+ "technology": "bicep",
528
+ "applicableStacks": ["blazor-azure"]
529
+ },
530
+ {
531
+ "id": "azure-bicep-sql",
532
+ "name": "Azure SQL Database",
533
+ "path": "infrastructure/azure/sql-database.bicep",
534
+ "location": "framework",
535
+ "category": "infrastructure",
536
+ "phase": "implement",
537
+ "required": false,
538
+ "description": "Azure SQL Database with server and firewall rules",
539
+ "outputName": "sql-database.bicep",
540
+ "placeholders": ["PROJECT_NAME"],
541
+ "stackSpecific": false,
542
+ "engine": "handlebars",
543
+ "deprecated": false,
544
+ "technology": "bicep",
545
+ "applicableStacks": ["blazor-azure"]
546
+ },
547
+ {
548
+ "id": "azure-bicep-storage",
549
+ "name": "Azure Storage Account",
550
+ "path": "infrastructure/azure/storage.bicep",
551
+ "location": "framework",
552
+ "category": "infrastructure",
553
+ "phase": "implement",
554
+ "required": false,
555
+ "description": "Azure Storage Account with blob containers",
556
+ "outputName": "storage.bicep",
557
+ "placeholders": ["PROJECT_NAME"],
558
+ "stackSpecific": false,
559
+ "engine": "handlebars",
560
+ "deprecated": false,
561
+ "technology": "bicep",
562
+ "applicableStacks": ["blazor-azure"]
563
+ },
564
+ {
565
+ "id": "azure-bicep-key-vault",
566
+ "name": "Azure Key Vault",
567
+ "path": "infrastructure/azure/key-vault.bicep",
568
+ "location": "framework",
569
+ "category": "infrastructure",
570
+ "phase": "implement",
571
+ "required": false,
572
+ "description": "Azure Key Vault for secrets management",
573
+ "outputName": "key-vault.bicep",
574
+ "placeholders": ["PROJECT_NAME"],
575
+ "stackSpecific": false,
576
+ "engine": "handlebars",
577
+ "deprecated": false,
578
+ "technology": "bicep",
579
+ "applicableStacks": ["blazor-azure"]
580
+ },
581
+ {
582
+ "id": "azure-bicep-app-insights",
583
+ "name": "Application Insights",
584
+ "path": "infrastructure/azure/app-insights.bicep",
585
+ "location": "framework",
586
+ "category": "infrastructure",
587
+ "phase": "implement",
588
+ "required": false,
589
+ "description": "Application Insights for monitoring and telemetry",
590
+ "outputName": "app-insights.bicep",
591
+ "placeholders": ["PROJECT_NAME"],
592
+ "stackSpecific": false,
593
+ "engine": "handlebars",
594
+ "deprecated": false,
595
+ "technology": "bicep",
596
+ "applicableStacks": ["blazor-azure"]
597
+ },
598
+ {
599
+ "id": "azure-parameters-dev",
600
+ "name": "Parameters (Development)",
601
+ "path": "infrastructure/azure/parameters.dev.json",
602
+ "location": "framework",
603
+ "category": "infrastructure",
604
+ "phase": "implement",
605
+ "required": false,
606
+ "description": "Bicep parameters for development environment",
607
+ "outputName": "parameters.dev.json",
608
+ "placeholders": [],
609
+ "stackSpecific": false,
610
+ "engine": null,
611
+ "deprecated": false,
612
+ "technology": "azure",
613
+ "applicableStacks": ["blazor-azure"]
614
+ },
615
+ {
616
+ "id": "azure-parameters-staging",
617
+ "name": "Parameters (Staging)",
618
+ "path": "infrastructure/azure/parameters.staging.json",
619
+ "location": "framework",
620
+ "category": "infrastructure",
621
+ "phase": "implement",
622
+ "required": false,
623
+ "description": "Bicep parameters for staging environment",
624
+ "outputName": "parameters.staging.json",
625
+ "placeholders": [],
626
+ "stackSpecific": false,
627
+ "engine": null,
628
+ "deprecated": false,
629
+ "technology": "azure",
630
+ "applicableStacks": ["blazor-azure"]
631
+ },
632
+ {
633
+ "id": "azure-parameters-prod",
634
+ "name": "Parameters (Production)",
635
+ "path": "infrastructure/azure/parameters.prod.json",
636
+ "location": "framework",
637
+ "category": "infrastructure",
638
+ "phase": "implement",
639
+ "required": false,
640
+ "description": "Bicep parameters for production environment",
641
+ "outputName": "parameters.prod.json",
642
+ "placeholders": [],
643
+ "stackSpecific": false,
644
+ "engine": null,
645
+ "deprecated": false,
646
+ "technology": "azure",
647
+ "applicableStacks": ["blazor-azure"]
648
+ },
649
+ {
650
+ "id": "azure-deploy-ps1",
651
+ "name": "Deploy Script (PowerShell)",
652
+ "path": "infrastructure/azure/deploy.ps1",
653
+ "location": "framework",
654
+ "category": "infrastructure",
655
+ "phase": "implement",
656
+ "required": false,
657
+ "description": "PowerShell deployment script for Azure",
658
+ "outputName": "deploy.ps1",
659
+ "placeholders": [],
660
+ "stackSpecific": false,
661
+ "engine": null,
662
+ "deprecated": false,
663
+ "technology": "azure",
664
+ "applicableStacks": ["blazor-azure"]
665
+ },
666
+ {
667
+ "id": "azure-deploy-sh",
668
+ "name": "Deploy Script (Bash)",
669
+ "path": "infrastructure/azure/deploy.sh",
670
+ "location": "framework",
671
+ "category": "infrastructure",
672
+ "phase": "implement",
673
+ "required": false,
674
+ "description": "Bash deployment script for Azure",
675
+ "outputName": "deploy.sh",
676
+ "placeholders": [],
677
+ "stackSpecific": false,
678
+ "engine": null,
679
+ "deprecated": false,
680
+ "technology": "azure",
681
+ "applicableStacks": ["blazor-azure"]
682
+ },
683
+ {
684
+ "id": "azure-deploy-checklist",
685
+ "name": "Deployment Checklist",
686
+ "path": "infrastructure/azure/deploy-checklist.md",
687
+ "location": "framework",
688
+ "category": "infrastructure",
689
+ "phase": "implement",
690
+ "required": false,
691
+ "description": "Pre-deployment verification checklist",
692
+ "outputName": "deploy-checklist.md",
693
+ "placeholders": [],
694
+ "stackSpecific": false,
695
+ "engine": "handlebars",
696
+ "deprecated": false,
697
+ "technology": "azure",
698
+ "applicableStacks": ["blazor-azure"]
699
+ },
700
+ {
701
+ "id": "azure-pipelines",
702
+ "name": "Azure Pipelines YAML",
703
+ "path": "infrastructure/azure/azure-pipelines-deploy.yml",
704
+ "location": "framework",
705
+ "category": "infrastructure",
706
+ "phase": "implement",
707
+ "required": false,
708
+ "description": "[DEPRECATED] Replaced by GitHub Actions workflows",
709
+ "outputName": "azure-pipelines-deploy.yml",
710
+ "placeholders": ["PROJECT_NAME"],
711
+ "stackSpecific": false,
712
+ "engine": "handlebars",
713
+ "deprecated": true,
714
+ "deprecationReason": "CI/CD migrated from Azure DevOps to GitHub Actions",
715
+ "technology": "azure",
716
+ "applicableStacks": ["blazor-azure"]
717
+ },
718
+ {
719
+ "id": "azure-devops-build-dotnet",
720
+ "name": "Azure DevOps - Build .NET Template",
721
+ "path": "infrastructure/azure/pipelines/templates/build-dotnet.yml",
722
+ "location": "framework",
723
+ "category": "infrastructure",
724
+ "phase": "implement",
725
+ "required": false,
726
+ "description": "[DEPRECATED] Replaced by GitHub Actions workflows",
727
+ "outputName": "build-dotnet.yml",
728
+ "placeholders": [],
729
+ "stackSpecific": false,
730
+ "engine": "none",
731
+ "deprecated": true,
732
+ "deprecationReason": "CI/CD migrated from Azure DevOps to GitHub Actions",
733
+ "technology": "azure-devops",
734
+ "applicableStacks": ["blazor-azure"]
735
+ },
736
+ {
737
+ "id": "azure-devops-deploy-container-app",
738
+ "name": "Azure DevOps - Deploy Container Apps Template",
739
+ "path": "infrastructure/azure/pipelines/templates/deploy-container-app.yml",
740
+ "location": "framework",
741
+ "category": "infrastructure",
742
+ "phase": "implement",
743
+ "required": false,
744
+ "description": "[DEPRECATED] Replaced by GitHub Actions workflows",
745
+ "outputName": "deploy-container-app.yml",
746
+ "placeholders": [],
747
+ "stackSpecific": false,
748
+ "engine": "none",
749
+ "deprecated": true,
750
+ "deprecationReason": "CI/CD migrated from Azure DevOps to GitHub Actions",
751
+ "technology": "azure-devops",
752
+ "applicableStacks": ["blazor-azure"]
753
+ },
754
+ {
755
+ "id": "azure-devops-deploy-app-service",
756
+ "name": "Azure DevOps - Deploy App Service Template",
757
+ "path": "infrastructure/azure/pipelines/templates/deploy-app-service.yml",
758
+ "location": "framework",
759
+ "category": "infrastructure",
760
+ "phase": "implement",
761
+ "required": false,
762
+ "description": "[DEPRECATED] Replaced by GitHub Actions workflows",
763
+ "outputName": "deploy-app-service.yml",
764
+ "placeholders": [],
765
+ "stackSpecific": false,
766
+ "engine": "none",
767
+ "deprecated": true,
768
+ "deprecationReason": "CI/CD migrated from Azure DevOps to GitHub Actions",
769
+ "technology": "azure-devops",
770
+ "applicableStacks": ["blazor-azure"]
771
+ },
772
+ {
773
+ "id": "azure-devops-infra-deploy",
774
+ "name": "Azure DevOps - Infrastructure Deployment Template",
775
+ "path": "infrastructure/azure/pipelines/templates/infra-deploy.yml",
776
+ "location": "framework",
777
+ "category": "infrastructure",
778
+ "phase": "implement",
779
+ "required": false,
780
+ "description": "[DEPRECATED] Replaced by GitHub Actions workflows",
781
+ "outputName": "infra-deploy.yml",
782
+ "placeholders": [],
783
+ "stackSpecific": false,
784
+ "engine": "none",
785
+ "deprecated": true,
786
+ "deprecationReason": "CI/CD migrated from Azure DevOps to GitHub Actions",
787
+ "technology": "azure-devops",
788
+ "applicableStacks": ["blazor-azure"]
789
+ },
790
+ {
791
+ "id": "azure-dockerfile",
792
+ "name": "Dockerfile (Azure)",
793
+ "path": "infrastructure/azure/Dockerfile.example",
794
+ "location": "framework",
795
+ "category": "infrastructure",
796
+ "phase": "implement",
797
+ "required": false,
798
+ "description": "Example Dockerfile for Azure Container Apps",
799
+ "outputName": "Dockerfile",
800
+ "placeholders": [],
801
+ "stackSpecific": false,
802
+ "engine": null,
803
+ "deprecated": false,
804
+ "technology": "docker",
805
+ "applicableStacks": ["blazor-azure"]
806
+ },
807
+ {
808
+ "id": "azure-readme",
809
+ "name": "Infrastructure README",
810
+ "path": "infrastructure/azure/README.md",
811
+ "location": "framework",
812
+ "category": "infrastructure",
813
+ "phase": "implement",
814
+ "required": false,
815
+ "description": "Documentation for Azure infrastructure",
816
+ "outputName": "README.md",
817
+ "placeholders": [],
818
+ "stackSpecific": false,
819
+ "engine": "handlebars",
820
+ "deprecated": false,
821
+ "technology": "azure",
822
+ "applicableStacks": ["blazor-azure"]
823
+ },
824
+ {
825
+ "id": "docker-dockerfile-api",
826
+ "name": "Dockerfile (.NET API)",
827
+ "path": "infrastructure/docker/dockerfile-api.dockerfile",
828
+ "location": "framework",
829
+ "category": "infrastructure",
830
+ "phase": "implement",
831
+ "required": false,
832
+ "description": ".NET API Dockerfile for EasyPanel/Docker",
833
+ "outputName": "Dockerfile.api",
834
+ "placeholders": [],
835
+ "stackSpecific": false,
836
+ "engine": null,
837
+ "deprecated": false,
838
+ "technology": "docker",
839
+ "applicableStacks": ["nextjs-supabase"]
840
+ },
841
+ {
842
+ "id": "docker-dockerfile-web",
843
+ "name": "Dockerfile (Next.js Web)",
844
+ "path": "infrastructure/docker/dockerfile-web.dockerfile",
845
+ "location": "framework",
846
+ "category": "infrastructure",
847
+ "phase": "implement",
848
+ "required": false,
849
+ "description": "Next.js web Dockerfile for EasyPanel/Docker",
850
+ "outputName": "Dockerfile.web",
851
+ "placeholders": [],
852
+ "stackSpecific": false,
853
+ "engine": null,
854
+ "deprecated": false,
855
+ "technology": "docker",
856
+ "applicableStacks": ["nextjs-supabase"]
857
+ },
858
+ {
859
+ "id": "docker-dockerfile-generic",
860
+ "name": "Dockerfile (Generic)",
861
+ "path": "infrastructure/docker/Dockerfile.template",
862
+ "location": "framework",
863
+ "category": "infrastructure",
864
+ "phase": "implement",
865
+ "required": false,
866
+ "description": "Generic multi-stage Dockerfile template",
867
+ "outputName": "Dockerfile",
868
+ "placeholders": ["PROJECT_NAME"],
869
+ "stackSpecific": false,
870
+ "engine": "handlebars",
871
+ "deprecated": false,
872
+ "technology": "docker",
873
+ "applicableStacks": ["nextjs-supabase"]
874
+ },
875
+ {
876
+ "id": "docker-compose",
877
+ "name": "Docker Compose",
878
+ "path": "infrastructure/docker/docker-compose.template.yml",
879
+ "location": "framework",
880
+ "category": "infrastructure",
881
+ "phase": "implement",
882
+ "required": false,
883
+ "description": "Docker Compose for local development environment",
884
+ "outputName": "docker-compose.yml",
885
+ "placeholders": ["PROJECT_NAME"],
886
+ "stackSpecific": false,
887
+ "engine": "handlebars",
888
+ "deprecated": false,
889
+ "technology": "docker",
890
+ "applicableStacks": ["nextjs-supabase"]
891
+ },
892
+ {
893
+ "id": "easypanel-config",
894
+ "name": "EasyPanel Configuration",
895
+ "path": "infrastructure/docker/easypanel.template.json",
896
+ "location": "framework",
897
+ "category": "infrastructure",
898
+ "phase": "implement",
899
+ "required": false,
900
+ "description": "EasyPanel deployment configuration",
901
+ "outputName": "easypanel.json",
902
+ "placeholders": ["PROJECT_NAME"],
903
+ "stackSpecific": false,
904
+ "engine": "handlebars",
905
+ "deprecated": false,
906
+ "technology": "docker",
907
+ "applicableStacks": ["nextjs-supabase"]
908
+ },
909
+ {
910
+ "id": "integration-asaas-client",
911
+ "name": "Asaas Financial Client",
912
+ "path": "integrations/asaas-client.cs",
913
+ "location": "framework",
914
+ "category": "integration",
915
+ "phase": "implement",
916
+ "required": false,
917
+ "description": "Asaas financial API client implementation",
918
+ "outputName": "AsaasClient.cs",
919
+ "placeholders": ["NAMESPACE"],
920
+ "stackSpecific": false,
921
+ "engine": "handlebars",
922
+ "deprecated": false,
923
+ "technology": "dotnet",
924
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
925
+ },
926
+ {
927
+ "id": "integration-asaas-webhook",
928
+ "name": "Asaas Webhook Handler",
929
+ "path": "integrations/asaas-webhook.cs",
930
+ "location": "framework",
931
+ "category": "integration",
932
+ "phase": "implement",
933
+ "required": false,
934
+ "description": "Asaas webhook handler for payment events",
935
+ "outputName": "AsaasWebhookHandler.cs",
936
+ "placeholders": ["NAMESPACE"],
937
+ "stackSpecific": false,
938
+ "engine": "handlebars",
939
+ "deprecated": false,
940
+ "technology": "dotnet",
941
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
942
+ },
943
+ {
944
+ "id": "integration-azure-identity",
945
+ "name": "Azure Identity Configuration",
946
+ "path": "integrations/azure-identity-config.cs",
947
+ "location": "framework",
948
+ "category": "integration",
949
+ "phase": "implement",
950
+ "required": false,
951
+ "description": "Azure AD/Entra ID authentication configuration",
952
+ "outputName": "AzureIdentityConfig.cs",
953
+ "placeholders": ["NAMESPACE"],
954
+ "stackSpecific": false,
955
+ "engine": "handlebars",
956
+ "deprecated": false,
957
+ "technology": "dotnet",
958
+ "applicableStacks": ["blazor-azure"]
959
+ },
960
+ {
961
+ "id": "integration-clerk",
962
+ "name": "Clerk Authentication",
963
+ "path": "integrations/clerk-config.cs",
964
+ "location": "framework",
965
+ "category": "integration",
966
+ "phase": "implement",
967
+ "required": false,
968
+ "description": "Clerk authentication configuration",
969
+ "outputName": "ClerkConfig.cs",
970
+ "placeholders": ["NAMESPACE"],
971
+ "stackSpecific": false,
972
+ "engine": "handlebars",
973
+ "deprecated": false,
974
+ "technology": "dotnet",
975
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
976
+ },
977
+ {
978
+ "id": "ui-design-system-css",
979
+ "name": "Design System CSS",
980
+ "path": "ui/design-system.css",
981
+ "location": "framework",
982
+ "category": "ui",
983
+ "phase": "uiux",
984
+ "required": false,
985
+ "description": "CSS design tokens and variables (colors, spacing, typography)",
986
+ "outputName": "design-system.css",
987
+ "placeholders": ["PROJECT_NAME"],
988
+ "stackSpecific": false,
989
+ "engine": "handlebars",
990
+ "deprecated": false,
991
+ "technology": "css",
992
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
993
+ },
994
+ {
995
+ "id": "ui-fluent-theme",
996
+ "name": "Fluent Design Theme",
997
+ "path": "ui/FluentDesignTheme.cs",
998
+ "location": "framework",
999
+ "category": "ui",
1000
+ "phase": "uiux",
1001
+ "required": false,
1002
+ "description": "FluentUI Blazor theme configuration (auto-generated)",
1003
+ "outputName": "FluentDesignTheme.cs",
1004
+ "placeholders": ["NAMESPACE"],
1005
+ "stackSpecific": false,
1006
+ "engine": "handlebars",
1007
+ "deprecated": false,
1008
+ "autoGenerated": true,
1009
+ "technology": "dotnet",
1010
+ "applicableStacks": ["blazor-azure"]
1011
+ },
1012
+ {
1013
+ "id": "ui-mud-theme",
1014
+ "name": "MudBlazor Theme",
1015
+ "path": "ui/MudTheme.cs",
1016
+ "location": "framework",
1017
+ "category": "ui",
1018
+ "phase": "uiux",
1019
+ "required": false,
1020
+ "description": "MudBlazor theme configuration (auto-generated)",
1021
+ "outputName": "MudTheme.cs",
1022
+ "placeholders": ["NAMESPACE"],
1023
+ "stackSpecific": false,
1024
+ "engine": "handlebars",
1025
+ "deprecated": false,
1026
+ "autoGenerated": true,
1027
+ "technology": "dotnet",
1028
+ "applicableStacks": ["blazor-azure"]
1029
+ },
1030
+ {
1031
+ "id": "saas-subscription",
1032
+ "name": "Subscription Model",
1033
+ "path": "saas/subscription.cs",
1034
+ "location": "framework",
1035
+ "category": "saas",
1036
+ "phase": "implement",
1037
+ "required": false,
1038
+ "description": "Multi-tenant subscription model with billing",
1039
+ "outputName": "Subscription.cs",
1040
+ "placeholders": ["NAMESPACE"],
1041
+ "stackSpecific": false,
1042
+ "engine": "handlebars",
1043
+ "deprecated": false,
1044
+ "technology": "dotnet",
1045
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
1046
+ },
1047
+ {
1048
+ "id": "saas-tenant",
1049
+ "name": "Tenant Model",
1050
+ "path": "saas/tenant.cs",
1051
+ "location": "framework",
1052
+ "category": "saas",
1053
+ "phase": "implement",
1054
+ "required": false,
1055
+ "description": "Multi-tenant tenant model with isolation",
1056
+ "outputName": "Tenant.cs",
1057
+ "placeholders": ["NAMESPACE"],
1058
+ "stackSpecific": false,
1059
+ "engine": "handlebars",
1060
+ "deprecated": false,
1061
+ "technology": "dotnet",
1062
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
1063
+ },
1064
+ {
1065
+ "id": "story",
1066
+ "name": "User Stories",
1067
+ "path": "story.md",
1068
+ "location": "framework",
1069
+ "category": "documentation",
1070
+ "phase": "clarify",
1071
+ "required": false,
1072
+ "description": "[DEPRECATED] Use create-story.js command instead",
1073
+ "outputName": "story.md",
1074
+ "placeholders": ["FEATURE_NAME"],
1075
+ "stackSpecific": true,
1076
+ "stacks": ["blazor-azure"],
1077
+ "engine": "custom",
1078
+ "deprecated": true,
1079
+ "deprecationReason": "Replaced by src/commands/create-story.js CLI command",
1080
+ "technology": null
1081
+ },
1082
+ {
1083
+ "id": "simulation",
1084
+ "name": "User Simulation",
1085
+ "path": "simulation.md",
1086
+ "location": "framework",
1087
+ "category": "documentation",
1088
+ "phase": "clarify",
1089
+ "required": false,
1090
+ "description": "[DEPRECATED] Never used in practice",
1091
+ "outputName": "simulation.md",
1092
+ "placeholders": ["FEATURE_NAME"],
1093
+ "stackSpecific": true,
1094
+ "stacks": ["blazor-azure"],
1095
+ "engine": "custom",
1096
+ "deprecated": true,
1097
+ "deprecationReason": "Template was never used in actual workflows",
1098
+ "technology": null
1099
+ },
1100
+ {
1101
+ "id": "ui-mockups",
1102
+ "name": "UI Mockups",
1103
+ "path": "ui-mockups.md",
1104
+ "location": "framework",
1105
+ "category": "documentation",
1106
+ "phase": "uiux",
1107
+ "required": false,
1108
+ "description": "[DEPRECATED] Never used in practice",
1109
+ "outputName": "ui-mockups.md",
1110
+ "placeholders": ["FEATURE_NAME"],
1111
+ "stackSpecific": true,
1112
+ "stacks": ["blazor-azure"],
1113
+ "engine": "custom",
1114
+ "deprecated": true,
1115
+ "deprecationReason": "Template was never used in actual workflows",
1116
+ "technology": null
1117
+ },
1118
+ {
1119
+ "id": "ui-flows",
1120
+ "name": "UI Flows",
1121
+ "path": "ui-flows.md",
1122
+ "location": "framework",
1123
+ "category": "documentation",
1124
+ "phase": "uiux",
1125
+ "required": false,
1126
+ "description": "[DEPRECATED] Never used in practice",
1127
+ "outputName": "ui-flows.md",
1128
+ "placeholders": ["FEATURE_NAME"],
1129
+ "stackSpecific": true,
1130
+ "stacks": ["blazor-azure"],
1131
+ "engine": "custom",
1132
+ "deprecated": true,
1133
+ "deprecationReason": "Template was never used in actual workflows",
1134
+ "technology": null
1135
+ },
1136
+ {
1137
+ "id": "ui-components",
1138
+ "name": "UI Components",
1139
+ "path": "ui-components.md",
1140
+ "location": "framework",
1141
+ "category": "documentation",
1142
+ "phase": "uiux",
1143
+ "required": false,
1144
+ "description": "[DEPRECATED] design-system.css is sufficient",
1145
+ "outputName": "ui-components.md",
1146
+ "placeholders": ["FEATURE_NAME"],
1147
+ "stackSpecific": true,
1148
+ "stacks": ["blazor-azure"],
1149
+ "engine": "custom",
1150
+ "deprecated": true,
1151
+ "deprecationReason": "Replaced by ui/design-system.css template",
1152
+ "technology": null
1153
+ },
1154
+ {
1155
+ "id": "ui-design-system-doc",
1156
+ "name": "UI Design System Documentation",
1157
+ "path": "ui-design-system.md",
1158
+ "location": "framework",
1159
+ "category": "documentation",
1160
+ "phase": "uiux",
1161
+ "required": false,
1162
+ "description": "[DEPRECATED] Replaced by design-system-examples.md",
1163
+ "outputName": "ui-design-system.md",
1164
+ "placeholders": ["PROJECT_NAME"],
1165
+ "stackSpecific": true,
1166
+ "stacks": ["blazor-azure"],
1167
+ "engine": "custom",
1168
+ "deprecated": true,
1169
+ "deprecationReason": "Replaced by examples/design-system-examples.md",
1170
+ "technology": null
1171
+ },
1172
+ {
1173
+ "id": "clarify-questions",
1174
+ "name": "Clarification Questions",
1175
+ "path": "clarify-questions.md",
1176
+ "location": "framework",
1177
+ "category": "documentation",
1178
+ "phase": "clarify",
1179
+ "required": false,
1180
+ "description": "[DEPRECATED] Use AskUserQuestion tool instead",
1181
+ "outputName": "clarify-questions.md",
1182
+ "placeholders": ["FEATURE_NAME"],
1183
+ "stackSpecific": true,
1184
+ "stacks": ["blazor-azure"],
1185
+ "engine": "custom",
1186
+ "deprecated": true,
1187
+ "deprecationReason": "Replaced by AskUserQuestion tool in Claude Code",
1188
+ "technology": null
1189
+ },
1190
+ {
1191
+ "id": "sprint-status",
1192
+ "name": "Sprint Status",
1193
+ "path": "sprint-status.yaml",
1194
+ "location": "framework",
1195
+ "category": "documentation",
1196
+ "phase": "implement",
1197
+ "required": false,
1198
+ "description": "[DEPRECATED] Generated by CLI, not a template",
1199
+ "outputName": "sprint-status.yaml",
1200
+ "placeholders": ["DATE"],
1201
+ "stackSpecific": true,
1202
+ "stacks": ["blazor-azure"],
1203
+ "engine": "custom",
1204
+ "deprecated": true,
1205
+ "deprecationReason": "Generated by create-story.js command, not a user template",
1206
+ "technology": null
1207
+ },
1208
+ {
1209
+ "id": "state-template",
1210
+ "name": "State Template",
1211
+ "path": "state.template.json",
1212
+ "location": "framework",
1213
+ "category": "code",
1214
+ "phase": "setup",
1215
+ "required": false,
1216
+ "description": "[DEPRECATED] Not a user template",
1217
+ "outputName": "state.json",
1218
+ "placeholders": [],
1219
+ "stackSpecific": true,
1220
+ "stacks": ["blazor-azure"],
1221
+ "engine": "custom",
1222
+ "deprecated": true,
1223
+ "deprecationReason": "Internal state file, not a user-facing template",
1224
+ "technology": null
1225
+ },
1226
+ {
1227
+ "id": "github-workflow-dotnet-build",
1228
+ "name": "GitHub Actions - .NET Build Workflow",
1229
+ "path": "infrastructure/github/workflows/dotnet-build.yml.hbs",
1230
+ "location": "framework",
1231
+ "category": "infrastructure",
1232
+ "technology": "github-actions",
1233
+ "phase": "build",
1234
+ "required": false,
1235
+ "description": "Reusable workflow for building .NET applications with restore, build, test, coverage",
1236
+ "outputName": "dotnet-build.yml",
1237
+ "placeholders": ["DOTNET_VERSION"],
1238
+ "stackSpecific": false,
1239
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"],
1240
+ "engine": "handlebars",
1241
+ "deprecated": false,
1242
+ "isFragment": true
1243
+ },
1244
+ {
1245
+ "id": "github-workflow-docker-build-push",
1246
+ "name": "GitHub Actions - Docker Build & Push",
1247
+ "path": "infrastructure/github/workflows/docker-build-push.yml.hbs",
1248
+ "location": "framework",
1249
+ "category": "infrastructure",
1250
+ "technology": "github-actions",
1251
+ "phase": "build",
1252
+ "required": false,
1253
+ "description": "Reusable workflow for building and pushing Docker images to registry",
1254
+ "outputName": "docker-build-push.yml",
1255
+ "placeholders": [],
1256
+ "stackSpecific": false,
1257
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"],
1258
+ "engine": "handlebars",
1259
+ "deprecated": false,
1260
+ "isFragment": true
1261
+ },
1262
+ {
1263
+ "id": "github-workflow-deploy-azure-app-service",
1264
+ "name": "GitHub Actions - Deploy to Azure App Service",
1265
+ "path": "infrastructure/github/workflows/deploy-azure-app-service.yml.hbs",
1266
+ "location": "framework",
1267
+ "category": "infrastructure",
1268
+ "technology": "github-actions",
1269
+ "phase": "deploy",
1270
+ "required": false,
1271
+ "description": "Reusable workflow for deploying .NET applications to Azure App Service with Bicep infrastructure",
1272
+ "outputName": "deploy-azure-app-service.yml",
1273
+ "placeholders": ["DOTNET_VERSION"],
1274
+ "stackSpecific": false,
1275
+ "applicableStacks": ["blazor-azure"],
1276
+ "engine": "handlebars",
1277
+ "deprecated": false,
1278
+ "isFragment": true
1279
+ },
1280
+ {
1281
+ "id": "github-workflow-deploy-easypanel",
1282
+ "name": "GitHub Actions - Deploy to EasyPanel",
1283
+ "path": "infrastructure/github/workflows/deploy-easypanel.yml.hbs",
1284
+ "location": "framework",
1285
+ "category": "infrastructure",
1286
+ "technology": "github-actions",
1287
+ "phase": "deploy",
1288
+ "required": false,
1289
+ "description": "Reusable workflow for deploying to EasyPanel via webhook",
1290
+ "outputName": "deploy-easypanel.yml",
1291
+ "placeholders": [],
1292
+ "stackSpecific": false,
1293
+ "applicableStacks": ["nextjs-supabase"],
1294
+ "engine": "handlebars",
1295
+ "deprecated": false,
1296
+ "isFragment": true
1297
+ },
1298
+ {
1299
+ "id": "github-action-docker-build-push",
1300
+ "name": "GitHub Composite Action - Docker Build & Push",
1301
+ "path": "infrastructure/github/actions/docker-build-push/action.yml.hbs",
1302
+ "location": "framework",
1303
+ "category": "infrastructure",
1304
+ "technology": "github-actions",
1305
+ "phase": "build",
1306
+ "required": false,
1307
+ "description": "Composite action for building and pushing Docker images",
1308
+ "outputName": "action.yml",
1309
+ "placeholders": [],
1310
+ "stackSpecific": false,
1311
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"],
1312
+ "engine": "handlebars",
1313
+ "deprecated": false,
1314
+ "isFragment": true
1315
+ },
1316
+ {
1317
+ "id": "github-action-health-check",
1318
+ "name": "GitHub Composite Action - Health Check",
1319
+ "path": "infrastructure/github/actions/health-check/action.yml.hbs",
1320
+ "location": "framework",
1321
+ "category": "infrastructure",
1322
+ "technology": "github-actions",
1323
+ "phase": "deploy",
1324
+ "required": false,
1325
+ "description": "Composite action for polling health endpoint until ready",
1326
+ "outputName": "action.yml",
1327
+ "placeholders": [],
1328
+ "stackSpecific": false,
1329
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"],
1330
+ "engine": "handlebars",
1331
+ "deprecated": false,
1332
+ "isFragment": true
1333
+ },
1334
+ {
1335
+ "id": "github-action-azure-auth",
1336
+ "name": "GitHub Composite Action - Azure OIDC Auth",
1337
+ "path": "infrastructure/github/actions/azure-auth/action.yml.hbs",
1338
+ "location": "framework",
1339
+ "category": "infrastructure",
1340
+ "technology": "github-actions",
1341
+ "phase": "deploy",
1342
+ "required": false,
1343
+ "description": "Composite action for Azure authentication using OIDC",
1344
+ "outputName": "action.yml",
1345
+ "placeholders": [],
1346
+ "stackSpecific": false,
1347
+ "applicableStacks": ["blazor-azure"],
1348
+ "engine": "handlebars",
1349
+ "deprecated": false,
1350
+ "isFragment": true
1351
+ },
1352
+ {
1353
+ "id": "blazor-azure-ci-build",
1354
+ "name": "Blazor-Azure CI Build Workflow",
1355
+ "path": "infrastructure/github/workflows/ci-build.yml.hbs",
1356
+ "location": "stack/blazor-azure",
1357
+ "category": "infrastructure",
1358
+ "technology": "github-actions",
1359
+ "phase": "build",
1360
+ "required": true,
1361
+ "description": "CI build workflow for Blazor-Azure stack with security checks",
1362
+ "outputName": "ci-build.yml",
1363
+ "placeholders": ["DOTNET_VERSION"],
1364
+ "stackSpecific": true,
1365
+ "applicableStacks": ["blazor-azure"],
1366
+ "engine": "handlebars",
1367
+ "deprecated": false
1368
+ },
1369
+ {
1370
+ "id": "blazor-azure-cd-staging",
1371
+ "name": "Blazor-Azure Staging Deployment",
1372
+ "path": "infrastructure/github/workflows/cd-staging.yml.hbs",
1373
+ "location": "stack/blazor-azure",
1374
+ "category": "infrastructure",
1375
+ "technology": "github-actions",
1376
+ "phase": "deploy",
1377
+ "required": true,
1378
+ "description": "Staging deployment workflow for Azure App Service",
1379
+ "outputName": "cd-staging.yml",
1380
+ "placeholders": ["APP_NAME", "DOTNET_VERSION"],
1381
+ "stackSpecific": true,
1382
+ "applicableStacks": ["blazor-azure"],
1383
+ "engine": "handlebars",
1384
+ "deprecated": false
1385
+ },
1386
+ {
1387
+ "id": "blazor-azure-cd-prod",
1388
+ "name": "Blazor-Azure Production Deployment",
1389
+ "path": "infrastructure/github/workflows/cd-prod.yml.hbs",
1390
+ "location": "stack/blazor-azure",
1391
+ "category": "infrastructure",
1392
+ "technology": "github-actions",
1393
+ "phase": "deploy",
1394
+ "required": true,
1395
+ "description": "Production deployment workflow for Azure App Service with security scanning",
1396
+ "outputName": "cd-prod.yml",
1397
+ "placeholders": ["APP_NAME", "DOTNET_VERSION"],
1398
+ "stackSpecific": true,
1399
+ "applicableStacks": ["blazor-azure"],
1400
+ "engine": "handlebars",
1401
+ "deprecated": false
1402
+ },
1403
+ {
1404
+ "id": "nextjs-supabase-ci-build",
1405
+ "name": "NextJS-Supabase CI Build Workflow",
1406
+ "path": "infrastructure/github/workflows/ci-build.yml.hbs",
1407
+ "location": "stack/nextjs-supabase",
1408
+ "category": "infrastructure",
1409
+ "technology": "github-actions",
1410
+ "phase": "build",
1411
+ "required": true,
1412
+ "description": "CI build workflow for NextJS-Supabase stack (Node.js + .NET combined)",
1413
+ "outputName": "ci-build.yml",
1414
+ "placeholders": ["DOTNET_VERSION"],
1415
+ "stackSpecific": true,
1416
+ "applicableStacks": ["nextjs-supabase"],
1417
+ "engine": "handlebars",
1418
+ "deprecated": false
1419
+ },
1420
+ {
1421
+ "id": "hop-squad-leader",
1422
+ "name": "Squad Leader HOP",
1423
+ "path": "meta-prompts/squad-leaders/squad-leader.md",
1424
+ "location": "framework",
1425
+ "category": "meta-prompts",
1426
+ "technology": "handlebars",
1427
+ "phase": "implement",
1428
+ "required": false,
1429
+ "description": "Generic squad leader higher-order prompt with mission, domain-leaders, standards, tasks, deliverables, constraints",
1430
+ "outputName": "squad-leader-prompt.md",
1431
+ "placeholders": ["AGENT_ID", "DOMAIN", "MISSION", "DOMAIN_LEADERS", "SPEC_SUMMARY", "STANDARDS", "TASKS", "DELIVERABLES", "CONSTRAINTS", "FEATURE_NAME"],
1432
+ "stackSpecific": false,
1433
+ "engine": "handlebars",
1434
+ "deprecated": false,
1435
+ "hopType": "squad-leader"
1436
+ },
1437
+ {
1438
+ "id": "hop-backend-squad",
1439
+ "name": "Backend Squad Leader HOP",
1440
+ "path": "meta-prompts/squad-leaders/backend-squad.md",
1441
+ "location": "framework",
1442
+ "category": "meta-prompts",
1443
+ "technology": "handlebars",
1444
+ "phase": "implement",
1445
+ "required": false,
1446
+ "description": "Backend squad leader HOP for dotnet-senior with backend domain leaders, .NET 10 standards, architecture and security guidelines",
1447
+ "outputName": "backend-squad-prompt.md",
1448
+ "placeholders": ["AGENT_ID", "MISSION", "SPEC_SUMMARY", "TASKS", "DELIVERABLES", "CONSTRAINTS", "FEATURE_NAME"],
1449
+ "stackSpecific": false,
1450
+ "engine": "handlebars",
1451
+ "deprecated": false,
1452
+ "hopType": "squad-leader",
1453
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
1454
+ },
1455
+ {
1456
+ "id": "hop-frontend-squad",
1457
+ "name": "Frontend Squad Leader HOP",
1458
+ "path": "meta-prompts/squad-leaders/frontend-squad.md",
1459
+ "location": "framework",
1460
+ "category": "meta-prompts",
1461
+ "technology": "handlebars",
1462
+ "phase": "implement",
1463
+ "required": false,
1464
+ "description": "Frontend squad leader HOP for ui-designer with Blazor or Next.js domain leaders and design system standards",
1465
+ "outputName": "frontend-squad-prompt.md",
1466
+ "placeholders": ["AGENT_ID", "DOMAIN", "MISSION", "SPEC_SUMMARY", "TASKS", "DELIVERABLES", "CONSTRAINTS", "FEATURE_NAME", "IS_BLAZOR", "IS_NEXTJS"],
1467
+ "stackSpecific": false,
1468
+ "engine": "handlebars",
1469
+ "deprecated": false,
1470
+ "hopType": "squad-leader",
1471
+ "applicableStacks": ["blazor-azure", "nextjs-supabase"]
1472
+ },
1473
+ {
1474
+ "id": "hop-parallel-worker",
1475
+ "name": "Parallel Worker HOP",
1476
+ "path": "meta-prompts/parallel-workers/parallel-worker.md",
1477
+ "location": "framework",
1478
+ "category": "meta-prompts",
1479
+ "technology": "handlebars",
1480
+ "phase": "implement",
1481
+ "required": false,
1482
+ "description": "P-Thread parallel worker HOP with isolation rules, assigned file scope, and structured completion report",
1483
+ "outputName": "parallel-worker-prompt.md",
1484
+ "placeholders": ["AGENT_ID", "THREAD_ID", "FEATURE_NAME", "MISSION", "SCOPE", "DELIVERABLES", "SPEC_SUMMARY", "STANDARDS", "TASKS"],
1485
+ "stackSpecific": false,
1486
+ "engine": "handlebars",
1487
+ "deprecated": false,
1488
+ "hopType": "parallel-worker"
1489
+ },
1490
+ {
1491
+ "id": "hop-parallel-coordinator",
1492
+ "name": "Parallel Coordinator HOP",
1493
+ "path": "meta-prompts/parallel-workers/parallel-coordinator.md",
1494
+ "location": "framework",
1495
+ "category": "meta-prompts",
1496
+ "technology": "handlebars",
1497
+ "phase": "implement",
1498
+ "required": false,
1499
+ "description": "P-Thread coordinator HOP for spawning, monitoring and merging parallel worker results",
1500
+ "outputName": "parallel-coordinator-prompt.md",
1501
+ "placeholders": ["AGENT_ID", "SESSION_ID", "FEATURE_NAME", "WORKER_COUNT", "WORKERS", "PARALLEL_STRATEGY", "MAX_CONCURRENT", "TIMEOUT_MINUTES", "MERGE_STRATEGY", "SPEC_SUMMARY", "PRE_SPAWN_TASKS", "POST_MERGE_TASKS", "CONSTRAINTS"],
1502
+ "stackSpecific": false,
1503
+ "engine": "handlebars",
1504
+ "deprecated": false,
1505
+ "hopType": "parallel-coordinator"
1506
+ },
1507
+ {
1508
+ "id": "hop-wrapper",
1509
+ "name": "HOP Wrapper",
1510
+ "path": "meta-prompts/hops/hop-wrapper.md",
1511
+ "location": "framework",
1512
+ "category": "meta-prompts",
1513
+ "technology": "handlebars",
1514
+ "phase": "implement",
1515
+ "required": false,
1516
+ "description": "Wraps any prompt with additional context, pre/post conditions, and HOP metadata injection",
1517
+ "outputName": "hop-wrapper-prompt.md",
1518
+ "placeholders": ["HOP_NAME", "INNER_PROMPT", "FEATURE_NAME", "PHASE", "AGENT_ID", "STANDARDS_OVERRIDE", "PRE_CONDITIONS", "POST_CONDITIONS", "HOP_VERSION", "DATE"],
1519
+ "stackSpecific": false,
1520
+ "engine": "handlebars",
1521
+ "deprecated": false,
1522
+ "hopType": "utility"
1523
+ },
1524
+ {
1525
+ "id": "hop-retry",
1526
+ "name": "HOP Retry",
1527
+ "path": "meta-prompts/hops/hop-retry.md",
1528
+ "location": "framework",
1529
+ "category": "meta-prompts",
1530
+ "technology": "handlebars",
1531
+ "phase": "implement",
1532
+ "required": false,
1533
+ "description": "Retry HOP with failure analysis, adjusted approach hints per attempt number (1=minor fix, 2=alternative, 3=escalation-ready)",
1534
+ "outputName": "hop-retry-prompt.md",
1535
+ "placeholders": ["FEATURE_NAME", "AGENT_ID", "RETRY_COUNT", "MAX_RETRIES", "TASK_ID", "FAILURE_DESCRIPTION", "ERROR_DETAILS", "PREVIOUS_ATTEMPTS", "ORIGINAL_TASK_DESCRIPTION", "CONSTRAINTS"],
1536
+ "stackSpecific": false,
1537
+ "engine": "handlebars",
1538
+ "deprecated": false,
1539
+ "hopType": "utility"
1540
+ },
1541
+ {
1542
+ "id": "hop-validation",
1543
+ "name": "HOP Validation",
1544
+ "path": "meta-prompts/hops/hop-validation.md",
1545
+ "location": "framework",
1546
+ "category": "meta-prompts",
1547
+ "technology": "handlebars",
1548
+ "phase": "implement",
1549
+ "required": false,
1550
+ "description": "Validation agent HOP with architecture, security, design-system, and packages checklists",
1551
+ "outputName": "hop-validation-prompt.md",
1552
+ "placeholders": ["VALIDATION_TYPE", "REVIEWED_AGENT", "FEATURE_NAME", "CHECKPOINT_NUM", "FILES_TO_REVIEW", "VALIDATION_CRITERIA", "IS_ARCHITECTURE", "IS_SECURITY", "IS_DESIGN_SYSTEM", "IS_PACKAGES"],
1553
+ "stackSpecific": false,
1554
+ "engine": "handlebars",
1555
+ "deprecated": false,
1556
+ "hopType": "validator"
1557
+ },
1558
+ {
1559
+ "id": "hop-checkpoint-validator",
1560
+ "name": "Checkpoint Validator HOP",
1561
+ "path": "meta-prompts/validators/checkpoint-validator.md",
1562
+ "location": "framework",
1563
+ "category": "meta-prompts",
1564
+ "technology": "handlebars",
1565
+ "phase": "implement",
1566
+ "required": false,
1567
+ "description": "Checkpoint validator HOP running architecture, security, design-system, and packages validators with pass/fail decision logic",
1568
+ "outputName": "checkpoint-validator-prompt.md",
1569
+ "placeholders": ["FEATURE_NAME", "CHECKPOINT_NUM", "CHECKPOINT_FREQUENCY", "TASKS_SINCE_LAST", "TASKS_COMPLETED", "TASKS_TOTAL", "RECENT_TASKS", "FILES_CHANGED", "HAS_UI_FILES", "HAS_CSPROJ_CHANGES"],
1570
+ "stackSpecific": false,
1571
+ "engine": "handlebars",
1572
+ "deprecated": false,
1573
+ "hopType": "validator"
1574
+ },
1575
+ {
1576
+ "id": "hop-pre-commit-validator",
1577
+ "name": "Pre-Commit Validator HOP",
1578
+ "path": "meta-prompts/validators/pre-commit-validator.md",
1579
+ "location": "framework",
1580
+ "category": "meta-prompts",
1581
+ "technology": "handlebars",
1582
+ "phase": "implement",
1583
+ "required": false,
1584
+ "description": "Pre-commit hook validator HOP checking conventional commits, secrets, agent spec validity, and stack-specific rules",
1585
+ "outputName": "pre-commit-validator-prompt.md",
1586
+ "placeholders": ["FEATURE_NAME", "BRANCH_NAME", "STAGED_FILE_COUNT", "STAGED_FILES", "IS_CSHARP", "IS_TYPESCRIPT"],
1587
+ "stackSpecific": false,
1588
+ "engine": "handlebars",
1589
+ "deprecated": false,
1590
+ "hopType": "validator"
1591
+ },
1592
+ {
1593
+ "id": "hop-fusion-agent",
1594
+ "name": "Fusion Agent HOP",
1595
+ "path": "meta-prompts/fusion/fusion-agent.md",
1596
+ "location": "framework",
1597
+ "category": "meta-prompts",
1598
+ "technology": "handlebars",
1599
+ "phase": "implement",
1600
+ "required": false,
1601
+ "description": "F-Thread fusion participant HOP with approach hints per thread index (standard, alternative, optimized) and self-assessment scoring",
1602
+ "outputName": "fusion-agent-prompt.md",
1603
+ "placeholders": ["AGENT_ID", "THREAD_INDEX", "THREAD_COUNT", "THREAD_COUNT_MINUS_ONE", "THREAD_ID", "FEATURE_NAME", "FUSION_STRATEGY", "TASK_DESCRIPTION", "SPEC_SUMMARY", "STANDARDS", "DELIVERABLES"],
1604
+ "stackSpecific": false,
1605
+ "engine": "handlebars",
1606
+ "deprecated": false,
1607
+ "hopType": "fusion"
1608
+ },
1609
+ {
1610
+ "id": "hop-fusion-aggregator",
1611
+ "name": "Fusion Aggregator HOP",
1612
+ "path": "meta-prompts/fusion/fusion-aggregator.md",
1613
+ "location": "framework",
1614
+ "category": "meta-prompts",
1615
+ "technology": "handlebars",
1616
+ "phase": "implement",
1617
+ "required": false,
1618
+ "description": "F-Thread aggregator HOP that scores and selects the winning implementation using best-of-n, consensus, or manual-select strategies",
1619
+ "outputName": "fusion-aggregator-prompt.md",
1620
+ "placeholders": ["SESSION_ID", "FEATURE_NAME", "THREAD_COUNT", "FUSION_STRATEGY", "FUSION_RESULTS"],
1621
+ "stackSpecific": false,
1622
+ "engine": "handlebars",
1623
+ "deprecated": false,
1624
+ "hopType": "fusion"
1625
+ }
1626
+ ],
1627
+ "stats": {
1628
+ "total": 78,
1629
+ "framework": 69,
1630
+ "deprecated": 14,
1631
+ "byCategory": {
1632
+ "documentation": 5,
1633
+ "code": 25,
1634
+ "infrastructure": 23,
1635
+ "context": 2,
1636
+ "examples": 2,
1637
+ "integration": 4,
1638
+ "saas": 2,
1639
+ "ui": 3,
1640
+ "meta-prompts": 12
1641
+ },
1642
+ "byTechnology": {
1643
+ "dotnet": 26,
1644
+ "typescript": 1,
1645
+ "sql": 3,
1646
+ "bicep": 8,
1647
+ "azure": 10,
1648
+ "docker": 5,
1649
+ "handlebars": 19,
1650
+ "css": 1
1651
+ },
1652
+ "byPhase": {
1653
+ "setup": 2,
1654
+ "proposal": 1,
1655
+ "uiux": 3,
1656
+ "design": 10,
1657
+ "clarify": 0,
1658
+ "tasks": 1,
1659
+ "implement": 40,
1660
+ "completed": 1
1661
+ },
1662
+ "required": 5,
1663
+ "optional": 61,
1664
+ "applicableToMultipleStacks": 38
1665
+ },
1666
+ "migrationNotes": {
1667
+ "v1ToV2": {
1668
+ "breaking": true,
1669
+ "pathChanges": "All templates moved from stacks/{stack}/.morph/templates/ to framework/templates/ organized by technology",
1670
+ "organizationChange": "Stack-based → Technology-based (enables future stack reusability)",
1671
+ "deprecated": 9,
1672
+ "movedToFramework": 57,
1673
+ "newTechnologies": ["dotnet", "typescript", "sql", "bicep", "azure", "docker"],
1674
+ "actionRequired": "Delete stacks/{stack}/.morph/templates/ directories (Phase 6)"
1675
+ }
1676
+ }
1677
+ }