@polymorphism-tech/morph-spec 4.3.3 → 4.3.4

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 (401) hide show
  1. package/.morph/analytics/threads-log.jsonl +9 -0
  2. package/{stacks/blazor-azure/.morph → .morph}/config/config.json +9 -9
  3. package/.morph/state.json +48 -0
  4. package/bin/detect-agents.js +1 -2
  5. package/bin/morph-spec.js +2 -15
  6. package/{stacks/blazor-azure/.morph/config → framework}/agents.json +948 -948
  7. package/{stacks/nextjs-supabase/.claude → framework}/commands/morph-infra.md +1 -1
  8. package/framework/hooks/README.md +282 -0
  9. package/framework/hooks/agent-stop/validate-and-continue.js +96 -0
  10. package/framework/hooks/agent-stop/validate-checkpoints.js +101 -0
  11. package/framework/hooks/agent-stop/validate-tests.js +109 -0
  12. package/framework/hooks/agent-teams/dispatch.js +67 -0
  13. package/framework/hooks/agent-teams/phase-advanced.js +80 -0
  14. package/framework/hooks/agent-teams/task-completed.js +76 -0
  15. package/framework/hooks/agent-teams/teammate-idle.js +70 -0
  16. package/framework/hooks/commit-msg/conventional-commits.sh +33 -0
  17. package/framework/hooks/pre-commit/agents.sh +25 -0
  18. package/framework/hooks/pre-commit/orchestrator.sh +64 -0
  19. package/framework/hooks/pre-commit/specs.sh +50 -0
  20. package/framework/hooks/pre-push/run-tests.sh +44 -0
  21. package/framework/index/troubleshooting-index.json +184 -0
  22. package/framework/memory/patterns-learned.md +766 -0
  23. package/framework/skills/level-0-meta/README.md +7 -0
  24. package/framework/skills/level-0-meta/code-review.md +226 -0
  25. package/framework/skills/level-0-meta/morph-checklist.md +117 -0
  26. package/framework/skills/level-0-meta/simulation-checklist.md +77 -0
  27. package/framework/skills/level-1-workflows/README.md +7 -0
  28. package/framework/skills/level-1-workflows/morph-replicate.md +213 -0
  29. package/framework/skills/level-1-workflows/phase-clarify.md +131 -0
  30. package/framework/skills/level-1-workflows/phase-design.md +213 -0
  31. package/framework/skills/level-1-workflows/phase-setup.md +106 -0
  32. package/framework/skills/level-1-workflows/phase-tasks.md +164 -0
  33. package/framework/skills/level-1-workflows/phase-uiux.md +169 -0
  34. package/framework/skills/level-2-domains/README.md +14 -0
  35. package/framework/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  36. package/framework/skills/level-2-domains/architecture/po-pm-advisor.md +197 -0
  37. package/framework/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  38. package/framework/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  39. package/framework/skills/level-2-domains/architecture/standards-architect.md +156 -0
  40. package/framework/skills/level-2-domains/backend/api-designer.md +59 -0
  41. package/framework/skills/level-2-domains/backend/dotnet-senior.md +77 -0
  42. package/framework/skills/level-2-domains/backend/ef-modeler.md +58 -0
  43. package/framework/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  44. package/framework/skills/level-2-domains/backend/ms-agent-expert.md +45 -0
  45. package/framework/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  46. package/framework/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  47. package/framework/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  48. package/framework/skills/level-2-domains/infrastructure/azure-architect.md +142 -0
  49. package/framework/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  50. package/framework/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  51. package/framework/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  52. package/framework/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  53. package/framework/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  54. package/framework/skills/level-2-domains/integrations/azure-identity.md +142 -0
  55. package/framework/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  56. package/framework/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
  57. package/framework/skills/level-2-domains/integrations/resend-email.md +119 -0
  58. package/framework/skills/level-2-domains/quality/code-analyzer.md +235 -0
  59. package/framework/skills/level-2-domains/quality/testing-specialist.md +126 -0
  60. package/framework/skills/level-3-technologies/README.md +7 -0
  61. package/framework/skills/level-4-patterns/README.md +7 -0
  62. package/framework/squad-templates/backend-only.json +34 -0
  63. package/framework/squad-templates/frontend-only.json +34 -0
  64. package/framework/squad-templates/full-stack.json +52 -0
  65. package/framework/templates/.idea/morph-templates.xml +92 -0
  66. package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
  67. package/framework/templates/IDE-SNIPPETS.md +266 -0
  68. package/framework/templates/README.md +814 -0
  69. package/framework/templates/REGISTRY.json +1677 -0
  70. package/framework/templates/code/dotnet/backend/repository.cs +141 -0
  71. package/framework/templates/code/dotnet/backend/service.cs +139 -0
  72. package/framework/templates/code/dotnet/contracts/Commands.cs +74 -0
  73. package/framework/templates/code/dotnet/contracts/Entities.cs +25 -0
  74. package/framework/templates/code/dotnet/contracts/Queries.cs +74 -0
  75. package/framework/templates/code/dotnet/contracts/README.md +74 -0
  76. package/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -0
  77. package/framework/templates/code/dotnet/contracts/contracts.cs +217 -0
  78. package/framework/templates/code/dotnet/database/migration.cs +83 -0
  79. package/framework/templates/code/dotnet/frontend/component.razor +239 -0
  80. package/framework/templates/code/dotnet/jobs/agent.cs +163 -0
  81. package/framework/templates/code/dotnet/jobs/job.cs +171 -0
  82. package/framework/templates/code/dotnet/test.cs +239 -0
  83. package/framework/templates/code/sql/rls-policy.sql +57 -0
  84. package/framework/templates/code/sql/supabase-migration.sql +100 -0
  85. package/framework/templates/code/sql/supabase-migration.template.sql +113 -0
  86. package/framework/templates/code/typescript/contracts.ts +168 -0
  87. package/framework/templates/context/CONTEXT-FEATURE.md +276 -0
  88. package/framework/templates/context/CONTEXT.md +181 -0
  89. package/framework/templates/docs/proposal.md +182 -0
  90. package/framework/templates/docs/spec.md +149 -0
  91. package/framework/templates/examples/design-system-examples.md +357 -0
  92. package/framework/templates/examples/spec-examples.md +90 -0
  93. package/framework/templates/feature/decisions.md +187 -0
  94. package/framework/templates/feature/recap.md +146 -0
  95. package/framework/templates/feature/tasks.md +199 -0
  96. package/framework/templates/infrastructure/azure/Dockerfile.example +82 -0
  97. package/framework/templates/infrastructure/azure/README.md +286 -0
  98. package/framework/templates/infrastructure/azure/app-insights.bicep +63 -0
  99. package/framework/templates/infrastructure/azure/app-service.bicep +164 -0
  100. package/framework/templates/infrastructure/azure/container-app-env.bicep +49 -0
  101. package/framework/templates/infrastructure/azure/container-app.bicep +156 -0
  102. package/framework/templates/infrastructure/azure/deploy-checklist.md +426 -0
  103. package/framework/templates/infrastructure/azure/deploy.ps1 +229 -0
  104. package/framework/templates/infrastructure/azure/deploy.sh +208 -0
  105. package/framework/templates/infrastructure/azure/key-vault.bicep +91 -0
  106. package/framework/templates/infrastructure/azure/main.bicep +189 -0
  107. package/framework/templates/infrastructure/azure/parameters.dev.json +29 -0
  108. package/framework/templates/infrastructure/azure/parameters.prod.json +29 -0
  109. package/framework/templates/infrastructure/azure/parameters.staging.json +29 -0
  110. package/framework/templates/infrastructure/azure/sql-database.bicep +103 -0
  111. package/framework/templates/infrastructure/azure/storage.bicep +106 -0
  112. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -0
  113. package/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -0
  114. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
  115. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
  116. package/framework/templates/infrastructure/docker/easypanel.template.json +54 -0
  117. package/framework/templates/infrastructure/github/README.md +593 -0
  118. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
  119. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
  120. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
  121. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
  122. package/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
  123. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
  124. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
  125. package/framework/templates/integrations/asaas-client.cs +387 -0
  126. package/framework/templates/integrations/asaas-webhook.cs +351 -0
  127. package/framework/templates/integrations/azure-identity-config.cs +288 -0
  128. package/framework/templates/integrations/clerk-config.cs +258 -0
  129. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -0
  130. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
  131. package/framework/templates/meta-prompts/hops/hop-retry.md +78 -0
  132. package/framework/templates/meta-prompts/hops/hop-validation.md +97 -0
  133. package/framework/templates/meta-prompts/hops/hop-wrapper.md +36 -0
  134. package/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
  135. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
  136. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
  137. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
  138. package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
  139. package/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
  140. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
  141. package/framework/templates/saas/subscription.cs +347 -0
  142. package/framework/templates/saas/tenant.cs +338 -0
  143. package/framework/templates/state.template.json +17 -0
  144. package/framework/templates/ui/FluentDesignTheme.cs +149 -0
  145. package/framework/templates/ui/MudTheme.cs +281 -0
  146. package/framework/templates/ui/design-system.css +226 -0
  147. package/framework/workflows/README.md +1041 -0
  148. package/framework/workflows/configs/design-impl.json +49 -0
  149. package/framework/workflows/configs/fast-track.json +42 -0
  150. package/framework/workflows/configs/full-morph.json +79 -0
  151. package/framework/workflows/configs/fusion.json +39 -0
  152. package/framework/workflows/configs/long-running.json +33 -0
  153. package/framework/workflows/configs/standard.json +60 -0
  154. package/framework/workflows/configs/ui-refresh.json +49 -0
  155. package/framework/workflows/configs/zero-touch.json +75 -0
  156. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -0
  157. package/framework/workflows/docs/design-impl.md +37 -0
  158. package/framework/workflows/docs/enforcement-pipeline.md +668 -0
  159. package/framework/workflows/docs/fast-track.md +29 -0
  160. package/framework/workflows/docs/full-morph.md +76 -0
  161. package/framework/workflows/docs/standard.md +44 -0
  162. package/framework/workflows/docs/ui-refresh.md +39 -0
  163. package/package.json +3 -3
  164. package/src/commands/feature/create-story.js +11 -7
  165. package/src/commands/project/detect-agents.js +1 -2
  166. package/src/commands/project/init.js +69 -32
  167. package/src/commands/project/update.js +2 -2
  168. package/src/commands/templates/template-customize.js +3 -17
  169. package/src/commands/templates/template-list.js +1 -15
  170. package/src/commands/templates/template-render.js +2 -3
  171. package/src/commands/templates/template-show.js +3 -5
  172. package/src/core/templates/template-registry.js +9 -23
  173. package/src/lib/detectors/structure-detector.js +3 -3
  174. package/src/lib/generators/context-generator.js +18 -6
  175. package/src/lib/hooks/hook-executor.js +0 -2
  176. package/src/lib/orchestration/team-orchestrator.js +1 -2
  177. package/src/lib/standards/standards-context-injector.js +3 -4
  178. package/src/lib/troubleshooting/troubleshoot-grep.js +3 -9
  179. package/src/lib/validators/validation-runner.js +1 -2
  180. package/src/utils/file-copier.js +1 -2
  181. package/docs/README.md +0 -144
  182. package/docs/api/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  183. package/docs/api/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  184. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  185. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  186. package/docs/api/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  187. package/docs/api/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  188. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  189. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  190. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  191. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  192. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  193. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  194. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  195. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  196. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  197. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  198. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  199. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  200. package/docs/api/scripts/collapse.js +0 -39
  201. package/docs/api/scripts/commonNav.js +0 -28
  202. package/docs/api/scripts/linenumber.js +0 -25
  203. package/docs/api/scripts/nav.js +0 -12
  204. package/docs/api/scripts/polyfill.js +0 -4
  205. package/docs/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  206. package/docs/api/scripts/prettify/lang-css.js +0 -2
  207. package/docs/api/scripts/prettify/prettify.js +0 -28
  208. package/docs/api/scripts/search.js +0 -99
  209. package/docs/api/styles/jsdoc.css +0 -776
  210. package/docs/api/styles/prettify.css +0 -80
  211. package/docs/cli-auto-detection.md +0 -219
  212. package/docs/getting-started.md +0 -296
  213. package/docs/installation.md +0 -361
  214. package/docs/next-generation/AGENTS.md +0 -521
  215. package/docs/next-generation/ANALYSIS.md +0 -555
  216. package/docs/next-generation/ARCHITECTURE.md +0 -436
  217. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +0 -267
  218. package/docs/next-generation/EXECUTION-FLOW.md +0 -274
  219. package/docs/next-generation/FEATURES.md +0 -688
  220. package/docs/next-generation/META-PROMPTS.md +0 -235
  221. package/docs/next-generation/MIGRATION-GUIDE.md +0 -253
  222. package/docs/next-generation/README.md +0 -231
  223. package/docs/next-generation/ROADMAP.md +0 -801
  224. package/docs/next-generation/THREAD-MANAGEMENT.md +0 -240
  225. package/docs/templates.md +0 -418
  226. package/docs/troubleshooting.md +0 -269
  227. package/docs/validation-checklist.md +0 -264
  228. package/scripts/postinstall.js +0 -132
  229. package/src/lib/stacks/index.js +0 -7
  230. package/src/lib/stacks/stack-resolver.js +0 -180
  231. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  232. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  233. package/stacks/blazor-azure/.morph/.morphversion +0 -5
  234. package/stacks/blazor-azure/.morph/project/context/README.md +0 -17
  235. package/stacks/blazor-azure/CLAUDE.md +0 -155
  236. package/stacks/blazor-azure/README.md +0 -79
  237. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
  238. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
  239. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
  240. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
  241. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
  242. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
  243. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
  244. package/stacks/nextjs-supabase/.morph/.morphversion +0 -5
  245. package/stacks/nextjs-supabase/.morph/config/agents.json +0 -345
  246. package/stacks/nextjs-supabase/.morph/config/config.json +0 -9
  247. package/stacks/nextjs-supabase/.morph/project/context/README.md +0 -17
  248. package/stacks/nextjs-supabase/.morph/standards/ai-agents/blazor-ui.md +0 -364
  249. package/stacks/nextjs-supabase/.morph/standards/ai-agents/production.md +0 -415
  250. package/stacks/nextjs-supabase/.morph/standards/ai-agents/setup.md +0 -418
  251. package/stacks/nextjs-supabase/.morph/standards/ai-agents/team-orchestration.md +0 -479
  252. package/stacks/nextjs-supabase/.morph/standards/ai-agents/workflows.md +0 -354
  253. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/aggregates.md +0 -120
  254. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/entities.md +0 -99
  255. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/value-objects.md +0 -124
  256. package/stacks/nextjs-supabase/.morph/standards/backend/api/minimal-api.md +0 -494
  257. package/stacks/nextjs-supabase/.morph/standards/backend/api/rest.md +0 -492
  258. package/stacks/nextjs-supabase/.morph/standards/backend/api/validation.md +0 -88
  259. package/stacks/nextjs-supabase/.morph/standards/backend/authentication/passkeys.md +0 -428
  260. package/stacks/nextjs-supabase/.morph/standards/backend/database/ef-core.md +0 -199
  261. package/stacks/nextjs-supabase/.morph/standards/backend/database/migrations.md +0 -393
  262. package/stacks/nextjs-supabase/.morph/standards/backend/database/postgresql/database.md +0 -352
  263. package/stacks/nextjs-supabase/.morph/standards/backend/database/repository-patterns.md +0 -528
  264. package/stacks/nextjs-supabase/.morph/standards/backend/database/vector-search-rag.md +0 -541
  265. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/async.md +0 -366
  266. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/core.md +0 -117
  267. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/di.md +0 -439
  268. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/program-cs-checklist.md +0 -92
  269. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/asaas/asaas-api.md +0 -216
  270. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/clerk/clerk-auth.md +0 -290
  271. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -350
  272. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/resend/resend-email.md +0 -385
  273. package/stacks/nextjs-supabase/.morph/standards/context/analytics.md +0 -96
  274. package/stacks/nextjs-supabase/.morph/standards/context/bundles.md +0 -110
  275. package/stacks/nextjs-supabase/.morph/standards/context/priming.md +0 -78
  276. package/stacks/nextjs-supabase/.morph/standards/core/architecture.md +0 -185
  277. package/stacks/nextjs-supabase/.morph/standards/core/coding.md +0 -214
  278. package/stacks/nextjs-supabase/.morph/standards/core/git-branching-strategy.md +0 -403
  279. package/stacks/nextjs-supabase/.morph/standards/core/git.md +0 -185
  280. package/stacks/nextjs-supabase/.morph/standards/core/testing.md +0 -295
  281. package/stacks/nextjs-supabase/.morph/standards/data/nosql/blob-storage.md +0 -102
  282. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cache/redis.md +0 -97
  283. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cosmos-db.md +0 -118
  284. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/azure-ai-search.md +0 -121
  285. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/rag-chunking.md +0 -104
  286. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/design-checklist.md +0 -222
  287. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  288. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui.md +0 -137
  289. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/html-conversion.md +0 -184
  290. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/lifecycle.md +0 -195
  291. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/pitfalls.md +0 -198
  292. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/state.md +0 -191
  293. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/animations.md +0 -151
  294. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/naming.md +0 -64
  295. package/stacks/nextjs-supabase/.morph/standards/frontend/nextjs/nextjs-patterns.md +0 -198
  296. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/azure.md +0 -624
  297. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  298. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  299. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/local-development.md +0 -520
  300. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/functions.md +0 -486
  301. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/service-bus.md +0 -459
  302. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/storage.md +0 -407
  303. package/stacks/nextjs-supabase/.morph/standards/infrastructure/docker/easypanel-deploy.md +0 -196
  304. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/mcp-setup.md +0 -252
  305. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-auth.md +0 -176
  306. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-pgvector.md +0 -169
  307. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-rls.md +0 -184
  308. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-storage.md +0 -153
  309. package/stacks/nextjs-supabase/.morph/standards/integration/api/graphql.md +0 -91
  310. package/stacks/nextjs-supabase/.morph/standards/integration/api/grpc.md +0 -114
  311. package/stacks/nextjs-supabase/.morph/standards/integration/api/rest-design.md +0 -95
  312. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/cqrs.md +0 -101
  313. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/event-sourcing.md +0 -124
  314. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/service-bus.md +0 -95
  315. package/stacks/nextjs-supabase/.morph/standards/observability/logging.md +0 -131
  316. package/stacks/nextjs-supabase/.morph/standards/observability/metrics.md +0 -121
  317. package/stacks/nextjs-supabase/.morph/standards/observability/monitoring.md +0 -114
  318. package/stacks/nextjs-supabase/.morph/standards/observability/tracing.md +0 -132
  319. package/stacks/nextjs-supabase/.morph/standards/workflows/parallel-execution.md +0 -112
  320. package/stacks/nextjs-supabase/.morph/standards/workflows/thread-management.md +0 -113
  321. package/stacks/nextjs-supabase/CLAUDE.md +0 -155
  322. package/stacks/nextjs-supabase/README.md +0 -103
  323. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-apply.md +0 -0
  324. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-archive.md +0 -0
  325. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-preflight.md +0 -0
  326. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-proposal.md +0 -0
  327. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-status.md +0 -0
  328. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-troubleshoot.md +0 -0
  329. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/blazor-ui.md +0 -0
  330. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/production.md +0 -0
  331. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/setup.md +0 -0
  332. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/team-orchestration.md +0 -0
  333. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/workflows.md +0 -0
  334. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/aggregates.md +0 -0
  335. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/entities.md +0 -0
  336. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/value-objects.md +0 -0
  337. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/minimal-api.md +0 -0
  338. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/rest.md +0 -0
  339. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/validation.md +0 -0
  340. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/authentication/passkeys.md +0 -0
  341. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/ef-core.md +0 -0
  342. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/migrations.md +0 -0
  343. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/postgresql/database.md +0 -0
  344. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/repository-patterns.md +0 -0
  345. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/vector-search-rag.md +0 -0
  346. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/async.md +0 -0
  347. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/core.md +0 -0
  348. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/di.md +0 -0
  349. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/program-cs-checklist.md +0 -0
  350. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/asaas/asaas-api.md +0 -0
  351. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/clerk/clerk-auth.md +0 -0
  352. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -0
  353. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/resend/resend-email.md +0 -0
  354. /package/{stacks/blazor-azure/.morph → framework}/standards/context/analytics.md +0 -0
  355. /package/{stacks/blazor-azure/.morph → framework}/standards/context/bundles.md +0 -0
  356. /package/{stacks/blazor-azure/.morph → framework}/standards/context/priming.md +0 -0
  357. /package/{stacks/blazor-azure/.morph → framework}/standards/core/architecture.md +0 -0
  358. /package/{stacks/blazor-azure/.morph → framework}/standards/core/coding.md +0 -0
  359. /package/{stacks/blazor-azure/.morph → framework}/standards/core/git-branching-strategy.md +0 -0
  360. /package/{stacks/blazor-azure/.morph → framework}/standards/core/git.md +0 -0
  361. /package/{stacks/blazor-azure/.morph → framework}/standards/core/testing.md +0 -0
  362. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/blob-storage.md +0 -0
  363. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cache/redis.md +0 -0
  364. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cosmos-db.md +0 -0
  365. /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/azure-ai-search.md +0 -0
  366. /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/rag-chunking.md +0 -0
  367. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/design-checklist.md +0 -0
  368. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui-setup.md +0 -0
  369. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui.md +0 -0
  370. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/html-conversion.md +0 -0
  371. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/lifecycle.md +0 -0
  372. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/pitfalls.md +0 -0
  373. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/state.md +0 -0
  374. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/animations.md +0 -0
  375. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/naming.md +0 -0
  376. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/nextjs/nextjs-patterns.md +0 -0
  377. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/azure.md +0 -0
  378. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -0
  379. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -0
  380. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/local-development.md +0 -0
  381. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/functions.md +0 -0
  382. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/service-bus.md +0 -0
  383. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/storage.md +0 -0
  384. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/docker/easypanel-deploy.md +0 -0
  385. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/mcp-setup.md +0 -0
  386. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-auth.md +0 -0
  387. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-pgvector.md +0 -0
  388. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-rls.md +0 -0
  389. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-storage.md +0 -0
  390. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/graphql.md +0 -0
  391. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/grpc.md +0 -0
  392. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/rest-design.md +0 -0
  393. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/cqrs.md +0 -0
  394. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/event-sourcing.md +0 -0
  395. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/service-bus.md +0 -0
  396. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/logging.md +0 -0
  397. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/metrics.md +0 -0
  398. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/monitoring.md +0 -0
  399. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/tracing.md +0 -0
  400. /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/parallel-execution.md +0 -0
  401. /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/thread-management.md +0 -0
@@ -0,0 +1,59 @@
1
+ # API Designer
2
+
3
+ **Tier:** 3 (Specialist)
4
+ **Always Active:** No
5
+ **Keywords:** api, endpoint, controller, rest, http, route, dto, request, response
6
+ **Reports to:** dotnet-senior
7
+
8
+ ---
9
+
10
+ ## Role
11
+
12
+ REST API design specialist for .NET Minimal API and controllers, focusing on clean endpoint design and DTO contracts.
13
+
14
+ ---
15
+
16
+ ## Standards Applied
17
+
18
+ ```
19
+ framework/standards/core/coding.md
20
+ framework/standards/backend/dotnet/core.md
21
+ framework/standards/backend/dotnet/async.md
22
+ framework/standards/backend/api/rest.md
23
+ framework/standards/backend/api/validation.md
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Responsibilities
29
+
30
+ - Design REST API endpoints following conventions
31
+ - Create request/response DTOs
32
+ - Implement API controllers or Minimal API endpoints
33
+ - Apply proper HTTP status codes (200, 201, 400, 404, etc.)
34
+ - Implement input validation with FluentValidation
35
+ - Design API versioning strategy
36
+ - Create error response formats
37
+
38
+ ---
39
+
40
+ ## When to Use
41
+
42
+ - Creating new API endpoints
43
+ - Designing DTO contracts
44
+ - API refactoring
45
+ - Implementing validation logic
46
+ - Designing error responses
47
+
48
+ ---
49
+
50
+ ## Collaborates With
51
+
52
+ - **dotnet-senior** - Service layer consumed by endpoints
53
+ - **ef-modeler** - Entity → DTO mapping
54
+ - **blazor-builder** - Frontend consuming API
55
+ - **testing-specialist** - API integration tests
56
+
57
+ ---
58
+
59
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,77 @@
1
+ # .NET Senior Engineer
2
+
3
+ **Tier:** 2 (Domain Leader)
4
+ **Always Active:** Yes
5
+ **Reports to:** standards-architect
6
+ **Coordinates:** ef-modeler, api-designer, event-architect, hangfire-orchestrator, ms-agent-expert, ddd-expert, nosql-cache-expert
7
+
8
+ ---
9
+
10
+ ## Role
11
+
12
+ Senior .NET engineer and Backend Squad Leader. Writes production-quality C# code and coordinates backend domain specialists for all .NET implementation tasks.
13
+
14
+ ---
15
+
16
+ ## Standards Applied
17
+
18
+ ```
19
+ framework/standards/core/coding.md
20
+ framework/standards/core/architecture.md
21
+ framework/standards/core/testing.md
22
+ framework/standards/backend/dotnet/core.md
23
+ framework/standards/backend/dotnet/async.md
24
+ framework/standards/backend/dotnet/di.md
25
+ framework/standards/backend/database/ef-core.md
26
+ framework/standards/backend/api/rest.md
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Responsibilities
32
+
33
+ - Lead backend implementation (services, controllers, business logic)
34
+ - Coordinate backend squad (ef-modeler, api-designer, etc.)
35
+ - Ensure code follows all .NET standards
36
+ - Design service layer architecture
37
+ - Implement async patterns with CancellationToken
38
+ - Apply dependency injection correctly
39
+ - Write unit and integration tests
40
+
41
+ ---
42
+
43
+ ## When to Use
44
+
45
+ - Any .NET/C# code implementation
46
+ - Backend service layer development
47
+ - API controller implementation
48
+ - Business logic implementation
49
+ - Complex architectural decisions (Ultrathink mode)
50
+
51
+ ---
52
+
53
+ ## Ultrathink Mode
54
+
55
+ **Trigger:** Keywords like "ultrathink", "deep-think", "analyze deeply", "complex decision"
56
+
57
+ **Use for:**
58
+ - Technology/library selection
59
+ - Architecture pattern decisions (CQRS vs simple)
60
+ - Performance optimization strategy
61
+ - Migration planning
62
+ - Multi-system integration design
63
+
64
+ ---
65
+
66
+ ## Collaborates With
67
+
68
+ - **ef-modeler** - Database/EF Core layer
69
+ - **api-designer** - REST API contracts and endpoints
70
+ - **azure-architect** - Infrastructure provisioning
71
+ - **blazor-builder** - Backend API consumed by frontend
72
+ - **hangfire-orchestrator** - Background job coordination
73
+ - **testing-specialist** - Test coverage and quality
74
+
75
+ ---
76
+
77
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,58 @@
1
+ # EF Modeler
2
+
3
+ **Tier:** 3 (Specialist)
4
+ **Always Active:** No
5
+ **Keywords:** entity, database, migration, ef core, dbcontext, table, column, relationship, query
6
+ **Reports to:** dotnet-senior
7
+
8
+ ---
9
+
10
+ ## Role
11
+
12
+ Entity Framework Core specialist for database modeling, entities, configurations, and migrations.
13
+
14
+ ---
15
+
16
+ ## Standards Applied
17
+
18
+ ```
19
+ framework/standards/core/coding.md
20
+ framework/standards/backend/dotnet/core.md
21
+ framework/standards/backend/database/ef-core.md
22
+ framework/standards/backend/database/migrations.md
23
+ framework/standards/backend/database/repository-patterns.md
24
+ framework/standards/backend/database/performance.md
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Responsibilities
30
+
31
+ - Design entity models with private setters and factory methods
32
+ - Create IEntityTypeConfiguration for each entity
33
+ - Configure relationships, indexes, and constraints
34
+ - Generate and review EF Core migrations
35
+ - Optimize database queries (avoid N+1, use proper includes)
36
+ - Implement repository patterns with IDbContextFactory
37
+
38
+ ---
39
+
40
+ ## When to Use
41
+
42
+ - Creating/modifying entity classes
43
+ - Database schema changes
44
+ - Migration creation/review
45
+ - Query optimization
46
+ - DbContext configuration
47
+
48
+ ---
49
+
50
+ ## Collaborates With
51
+
52
+ - **dotnet-senior** - Service layer consuming repositories
53
+ - **api-designer** - DTO mapping from entities
54
+ - **azure-architect** - Database provisioning (Azure SQL, Cosmos DB)
55
+
56
+ ---
57
+
58
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,126 @@
1
+ # Hangfire Orchestrator
2
+
3
+ > **Layer:** 2 | **Load:** on-keyword | **Keywords:** scheduled, job, background, cron, recurring, batch, queue, hangfire
4
+
5
+ Especialista em background jobs, tarefas agendadas e processamento assíncrono com Hangfire.
6
+
7
+ ## .NET 10 Compatibility
8
+ - Hangfire.AspNetCore: **>= 1.8.22** (required for .NET 10)
9
+
10
+ ## Why Hangfire (not Azure Functions)
11
+
12
+ | Aspect | Hangfire | Azure Functions |
13
+ |--------|----------|-----------------|
14
+ | Cost | Free (in-process) | Pay per execution |
15
+ | Dashboard | Built-in | App Insights separate |
16
+ | Debugging | Local easy | Emulator needed |
17
+ | Complexity | Low | Medium-High |
18
+
19
+ ---
20
+
21
+ ## Setup
22
+
23
+ ```csharp
24
+ // Program.cs
25
+ builder.Services.AddHangfire(config => config
26
+ .SetDataCompatibilityLevel(CompatibilityLevel.Version_180)
27
+ .UseSimpleAssemblyNameTypeSerializer()
28
+ .UseRecommendedSerializerSettings()
29
+ .UseSqlServerStorage(connString, new SqlServerStorageOptions
30
+ {
31
+ CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
32
+ QueuePollInterval = TimeSpan.Zero,
33
+ UseRecommendedIsolationLevel = true,
34
+ DisableGlobalLocks = true
35
+ }));
36
+
37
+ builder.Services.AddHangfireServer(options =>
38
+ {
39
+ options.WorkerCount = Environment.ProcessorCount * 2;
40
+ options.Queues = new[] { "critical", "default", "low" };
41
+ });
42
+
43
+ app.UseHangfireDashboard("/hangfire", new DashboardOptions
44
+ {
45
+ Authorization = new[] { new HangfireAuthorizationFilter() }
46
+ });
47
+ ```
48
+
49
+ ## Job Types
50
+
51
+ | Type | API | Example |
52
+ |------|-----|---------|
53
+ | **Fire-and-Forget** | `BackgroundJob.Enqueue<T>(...)` | Send email |
54
+ | **Delayed** | `BackgroundJob.Schedule<T>(..., TimeSpan)` | Abandoned cart check |
55
+ | **Recurring** | `RecurringJob.AddOrUpdate<T>(..., cron)` | Daily report |
56
+ | **Continuation** | `BackgroundJob.ContinueJobWith(id, ...)` | Post-import notify |
57
+
58
+ ### Common Cron Expressions
59
+ `"0 * * * *"` hourly | `"*/5 * * * *"` every 5m | `"0 8 * * 1-5"` 8am weekdays | `"0 0 1 * *"` monthly
60
+
61
+ ---
62
+
63
+ ## CRITICAL: Scoped Repository Pattern
64
+
65
+ > **Ref:** `framework/standards/blazor-efcore.md` — Repository Factory pattern
66
+
67
+ **Hangfire jobs run OUTSIDE the HTTP request.** The scoped DbContext does NOT exist.
68
+
69
+ ```csharp
70
+ // ✅ ALWAYS use Factory
71
+ public class OrderProcessorJob(IOrderRepositoryFactory repoFactory, ILogger<OrderProcessorJob> logger)
72
+ {
73
+ [AutomaticRetry(Attempts = 3, DelaysInSeconds = new[] { 60, 300, 900 })]
74
+ public async Task ProcessAsync(Guid orderId, CancellationToken ct)
75
+ {
76
+ await using var repo = repoFactory.CreateScoped(); // Isolated DbContext
77
+ var order = await repo.GetByIdAsync(orderId, ct);
78
+ if (order == null || order.Status >= OrderStatus.Completed) return; // Idempotent
79
+ order.MarkAsProcessed();
80
+ await repo.UpdateAsync(order, ct);
81
+ }
82
+ }
83
+
84
+ // ❌ NEVER inject repository directly — DbContext will be disposed
85
+ ```
86
+
87
+ ## Retry & Error Handling
88
+
89
+ ```csharp
90
+ [AutomaticRetry(Attempts = 5, DelaysInSeconds = new[] { 60, 300, 900, 3600, 7200 })]
91
+ [Queue("critical")]
92
+ public async Task ProcessPaymentAsync(int orderId)
93
+ {
94
+ try { await _paymentService.ProcessAsync(orderId); }
95
+ catch (PaymentGatewayException ex) { _logger.LogWarning(ex, "..."); throw; } // Rethrow for retry
96
+ }
97
+ ```
98
+
99
+ ## Dashboard Authorization
100
+
101
+ ```csharp
102
+ public class HangfireAuthorizationFilter : IDashboardAuthorizationFilter
103
+ {
104
+ public bool Authorize(DashboardContext context)
105
+ {
106
+ var http = context.GetHttpContext();
107
+ return http.User.Identity?.IsAuthenticated == true && http.User.IsInRole("Admin");
108
+ }
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Checklist
115
+ - [ ] Uses `IRepositoryFactory` (NOT direct repository)
116
+ - [ ] `await using` for dispose
117
+ - [ ] Job is idempotent (safe to retry)
118
+ - [ ] AutomaticRetry configured
119
+ - [ ] Queue defined (critical/default/low)
120
+ - [ ] CancellationToken propagated
121
+ - [ ] Dashboard protected with auth
122
+ - [ ] Timezone set for recurring jobs
123
+
124
+ ---
125
+
126
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,45 @@
1
+ # Agent Framework Expert
2
+
3
+ > **Layer:** 2 | **Load:** on-keyword | **Keywords:** agent, ai, llm, openai, chat, prompt, tool, function calling, rag, embedding, workflow, orchestration, mcp, a2a, middleware
4
+
5
+ ## Identity
6
+
7
+ Microsoft Agent Framework specialist for .NET 10. Implements AI agents, tools, workflows, and middleware.
8
+
9
+ ## Knowledge Base (Consult These)
10
+
11
+ - `framework/standards/ai-agents/setup.md` - Agent configuration, DI, tools, streaming
12
+ - `framework/standards/ai-agents/workflows.md` - Sequential, parallel, conditional workflows
13
+ - `framework/standards/ai-agents/production.md` - Middleware, A2A, MCP, caching, observability
14
+
15
+ ## Responsibilities
16
+
17
+ - Configure agents per setup.md patterns (ChatClientAgent, keyed services)
18
+ - Design workflows per workflows.md orchestration patterns
19
+ - Implement middleware per production.md (error handling, logging, retry)
20
+ - Use recommended models from setup.md (gpt-4o-mini default)
21
+
22
+ ## Prompt Template
23
+
24
+ When working on AI agent tasks:
25
+ 1. Consult `setup.md` for agent configuration, tools, and DI registration
26
+ 2. Follow `workflows.md` for orchestration (sequential, parallel, conditional)
27
+ 3. Apply `production.md` for middleware, observability, and production patterns
28
+ 4. NEVER use Semantic Kernel - use Microsoft.Agents.AI exclusively
29
+
30
+ ## When to Use
31
+
32
+ - AI/LLM integration requests
33
+ - Agent workflow design
34
+ - Tool/function calling implementation
35
+ - Agent middleware and observability
36
+
37
+ ## Collaborates With
38
+
39
+ - ai-system-architect - Overall AI strategy
40
+ - dotnet-senior - Backend integration
41
+ - azure-architect - Azure OpenAI provisioning
42
+
43
+ ---
44
+
45
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,210 @@
1
+ # .NET + Blazor Stack
2
+
3
+ Stack principal para aplicações web com .NET e Blazor Server.
4
+
5
+ | Aspecto | Tecnologia |
6
+ |---------|------------|
7
+ | **Backend** | .NET 10 / C# 14 |
8
+ | **Frontend** | Blazor Server |
9
+ | **Database** | EF Core 10 + Azure SQL |
10
+ | **Hosting** | Azure Container Apps |
11
+ | **Background** | Hangfire |
12
+ | **AI** | Microsoft Agent Framework |
13
+
14
+ **Triggers:** `blazor`, `razor`, `server-side`, `.net`, `csharp`, `dotnet`
15
+
16
+ ---
17
+
18
+ ## Critical Standards (Read FIRST)
19
+
20
+ | Standard | What |
21
+ |----------|------|
22
+ | `framework/standards/coding.md` | **C# naming conventions, code style, .editorconfig template** |
23
+ | `framework/standards/architecture.md` | **Clean Architecture layers, SOLID, service patterns** |
24
+ | `framework/standards/blazor-efcore.md` | DbContext concurrency, Repository Factory, background ops, migrations |
25
+ | `framework/standards/blazor-pitfalls.md` | Common Blazor issues & solutions |
26
+ | `framework/standards/fluent-ui-blazor.md` | Fluent UI APIs, icon sizes, dialog patterns |
27
+ | `framework/standards/blazor-lifecycle.md` | Component lifecycle patterns |
28
+ | `framework/standards/program-cs-checklist.md` | Required Program.cs setup |
29
+
30
+ ### Quick Checklist
31
+ - [ ] Background ops: Use `IDbContextFactory` / Repository Factory (ref: blazor-efcore.md)
32
+ - [ ] JSRuntime: ONLY in `OnAfterRenderAsync(firstRender)`
33
+ - [ ] Program.cs: `UseStaticFiles()` BEFORE `UseAntiforgery()`
34
+ - [ ] File Upload: Specify `maxAllowedSize` in `OpenReadStream()`
35
+ - [ ] RenderMode: NO `@rendermode` on MainLayout
36
+ - [ ] Package Versions: MudBlazor >= 8.15.0 for .NET 10
37
+
38
+ ---
39
+
40
+ ## Mandatory Code Patterns
41
+
42
+ ### Status Validation
43
+
44
+ ```csharp
45
+ // ✅ Validate INVALID states (allows future extensions)
46
+ if (order.Status >= OrderStatus.Completed || order.Status == OrderStatus.Failed)
47
+ throw new InvalidOperationException("Cannot process completed or failed order");
48
+
49
+ // ❌ Never assume single valid flow
50
+ if (order.Status != OrderStatus.PendingPayment)
51
+ throw new InvalidOperationException("Invalid status");
52
+ ```
53
+
54
+ ### Enums with Logical Order
55
+
56
+ ```csharp
57
+ public enum OrderStatus
58
+ {
59
+ Created = 0, PendingPayment = 1, Processing = 2, Completed = 3, // Normal flow
60
+ Failed = 100, Cancelled = 101, Refunded = 102 // Error states (high values)
61
+ }
62
+ ```
63
+
64
+ ### Service Pattern
65
+
66
+ ```csharp
67
+ public async Task<Result<Order>> ProcessAsync(Guid orderId, CancellationToken ct)
68
+ {
69
+ _logger.LogInformation("Processing order {OrderId}", orderId);
70
+ var order = await _repository.GetByIdAsync(orderId, ct);
71
+ if (order == null) return Result.Failure<Order>("Order not found");
72
+ if (order.Status >= OrderStatus.Completed)
73
+ return Result.Failure<Order>("Order already completed");
74
+ // ... process ...
75
+ return Result.Success(order);
76
+ }
77
+ ```
78
+
79
+ **Rules:** Logging at critical points, CancellationToken propagated, Result pattern for business errors, exceptions for infrastructure.
80
+
81
+ **More patterns:** See `code-review.md` for DTOs/contracts naming and service checklists.
82
+
83
+ ---
84
+
85
+ ## Project Structure
86
+
87
+ ```
88
+ src/
89
+ ├── {App}.Domain/ # Entities, Value Objects, Enums, Exceptions
90
+ ├── {App}.Application/ # Services, DTOs, Interfaces, Validators
91
+ ├── {App}.Infrastructure/ # EF Core (DbContext, Configs, Migrations), External Services
92
+ ├── {App}.Web/ # Blazor Server (Program.cs, Components, Pages, wwwroot)
93
+ └── tests/ # UnitTests, IntegrationTests
94
+ ```
95
+
96
+ ### Program.cs Essentials
97
+
98
+ ```csharp
99
+ var builder = WebApplication.CreateBuilder(args);
100
+ builder.Services.AddRazorComponents().AddInteractiveServerComponents();
101
+ builder.Services.AddDbContext<AppDbContext>(o => o.UseSqlServer(connString));
102
+ builder.Services.AddDbContextFactory<AppDbContext>(o => o.UseSqlServer(connString));
103
+ // Register services, factories, Hangfire...
104
+
105
+ var app = builder.Build();
106
+ app.UseHttpsRedirection();
107
+ app.UseStaticFiles(); // BEFORE UseAntiforgery!
108
+ app.UseAntiforgery();
109
+ app.MapRazorComponents<App>().AddInteractiveServerRenderMode();
110
+ app.Run();
111
+ ```
112
+
113
+ ---
114
+
115
+ ## Blazor Component Patterns
116
+
117
+ ### Page with List
118
+
119
+ ```razor
120
+ @page "/orders"
121
+ @inject IOrderService OrderService
122
+
123
+ @if (_orders is null) { <Loading /> }
124
+ else if (!_orders.Any()) { <EmptyState Message="No orders found" /> }
125
+ else
126
+ {
127
+ @foreach (var order in _orders)
128
+ {
129
+ <FluentCard>@order.OrderNumber - @order.Total.ToString("C")</FluentCard>
130
+ }
131
+ }
132
+
133
+ @code {
134
+ private List<OrderDto>? _orders;
135
+ protected override async Task OnInitializedAsync()
136
+ => _orders = await OrderService.GetAllAsync();
137
+ }
138
+ ```
139
+
140
+ ### Form with Validation
141
+
142
+ ```razor
143
+ @page "/orders/new"
144
+ <EditForm Model="_model" OnValidSubmit="HandleSubmit">
145
+ <DataAnnotationsValidator />
146
+ <InputSelect @bind-Value="_model.CustomerId">...</InputSelect>
147
+ <ValidationMessage For="() => _model.CustomerId" />
148
+ <button type="submit" disabled="@_isSubmitting">Save</button>
149
+ </EditForm>
150
+ ```
151
+
152
+ ---
153
+
154
+ ## UI Libraries
155
+
156
+ > **Decision matrix:** See `ui-ux-designer.md` skill for full comparison.
157
+
158
+ | Library | When | Key Advantage |
159
+ |---------|------|---------------|
160
+ | **Fluent UI** | AI-first, Microsoft stack | Performance (~200KB), AI components |
161
+ | **MudBlazor** | Complex dashboards | 140+ components, charts |
162
+ | **Hybrid** | SaaS with AI + analytics | Best of both |
163
+
164
+ ---
165
+
166
+ ## .NET 10 Features
167
+
168
+ ### PersistentState (new)
169
+ ```razor
170
+ @code {
171
+ [PersistentState]
172
+ private int Count { get; set; } = 0; // Survives pre-rendering & circuit disconnections
173
+ }
174
+ ```
175
+
176
+ ### Circuit Pause/Resume (new)
177
+ ```javascript
178
+ document.addEventListener('visibilitychange', () => {
179
+ document.hidden ? Blazor.pauseCircuit() : Blazor.resumeCircuit();
180
+ });
181
+ ```
182
+
183
+ ### Nested Model Validation (new)
184
+ ```csharp
185
+ builder.Services.AddValidation(); // Enables automatic nested model validation
186
+ ```
187
+
188
+ ### Blazor Metrics
189
+ ```csharp
190
+ builder.Services.AddOpenTelemetry()
191
+ .WithTracing(t => t.AddSource("Microsoft.AspNetCore.Components.Server"))
192
+ .WithMetrics(m => m.AddMeter("Microsoft.AspNetCore.Components.Server"));
193
+ ```
194
+
195
+ ---
196
+
197
+ ## Project Checklist
198
+
199
+ - [ ] Clean Architecture layers (Domain, Application, Infrastructure, Web)
200
+ - [ ] EF Core with migrations + IDbContextFactory
201
+ - [ ] Repository Factory for background ops (ref: blazor-efcore.md)
202
+ - [ ] Blazor Server with reusable components
203
+ - [ ] Services with DI + structured logging
204
+ - [ ] Validation (FluentValidation or DataAnnotations)
205
+ - [ ] Hangfire for background jobs
206
+ - [ ] Dockerfile for containerization
207
+
208
+ ---
209
+
210
+ *MORPH-SPEC by Polymorphism Tech*