@polymorphism-tech/morph-spec 4.7.1 → 4.7.2

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 (232) hide show
  1. package/.morph/.morphversion +5 -0
  2. package/.morph/analytics/threads-log.jsonl +5 -0
  3. package/.morph/config/config.json +8 -0
  4. package/.morph/framework/agents.json +1815 -0
  5. package/.morph/framework/hooks/README.md +205 -0
  6. package/.morph/framework/hooks/claude-code/notification/approval-reminder.js +54 -0
  7. package/.morph/framework/hooks/claude-code/post-tool-use/dispatch.js +83 -0
  8. package/.morph/framework/hooks/claude-code/post-tool-use/handle-tool-failure.js +42 -0
  9. package/.morph/framework/hooks/claude-code/pre-compact/save-morph-context.js +61 -0
  10. package/.morph/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +71 -0
  11. package/.morph/framework/hooks/claude-code/pre-tool-use/protect-readonly-files.js +58 -0
  12. package/.morph/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +64 -0
  13. package/.morph/framework/hooks/claude-code/session-start/inject-morph-context.js +94 -0
  14. package/.morph/framework/hooks/claude-code/statusline.py +538 -0
  15. package/.morph/framework/hooks/claude-code/statusline.sh +7 -0
  16. package/.morph/framework/hooks/claude-code/stop/validate-completion.js +88 -0
  17. package/.morph/framework/hooks/claude-code/user-prompt/enrich-prompt.js +91 -0
  18. package/.morph/framework/hooks/git/commit-msg/conventional-commits.sh +33 -0
  19. package/.morph/framework/hooks/git/pre-commit/agents.sh +25 -0
  20. package/.morph/framework/hooks/git/pre-commit/orchestrator.sh +64 -0
  21. package/.morph/framework/hooks/git/pre-commit/specs.sh +50 -0
  22. package/.morph/framework/hooks/git/pre-push/run-tests.sh +44 -0
  23. package/.morph/framework/hooks/shared/hook-response.js +45 -0
  24. package/.morph/framework/hooks/shared/phase-utils.js +129 -0
  25. package/.morph/framework/hooks/shared/state-reader.js +138 -0
  26. package/.morph/framework/hooks/shared/stdin-reader.js +26 -0
  27. package/.morph/framework/standards/STANDARDS.json +933 -0
  28. package/.morph/framework/standards/ai-agents/blazor-ui.md +364 -0
  29. package/.morph/framework/standards/ai-agents/production.md +415 -0
  30. package/.morph/framework/standards/ai-agents/setup.md +418 -0
  31. package/.morph/framework/standards/ai-agents/team-orchestration.md +479 -0
  32. package/.morph/framework/standards/ai-agents/workflows.md +354 -0
  33. package/.morph/framework/standards/architecture/ddd/aggregates.md +120 -0
  34. package/.morph/framework/standards/architecture/ddd/bounded-contexts.md +105 -0
  35. package/.morph/framework/standards/architecture/ddd/complexity-levels.md +108 -0
  36. package/.morph/framework/standards/architecture/ddd/entities.md +99 -0
  37. package/.morph/framework/standards/architecture/ddd/ubiquitous-language.md +58 -0
  38. package/.morph/framework/standards/architecture/ddd/value-objects.md +124 -0
  39. package/.morph/framework/standards/backend/api/minimal-api.md +494 -0
  40. package/.morph/framework/standards/backend/api/rest.md +492 -0
  41. package/.morph/framework/standards/backend/api/validation.md +88 -0
  42. package/.morph/framework/standards/backend/authentication/passkeys.md +428 -0
  43. package/.morph/framework/standards/backend/database/ef-core.md +199 -0
  44. package/.morph/framework/standards/backend/database/migrations.md +393 -0
  45. package/.morph/framework/standards/backend/database/postgresql/database.md +352 -0
  46. package/.morph/framework/standards/backend/database/repository-patterns.md +528 -0
  47. package/.morph/framework/standards/backend/database/vector-search-rag.md +541 -0
  48. package/.morph/framework/standards/backend/dotnet/async.md +366 -0
  49. package/.morph/framework/standards/backend/dotnet/core.md +117 -0
  50. package/.morph/framework/standards/backend/dotnet/di.md +439 -0
  51. package/.morph/framework/standards/backend/dotnet/program-cs-checklist.md +92 -0
  52. package/.morph/framework/standards/backend/integrations/asaas/asaas-api.md +216 -0
  53. package/.morph/framework/standards/backend/integrations/clerk/clerk-auth.md +290 -0
  54. package/.morph/framework/standards/backend/integrations/hangfire/hangfire-jobs.md +350 -0
  55. package/.morph/framework/standards/backend/integrations/resend/resend-email.md +385 -0
  56. package/.morph/framework/standards/context/analytics.md +96 -0
  57. package/.morph/framework/standards/context/bundles.md +110 -0
  58. package/.morph/framework/standards/context/priming.md +78 -0
  59. package/.morph/framework/standards/core/architecture.md +185 -0
  60. package/.morph/framework/standards/core/coding.md +214 -0
  61. package/.morph/framework/standards/core/git-branching-strategy.md +403 -0
  62. package/.morph/framework/standards/core/git.md +185 -0
  63. package/.morph/framework/standards/core/testing.md +295 -0
  64. package/.morph/framework/standards/data/nosql/blob-storage.md +102 -0
  65. package/.morph/framework/standards/data/nosql/cache/redis.md +97 -0
  66. package/.morph/framework/standards/data/nosql/cosmos-db.md +118 -0
  67. package/.morph/framework/standards/data/vector-search/azure-ai-search.md +121 -0
  68. package/.morph/framework/standards/data/vector-search/rag-chunking.md +104 -0
  69. package/.morph/framework/standards/frontend/blazor/design-checklist.md +222 -0
  70. package/.morph/framework/standards/frontend/blazor/fluent-ui-setup.md +595 -0
  71. package/.morph/framework/standards/frontend/blazor/fluent-ui.md +137 -0
  72. package/.morph/framework/standards/frontend/blazor/html-conversion.md +184 -0
  73. package/.morph/framework/standards/frontend/blazor/lifecycle.md +195 -0
  74. package/.morph/framework/standards/frontend/blazor/pitfalls.md +198 -0
  75. package/.morph/framework/standards/frontend/blazor/state.md +191 -0
  76. package/.morph/framework/standards/frontend/design-system/animations.md +151 -0
  77. package/.morph/framework/standards/frontend/design-system/naming.md +64 -0
  78. package/.morph/framework/standards/frontend/nextjs/app-router.md +123 -0
  79. package/.morph/framework/standards/frontend/nextjs/components.md +132 -0
  80. package/.morph/framework/standards/frontend/nextjs/data-fetching.md +126 -0
  81. package/.morph/framework/standards/frontend/nextjs/forms.md +128 -0
  82. package/.morph/framework/standards/frontend/nextjs/naming-conventions.md +67 -0
  83. package/.morph/framework/standards/frontend/nextjs/nextjs-patterns.md +215 -0
  84. package/.morph/framework/standards/frontend/nextjs/project-structure.md +102 -0
  85. package/.morph/framework/standards/frontend/nextjs/state-management.md +72 -0
  86. package/.morph/framework/standards/frontend/nextjs/testing.md +111 -0
  87. package/.morph/framework/standards/infrastructure/azure/azure.md +624 -0
  88. package/.morph/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +422 -0
  89. package/.morph/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +516 -0
  90. package/.morph/framework/standards/infrastructure/azure/devops/local-development.md +520 -0
  91. package/.morph/framework/standards/infrastructure/azure/services/functions.md +486 -0
  92. package/.morph/framework/standards/infrastructure/azure/services/service-bus.md +459 -0
  93. package/.morph/framework/standards/infrastructure/azure/services/storage.md +407 -0
  94. package/.morph/framework/standards/infrastructure/docker/easypanel-deploy.md +196 -0
  95. package/.morph/framework/standards/infrastructure/supabase/mcp-setup.md +252 -0
  96. package/.morph/framework/standards/infrastructure/supabase/supabase-auth.md +176 -0
  97. package/.morph/framework/standards/infrastructure/supabase/supabase-pgvector.md +169 -0
  98. package/.morph/framework/standards/infrastructure/supabase/supabase-rls.md +184 -0
  99. package/.morph/framework/standards/infrastructure/supabase/supabase-storage.md +153 -0
  100. package/.morph/framework/standards/integration/api/graphql.md +91 -0
  101. package/.morph/framework/standards/integration/api/grpc.md +114 -0
  102. package/.morph/framework/standards/integration/api/rest-design.md +95 -0
  103. package/.morph/framework/standards/integration/event-driven/cqrs.md +101 -0
  104. package/.morph/framework/standards/integration/event-driven/event-sourcing.md +124 -0
  105. package/.morph/framework/standards/integration/event-driven/service-bus.md +95 -0
  106. package/.morph/framework/standards/integration/mcp/mcp-tools.md +384 -0
  107. package/.morph/framework/standards/observability/logging.md +131 -0
  108. package/.morph/framework/standards/observability/metrics.md +121 -0
  109. package/.morph/framework/standards/observability/monitoring.md +114 -0
  110. package/.morph/framework/standards/observability/tracing.md +132 -0
  111. package/.morph/framework/standards/workflows/parallel-execution.md +112 -0
  112. package/.morph/framework/standards/workflows/thread-management.md +113 -0
  113. package/.morph/framework/templates/.idea/morph-templates.xml +92 -0
  114. package/.morph/framework/templates/.vscode/morph-templates.code-snippets +186 -0
  115. package/.morph/framework/templates/IDE-SNIPPETS.md +266 -0
  116. package/.morph/framework/templates/README.md +814 -0
  117. package/.morph/framework/templates/REGISTRY.json +1888 -0
  118. package/.morph/framework/templates/code/dotnet/backend/repository.cs +141 -0
  119. package/.morph/framework/templates/code/dotnet/backend/service.cs +139 -0
  120. package/.morph/framework/templates/code/dotnet/contracts/Commands.cs +74 -0
  121. package/.morph/framework/templates/code/dotnet/contracts/Entities.cs +25 -0
  122. package/.morph/framework/templates/code/dotnet/contracts/Queries.cs +74 -0
  123. package/.morph/framework/templates/code/dotnet/contracts/README.md +74 -0
  124. package/.morph/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -0
  125. package/.morph/framework/templates/code/dotnet/contracts/contracts-level1.cs +69 -0
  126. package/.morph/framework/templates/code/dotnet/contracts/contracts-level2.cs +86 -0
  127. package/.morph/framework/templates/code/dotnet/contracts/contracts-level3.cs +41 -0
  128. package/.morph/framework/templates/code/dotnet/database/migration.cs +83 -0
  129. package/.morph/framework/templates/code/dotnet/frontend/component.razor +239 -0
  130. package/.morph/framework/templates/code/dotnet/jobs/agent.cs +163 -0
  131. package/.morph/framework/templates/code/dotnet/jobs/job.cs +171 -0
  132. package/.morph/framework/templates/code/dotnet/test.cs +239 -0
  133. package/.morph/framework/templates/code/sql/rls-policy.sql +57 -0
  134. package/.morph/framework/templates/code/sql/supabase-migration.sql +100 -0
  135. package/.morph/framework/templates/code/sql/supabase-migration.template.sql +113 -0
  136. package/.morph/framework/templates/code/typescript/contracts.ts +168 -0
  137. package/.morph/framework/templates/context/CONTEXT-FEATURE.md +276 -0
  138. package/.morph/framework/templates/context/CONTEXT.md +181 -0
  139. package/.morph/framework/templates/docs/clarifications.md +253 -0
  140. package/.morph/framework/templates/docs/onboarding.md +123 -0
  141. package/.morph/framework/templates/docs/proposal.md +182 -0
  142. package/.morph/framework/templates/docs/schema-analysis.md +119 -0
  143. package/.morph/framework/templates/docs/spec.md +198 -0
  144. package/.morph/framework/templates/docs/ui-components.md +124 -0
  145. package/.morph/framework/templates/docs/ui-design-system.md +76 -0
  146. package/.morph/framework/templates/docs/ui-flows.md +167 -0
  147. package/.morph/framework/templates/docs/ui-mockups.md +98 -0
  148. package/.morph/framework/templates/docs/user-stories.md +34 -0
  149. package/.morph/framework/templates/examples/design-system-examples.md +357 -0
  150. package/.morph/framework/templates/examples/spec-examples.md +90 -0
  151. package/.morph/framework/templates/feature/decisions.md +187 -0
  152. package/.morph/framework/templates/feature/recap.md +146 -0
  153. package/.morph/framework/templates/feature/tasks.md +199 -0
  154. package/.morph/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -0
  155. package/.morph/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -0
  156. package/.morph/framework/templates/frontend/nextjs/env.mjs.hbs +32 -0
  157. package/.morph/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -0
  158. package/.morph/framework/templates/frontend/nextjs/page.tsx.hbs +22 -0
  159. package/.morph/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -0
  160. package/.morph/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -0
  161. package/.morph/framework/templates/infrastructure/azure/Dockerfile.example +82 -0
  162. package/.morph/framework/templates/infrastructure/azure/README.md +286 -0
  163. package/.morph/framework/templates/infrastructure/azure/app-insights.bicep +63 -0
  164. package/.morph/framework/templates/infrastructure/azure/app-service.bicep +164 -0
  165. package/.morph/framework/templates/infrastructure/azure/container-app-env.bicep +49 -0
  166. package/.morph/framework/templates/infrastructure/azure/container-app.bicep +156 -0
  167. package/.morph/framework/templates/infrastructure/azure/deploy-checklist.md +426 -0
  168. package/.morph/framework/templates/infrastructure/azure/deploy.ps1 +229 -0
  169. package/.morph/framework/templates/infrastructure/azure/deploy.sh +208 -0
  170. package/.morph/framework/templates/infrastructure/azure/key-vault.bicep +91 -0
  171. package/.morph/framework/templates/infrastructure/azure/main.bicep +189 -0
  172. package/.morph/framework/templates/infrastructure/azure/parameters.dev.json +29 -0
  173. package/.morph/framework/templates/infrastructure/azure/parameters.prod.json +29 -0
  174. package/.morph/framework/templates/infrastructure/azure/parameters.staging.json +29 -0
  175. package/.morph/framework/templates/infrastructure/azure/sql-database.bicep +103 -0
  176. package/.morph/framework/templates/infrastructure/azure/storage.bicep +106 -0
  177. package/.morph/framework/templates/infrastructure/docker/Dockerfile.template +58 -0
  178. package/.morph/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -0
  179. package/.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
  180. package/.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
  181. package/.morph/framework/templates/infrastructure/docker/easypanel.template.json +54 -0
  182. package/.morph/framework/templates/infrastructure/github/README.md +593 -0
  183. package/.morph/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
  184. package/.morph/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
  185. package/.morph/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
  186. package/.morph/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
  187. package/.morph/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
  188. package/.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
  189. package/.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
  190. package/.morph/framework/templates/integrations/asaas-client.cs +387 -0
  191. package/.morph/framework/templates/integrations/asaas-webhook.cs +351 -0
  192. package/.morph/framework/templates/integrations/azure-identity-config.cs +288 -0
  193. package/.morph/framework/templates/integrations/clerk-config.cs +258 -0
  194. package/.morph/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -0
  195. package/.morph/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
  196. package/.morph/framework/templates/meta-prompts/hops/hop-retry.md +78 -0
  197. package/.morph/framework/templates/meta-prompts/hops/hop-validation.md +97 -0
  198. package/.morph/framework/templates/meta-prompts/hops/hop-wrapper.md +36 -0
  199. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
  200. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
  201. package/.morph/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
  202. package/.morph/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
  203. package/.morph/framework/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
  204. package/.morph/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
  205. package/.morph/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
  206. package/.morph/framework/templates/project-structure/dotnet-ddd.md +70 -0
  207. package/.morph/framework/templates/saas/subscription.cs +347 -0
  208. package/.morph/framework/templates/saas/tenant.cs +338 -0
  209. package/.morph/framework/templates/state.template.json +17 -0
  210. package/.morph/framework/templates/ui/FluentDesignTheme.cs +149 -0
  211. package/.morph/framework/templates/ui/MudTheme.cs +281 -0
  212. package/.morph/framework/templates/ui/design-system.css +226 -0
  213. package/.morph/logs/tool-failures.log +17 -0
  214. package/.morph/memory/pre-compact-2026-02-24T17-43-30-049Z.json +16 -0
  215. package/.morph/plans/eager-watching-bunny.md +105 -0
  216. package/.morph/plans/temporal-seeking-nebula.md +45 -0
  217. package/.morph/state.json +48 -0
  218. package/CLAUDE.md +1 -1
  219. package/README.md +2 -2
  220. package/bin/morph-spec.js +0 -9
  221. package/framework/CLAUDE.md +1 -1
  222. package/framework/hooks/README.md +10 -6
  223. package/framework/hooks/claude-code/notification/approval-reminder.js +2 -0
  224. package/framework/hooks/claude-code/post-tool-use/dispatch.js +1 -1
  225. package/framework/hooks/claude-code/stop/validate-completion.js +1 -1
  226. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +1 -1
  227. package/package.json +1 -1
  228. package/src/commands/project/init.js +15 -42
  229. package/src/commands/project/update.js +22 -37
  230. package/src/lib/installers/mcp-installer.js +18 -3
  231. package/src/utils/hooks-installer.js +5 -15
  232. package/src/commands/project/detect.js +0 -114
@@ -0,0 +1,1888 @@
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
+ }