@polymorphism-tech/morph-spec 4.7.2 → 4.8.1

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