@polymorphism-tech/morph-spec 3.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/CLAUDE.md +882 -3
  2. package/README.md +79 -18
  3. package/bin/detect-agents.js +1 -1
  4. package/bin/morph-spec.js +163 -26
  5. package/bin/task-manager.cjs +101 -7
  6. package/bin/validate.js +1 -1
  7. package/docs/cli-auto-detection.md +219 -0
  8. package/docs/getting-started.md +0 -5
  9. package/docs/llm-interaction-config.md +735 -0
  10. package/docs/troubleshooting.md +269 -0
  11. package/docs/v3.0/AGENTS.md +521 -0
  12. package/docs/v3.0/ANALYSIS.md +555 -0
  13. package/docs/v3.0/ARCHITECTURE.md +436 -0
  14. package/docs/v3.0/EXECUTION-FLOW.md +1304 -0
  15. package/docs/v3.0/FEATURES.md +688 -0
  16. package/docs/v3.0/README.md +231 -0
  17. package/docs/v3.0/ROADMAP.md +801 -0
  18. package/docs/validation-checklist.md +0 -1
  19. package/package.json +5 -1
  20. package/src/commands/agents/index.js +4 -0
  21. package/src/commands/agents/spawn-team.js +172 -0
  22. package/src/commands/{create-story.js → feature/create-story.js} +357 -354
  23. package/src/commands/feature/index.js +6 -0
  24. package/src/commands/{shard-spec.js → feature/shard-spec.js} +2 -2
  25. package/src/commands/{sprint-status.js → feature/sprint-status.js} +1 -1
  26. package/src/commands/{generate-context.js → generation/generate-context.js} +40 -40
  27. package/src/commands/{generate.js → generation/generate.js} +130 -3
  28. package/src/commands/generation/index.js +5 -0
  29. package/src/commands/index.js +16 -0
  30. package/src/commands/learning/capture-pattern.js +121 -0
  31. package/src/commands/learning/index.js +5 -0
  32. package/src/commands/learning/search-patterns.js +126 -0
  33. package/src/commands/{detect-agents.js → project/detect-agents.js} +178 -178
  34. package/src/commands/project/detect-workflow.js +174 -0
  35. package/src/commands/{detect.js → project/detect.js} +104 -104
  36. package/src/commands/{doctor.js → project/doctor.js} +356 -356
  37. package/src/commands/project/index.js +10 -0
  38. package/src/commands/{init.js → project/init.js} +305 -258
  39. package/src/commands/{sync.js → project/sync.js} +167 -167
  40. package/src/commands/{update.js → project/update.js} +240 -204
  41. package/src/commands/{advance-phase.js → state/advance-phase.js} +416 -266
  42. package/src/commands/state/approve.js +221 -0
  43. package/src/commands/state/index.js +8 -0
  44. package/src/commands/{rollback-phase.js → state/rollback-phase.js} +185 -185
  45. package/src/commands/{state.js → state/state.js} +334 -334
  46. package/src/commands/{validate-phase.js → state/validate-phase.js} +221 -221
  47. package/src/commands/tasks/index.js +4 -0
  48. package/src/commands/{task.js → tasks/task.js} +78 -78
  49. package/src/commands/templates/index.js +8 -0
  50. package/src/commands/templates/template-customize.js +101 -0
  51. package/src/commands/templates/template-list.js +128 -0
  52. package/src/commands/templates/template-render.js +95 -0
  53. package/src/commands/templates/template-show.js +131 -0
  54. package/src/commands/templates/template-validate.js +91 -0
  55. package/src/commands/utils/index.js +7 -0
  56. package/src/commands/utils/migrate-state.js +158 -0
  57. package/src/commands/{session-summary.js → utils/session-summary.js} +291 -291
  58. package/src/commands/{troubleshoot.js → utils/troubleshoot.js} +222 -222
  59. package/src/commands/utils/upgrade.js +346 -0
  60. package/src/commands/{analyze-blazor-concurrency.js → validation/analyze-blazor-concurrency.js} +193 -193
  61. package/src/commands/validation/index.js +8 -0
  62. package/src/commands/{lint-fluent.js → validation/lint-fluent.js} +352 -352
  63. package/src/commands/{validate-blazor-state.js → validation/validate-blazor-state.js} +210 -210
  64. package/src/commands/{validate-blazor.js → validation/validate-blazor.js} +156 -156
  65. package/src/commands/{validate-css.js → validation/validate-css.js} +84 -84
  66. package/src/core/index.js +10 -0
  67. package/src/core/registry/command-registry.js +302 -0
  68. package/src/core/registry/index.js +8 -0
  69. package/src/core/registry/validator-registry.js +204 -0
  70. package/src/core/state/index.js +8 -0
  71. package/src/core/state/phase-state-machine.js +214 -0
  72. package/src/{lib → core/state}/state-manager.js +572 -414
  73. package/src/core/templates/index.js +9 -0
  74. package/src/core/templates/template-data-sources.js +325 -0
  75. package/src/core/templates/template-registry.js +335 -0
  76. package/src/core/templates/template-renderer.js +477 -0
  77. package/src/core/templates/template-validator.js +296 -0
  78. package/src/core/workflows/index.js +7 -0
  79. package/src/core/workflows/workflow-detector.js +354 -0
  80. package/src/generator/config-generator.js +206 -0
  81. package/src/generator/templates/config.json.template +40 -0
  82. package/src/generator/templates/project.md.template +67 -0
  83. package/src/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
  84. package/src/lib/analysis/index.js +7 -0
  85. package/src/lib/checkpoints/checkpoint-hooks.js +258 -0
  86. package/src/lib/checkpoints/index.js +7 -0
  87. package/src/lib/detectors/config-detector.js +223 -223
  88. package/src/lib/detectors/conversation-analyzer.js +163 -163
  89. package/src/lib/{design-system-detector.js → detectors/design-system-detector.js} +187 -187
  90. package/src/lib/detectors/index.js +87 -84
  91. package/src/lib/detectors/standards-generator.js +275 -275
  92. package/src/lib/detectors/structure-detector.js +245 -245
  93. package/src/lib/{context-generator.js → generators/context-generator.js} +526 -516
  94. package/src/lib/generators/index.js +10 -0
  95. package/src/lib/generators/metadata-extractor.js +387 -0
  96. package/src/lib/{recap-generator.js → generators/recap-generator.js} +205 -205
  97. package/src/lib/learning/index.js +7 -0
  98. package/src/lib/orchestration/index.js +7 -0
  99. package/src/lib/{team-orchestrator.js → orchestration/team-orchestrator.js} +323 -323
  100. package/src/lib/stacks/index.js +7 -0
  101. package/src/lib/{stack-resolver.js → stacks/stack-resolver.js} +180 -148
  102. package/src/lib/standards/index.js +7 -0
  103. package/src/lib/{standards-context-injector.js → standards/standards-context-injector.js} +298 -288
  104. package/src/lib/troubleshooting/index.js +8 -0
  105. package/src/lib/{troubleshoot-grep.js → troubleshooting/troubleshoot-grep.js} +204 -204
  106. package/src/lib/{troubleshoot-index.js → troubleshooting/troubleshoot-index.js} +144 -144
  107. package/src/lib/validators/architecture/architecture-validator.js +387 -0
  108. package/src/lib/validators/architecture/index.js +7 -0
  109. package/src/lib/validators/architecture-validator.js +40 -367
  110. package/src/lib/{blazor-concurrency-analyzer.js → validators/blazor/blazor-concurrency-analyzer.js} +277 -288
  111. package/src/lib/{blazor-state-validator.js → validators/blazor/blazor-state-validator.js} +279 -291
  112. package/src/lib/{blazor-validator.js → validators/blazor/blazor-validator.js} +369 -374
  113. package/src/lib/validators/blazor/index.js +9 -0
  114. package/src/lib/validators/content/content-validator.js +351 -0
  115. package/src/lib/validators/content/index.js +7 -0
  116. package/src/lib/validators/content-validator.js +164 -0
  117. package/src/lib/validators/{contract-compliance-validator.js → contracts/contract-compliance-validator.js} +273 -273
  118. package/src/lib/validators/contracts/index.js +7 -0
  119. package/src/lib/{css-validator.js → validators/css/css-validator.js} +352 -352
  120. package/src/lib/validators/css/index.js +7 -0
  121. package/src/lib/validators/{design-system-validator.js → design-system/design-system-validator.js} +231 -231
  122. package/src/lib/validators/design-system/index.js +7 -0
  123. package/src/lib/validators/package-validator.js +41 -340
  124. package/src/lib/validators/packages/index.js +7 -0
  125. package/src/lib/validators/packages/package-validator.js +360 -0
  126. package/src/lib/validators/shared/index.js +12 -0
  127. package/src/lib/validators/shared/issue-counter.js +18 -0
  128. package/src/lib/validators/shared/result-formatter.js +124 -0
  129. package/src/lib/{spec-validator.js → validators/spec-validator.js} +258 -258
  130. package/src/lib/validators/ui/index.js +7 -0
  131. package/src/lib/validators/ui/ui-contrast-validator.js +422 -0
  132. package/src/lib/validators/ui-contrast-validator.js +31 -409
  133. package/src/lib/{validation-runner.js → validators/validation-runner.js} +286 -284
  134. package/src/llm/analyzer.js +215 -0
  135. package/src/llm/environment-detector.js +43 -0
  136. package/src/llm/few-shot-examples.js +216 -0
  137. package/src/llm/project-config-schema.json +188 -0
  138. package/src/llm/prompt-builder.js +96 -0
  139. package/src/orchestrator.js +206 -0
  140. package/src/sanitizer/context-sanitizer.js +221 -0
  141. package/src/sanitizer/patterns.js +163 -0
  142. package/src/scanner/project-scanner.js +242 -0
  143. package/src/ui/diff-display.js +91 -0
  144. package/src/ui/interactive-wizard.js +96 -0
  145. package/src/ui/user-review.js +211 -0
  146. package/src/ui/wizard-questions.js +188 -0
  147. package/src/utils/color-utils.js +70 -0
  148. package/src/utils/file-copier.js +188 -189
  149. package/src/utils/process-handler.js +97 -0
  150. package/src/writer/file-writer.js +86 -0
  151. package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +3 -3
  152. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/api-designer.md +59 -0
  153. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +45 -255
  154. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +33 -88
  155. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +25 -89
  156. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
  157. package/stacks/blazor-azure/.morph/config/agents.json +879 -764
  158. package/stacks/blazor-azure/.morph/hooks/{pre-commit-tests.sh → pre-commit/tests-csharp.sh} +3 -2
  159. package/stacks/blazor-azure/.morph/templates/.gitkeep +0 -0
  160. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +41 -0
  161. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +24 -0
  162. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +23 -0
  163. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +221 -0
  164. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +79 -0
  165. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +529 -0
  166. package/stacks/nextjs-supabase/.claude/commands/morph-infra.md +209 -0
  167. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +227 -0
  168. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +122 -0
  169. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +86 -0
  170. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +122 -0
  171. package/stacks/nextjs-supabase/.claude/settings.local.json +6 -0
  172. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +30 -150
  173. package/stacks/nextjs-supabase/.morph/config/agents.json +345 -345
  174. package/stacks/nextjs-supabase/.morph/hooks/pre-commit/tests-typescript.sh +61 -0
  175. package/stacks/nextjs-supabase/.morph/templates/.gitkeep +0 -0
  176. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +22 -0
  177. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +22 -0
  178. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +35 -0
  179. package/stacks/nextjs-supabase/README.md +6 -15
  180. package/bin/render-template.js +0 -303
  181. package/bin/semantic-detect-agents.js +0 -247
  182. package/bin/validate-agents-skills.js +0 -257
  183. package/bin/validate-agents.js +0 -70
  184. package/bin/validate-phase.js +0 -263
  185. package/docs/examples.md +0 -328
  186. package/scripts/reorganize-skills.cjs +0 -175
  187. package/scripts/validate-agents-structure.cjs +0 -52
  188. package/scripts/validate-skills.cjs +0 -180
  189. package/src/commands/deploy.js +0 -780
  190. package/src/lib/continuous-validator.js +0 -421
  191. package/src/lib/decision-constraint-loader.js +0 -109
  192. package/src/lib/design-system-scaffolder.js +0 -299
  193. package/src/lib/hook-executor.js +0 -257
  194. package/src/lib/mockup-generator.js +0 -366
  195. package/src/lib/ui-detector.js +0 -350
  196. package/stacks/blazor-azure/.azure/README.md +0 -293
  197. package/stacks/blazor-azure/.azure/docs/azure-devops-setup.md +0 -454
  198. package/stacks/blazor-azure/.azure/docs/branch-strategy.md +0 -398
  199. package/stacks/blazor-azure/.azure/docs/local-development.md +0 -515
  200. package/stacks/blazor-azure/.azure/pipelines/pipeline-variables.yml +0 -34
  201. package/stacks/blazor-azure/.azure/pipelines/prod-pipeline.yml +0 -319
  202. package/stacks/blazor-azure/.azure/pipelines/staging-pipeline.yml +0 -234
  203. package/stacks/blazor-azure/.azure/pipelines/templates/build-dotnet.yml +0 -75
  204. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-app-service.yml +0 -94
  205. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-container-app.yml +0 -120
  206. package/stacks/blazor-azure/.azure/pipelines/templates/infra-deploy.yml +0 -90
  207. package/stacks/blazor-azure/.claude/settings.local.json +0 -15
  208. package/stacks/blazor-azure/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +0 -392
  209. package/stacks/blazor-azure/.morph/docs/workflows/design-impl.md +0 -37
  210. package/stacks/blazor-azure/.morph/docs/workflows/enforcement-pipeline.md +0 -668
  211. package/stacks/blazor-azure/.morph/docs/workflows/fast-track.md +0 -29
  212. package/stacks/blazor-azure/.morph/docs/workflows/full-morph.md +0 -76
  213. package/stacks/blazor-azure/.morph/docs/workflows/standard.md +0 -44
  214. package/stacks/blazor-azure/.morph/docs/workflows/ui-refresh.md +0 -39
  215. package/stacks/blazor-azure/.morph/examples/api-nextjs/README.md +0 -241
  216. package/stacks/blazor-azure/.morph/examples/api-nextjs/contracts.ts +0 -307
  217. package/stacks/blazor-azure/.morph/examples/api-nextjs/spec.md +0 -399
  218. package/stacks/blazor-azure/.morph/examples/api-nextjs/tasks.md +0 -168
  219. package/stacks/blazor-azure/.morph/examples/micro-saas/README.md +0 -125
  220. package/stacks/blazor-azure/.morph/examples/micro-saas/contracts.cs +0 -358
  221. package/stacks/blazor-azure/.morph/examples/micro-saas/decisions.md +0 -246
  222. package/stacks/blazor-azure/.morph/examples/micro-saas/spec.md +0 -236
  223. package/stacks/blazor-azure/.morph/examples/micro-saas/tasks.md +0 -150
  224. package/stacks/blazor-azure/.morph/examples/multi-agent/README.md +0 -309
  225. package/stacks/blazor-azure/.morph/examples/multi-agent/contracts.cs +0 -433
  226. package/stacks/blazor-azure/.morph/examples/multi-agent/spec.md +0 -479
  227. package/stacks/blazor-azure/.morph/examples/multi-agent/tasks.md +0 -185
  228. package/stacks/blazor-azure/.morph/examples/scheduled-reports/decisions.md +0 -158
  229. package/stacks/blazor-azure/.morph/examples/scheduled-reports/proposal.md +0 -95
  230. package/stacks/blazor-azure/.morph/examples/scheduled-reports/spec.md +0 -267
  231. package/stacks/blazor-azure/.morph/examples/state-v3.json +0 -188
  232. package/stacks/blazor-azure/.morph/hooks/README.md +0 -348
  233. package/stacks/blazor-azure/.morph/hooks/pre-commit-agents.sh +0 -24
  234. package/stacks/blazor-azure/.morph/hooks/pre-commit-all.sh +0 -48
  235. package/stacks/blazor-azure/.morph/hooks/pre-commit-specs.sh +0 -49
  236. package/stacks/blazor-azure/.morph/hooks/task-completed.js +0 -73
  237. package/stacks/blazor-azure/.morph/hooks/teammate-idle.js +0 -68
  238. package/stacks/blazor-azure/.morph/standards/agent-framework-blazor-ui.md +0 -359
  239. package/stacks/blazor-azure/.morph/standards/agent-framework-production.md +0 -410
  240. package/stacks/blazor-azure/.morph/standards/agent-framework-setup.md +0 -413
  241. package/stacks/blazor-azure/.morph/standards/agent-framework-workflows.md +0 -349
  242. package/stacks/blazor-azure/.morph/standards/agent-teams-workflow.md +0 -474
  243. package/stacks/blazor-azure/.morph/standards/architecture.md +0 -325
  244. package/stacks/blazor-azure/.morph/standards/azure.md +0 -605
  245. package/stacks/blazor-azure/.morph/standards/coding.md +0 -377
  246. package/stacks/blazor-azure/.morph/standards/dotnet10-migration.md +0 -520
  247. package/stacks/blazor-azure/.morph/standards/fluent-ui-setup.md +0 -590
  248. package/stacks/blazor-azure/.morph/standards/migration-guide.md +0 -514
  249. package/stacks/blazor-azure/.morph/standards/passkeys-auth.md +0 -423
  250. package/stacks/blazor-azure/.morph/standards/vector-search-rag.md +0 -536
  251. package/stacks/blazor-azure/.morph/templates/CONTEXT-FEATURE.md +0 -276
  252. package/stacks/blazor-azure/.morph/templates/CONTEXT.md +0 -170
  253. package/stacks/blazor-azure/.morph/templates/FluentDesignTheme.cs +0 -149
  254. package/stacks/blazor-azure/.morph/templates/MudTheme.cs +0 -281
  255. package/stacks/blazor-azure/.morph/templates/agent.cs +0 -163
  256. package/stacks/blazor-azure/.morph/templates/clarify-questions.md +0 -159
  257. package/stacks/blazor-azure/.morph/templates/component.razor +0 -239
  258. package/stacks/blazor-azure/.morph/templates/contracts/Commands.cs +0 -74
  259. package/stacks/blazor-azure/.morph/templates/contracts/Entities.cs +0 -25
  260. package/stacks/blazor-azure/.morph/templates/contracts/Queries.cs +0 -74
  261. package/stacks/blazor-azure/.morph/templates/contracts/README.md +0 -74
  262. package/stacks/blazor-azure/.morph/templates/contracts.cs +0 -217
  263. package/stacks/blazor-azure/.morph/templates/decisions.md +0 -123
  264. package/stacks/blazor-azure/.morph/templates/design-system.css +0 -226
  265. package/stacks/blazor-azure/.morph/templates/infra/.dockerignore.example +0 -89
  266. package/stacks/blazor-azure/.morph/templates/infra/Dockerfile.example +0 -82
  267. package/stacks/blazor-azure/.morph/templates/infra/README.md +0 -286
  268. package/stacks/blazor-azure/.morph/templates/infra/app-insights.bicep +0 -63
  269. package/stacks/blazor-azure/.morph/templates/infra/app-service.bicep +0 -164
  270. package/stacks/blazor-azure/.morph/templates/infra/azure-pipelines-deploy.yml +0 -480
  271. package/stacks/blazor-azure/.morph/templates/infra/container-app-env.bicep +0 -49
  272. package/stacks/blazor-azure/.morph/templates/infra/container-app.bicep +0 -156
  273. package/stacks/blazor-azure/.morph/templates/infra/deploy-checklist.md +0 -426
  274. package/stacks/blazor-azure/.morph/templates/infra/deploy.ps1 +0 -229
  275. package/stacks/blazor-azure/.morph/templates/infra/deploy.sh +0 -208
  276. package/stacks/blazor-azure/.morph/templates/infra/key-vault.bicep +0 -91
  277. package/stacks/blazor-azure/.morph/templates/infra/main.bicep +0 -189
  278. package/stacks/blazor-azure/.morph/templates/infra/parameters.dev.json +0 -29
  279. package/stacks/blazor-azure/.morph/templates/infra/parameters.prod.json +0 -29
  280. package/stacks/blazor-azure/.morph/templates/infra/parameters.staging.json +0 -29
  281. package/stacks/blazor-azure/.morph/templates/infra/sql-database.bicep +0 -103
  282. package/stacks/blazor-azure/.morph/templates/infra/storage.bicep +0 -106
  283. package/stacks/blazor-azure/.morph/templates/integrations/asaas-client.cs +0 -387
  284. package/stacks/blazor-azure/.morph/templates/integrations/asaas-webhook.cs +0 -351
  285. package/stacks/blazor-azure/.morph/templates/integrations/azure-identity-config.cs +0 -288
  286. package/stacks/blazor-azure/.morph/templates/integrations/clerk-config.cs +0 -258
  287. package/stacks/blazor-azure/.morph/templates/job.cs +0 -171
  288. package/stacks/blazor-azure/.morph/templates/migration.cs +0 -83
  289. package/stacks/blazor-azure/.morph/templates/proposal.md +0 -141
  290. package/stacks/blazor-azure/.morph/templates/recap.md +0 -94
  291. package/stacks/blazor-azure/.morph/templates/repository.cs +0 -141
  292. package/stacks/blazor-azure/.morph/templates/saas/subscription.cs +0 -347
  293. package/stacks/blazor-azure/.morph/templates/saas/tenant.cs +0 -338
  294. package/stacks/blazor-azure/.morph/templates/service.cs +0 -139
  295. package/stacks/blazor-azure/.morph/templates/simulation.md +0 -353
  296. package/stacks/blazor-azure/.morph/templates/spec.md +0 -149
  297. package/stacks/blazor-azure/.morph/templates/sprint-status.yaml +0 -68
  298. package/stacks/blazor-azure/.morph/templates/state.template.json +0 -222
  299. package/stacks/blazor-azure/.morph/templates/story.md +0 -143
  300. package/stacks/blazor-azure/.morph/templates/tasks.md +0 -257
  301. package/stacks/blazor-azure/.morph/templates/test.cs +0 -239
  302. package/stacks/blazor-azure/.morph/templates/ui-components.md +0 -362
  303. package/stacks/blazor-azure/.morph/templates/ui-design-system.md +0 -286
  304. package/stacks/blazor-azure/.morph/templates/ui-flows.md +0 -336
  305. package/stacks/blazor-azure/.morph/templates/ui-mockups.md +0 -133
  306. package/stacks/nextjs-supabase/.morph/docs/easypanel-setup.md +0 -169
  307. package/stacks/nextjs-supabase/.morph/docs/supabase-mcp-setup.md +0 -247
  308. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/README.md +0 -697
  309. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/spec.md +0 -85
  310. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/tasks.md +0 -86
  311. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/README.md +0 -498
  312. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/decisions.md +0 -121
  313. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/spec.md +0 -138
  314. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/tasks.md +0 -162
  315. package/stacks/nextjs-supabase/.morph/standards/easypanel-deploy.md +0 -191
  316. package/stacks/nextjs-supabase/.morph/standards/nextjs-patterns.md +0 -193
  317. package/stacks/nextjs-supabase/.morph/standards/supabase-auth.md +0 -171
  318. package/stacks/nextjs-supabase/.morph/standards/supabase-pgvector.md +0 -164
  319. package/stacks/nextjs-supabase/.morph/standards/supabase-rls.md +0 -179
  320. package/stacks/nextjs-supabase/.morph/standards/supabase-storage.md +0 -148
  321. package/stacks/nextjs-supabase/.morph/templates/contracts.cs +0 -173
  322. package/stacks/nextjs-supabase/.morph/templates/contracts.ts +0 -168
  323. package/stacks/nextjs-supabase/.morph/templates/decisions.md +0 -115
  324. package/stacks/nextjs-supabase/.morph/templates/dockerfile-api.dockerfile +0 -38
  325. package/stacks/nextjs-supabase/.morph/templates/dockerfile-web.dockerfile +0 -48
  326. package/stacks/nextjs-supabase/.morph/templates/proposal.md +0 -145
  327. package/stacks/nextjs-supabase/.morph/templates/recap.md +0 -134
  328. package/stacks/nextjs-supabase/.morph/templates/rls-policy.sql +0 -57
  329. package/stacks/nextjs-supabase/.morph/templates/spec.md +0 -231
  330. package/stacks/nextjs-supabase/.morph/templates/supabase-migration.sql +0 -100
  331. package/stacks/nextjs-supabase/.morph/templates/tasks.md +0 -257
  332. /package/src/lib/{design-system-generator.js → generators/design-system-generator.js} +0 -0
  333. /package/src/lib/{learning-system.js → learning/learning-system.js} +0 -0
@@ -1,112 +1,57 @@
1
1
  # EF Modeler
2
2
 
3
- > **Layer:** 2 | **Load:** on-keyword | **Keywords:** entity, database, migration, ef core, dbcontext, table, column, relationship, query
4
-
5
- Especialista em Entity Framework Core para modelagem de dados e banco de dados.
6
-
7
- ## .NET 10 Compatibility
8
- - EF Core: **>= 10.0.0** | New: Vector search, primitive collections
9
- - **Ref:** `framework/standards/dotnet10-compatibility.md`
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
10
7
 
11
8
  ---
12
9
 
13
- ## Entity Structure
10
+ ## Role
14
11
 
15
- ```csharp
16
- public class Order : BaseEntity
17
- {
18
- public string OrderNumber { get; private set; } = null!;
19
- public OrderStatus Status { get; private set; }
20
- public decimal Total { get; private set; }
21
- public DateTime CreatedAt { get; private set; }
12
+ Entity Framework Core specialist for database modeling, entities, configurations, and migrations.
22
13
 
23
- // Navigation
24
- public int CustomerId { get; private set; }
25
- public Customer Customer { get; private set; } = null!;
26
- public ICollection<OrderItem> Items { get; private set; } = new List<OrderItem>();
14
+ ---
27
15
 
28
- // Factory method
29
- public static Order Create(int customerId, IEnumerable<OrderItem> items) { ... }
30
- }
31
- ```
16
+ ## Standards Applied
32
17
 
33
- **Rules:** Private setters, factory methods, explicit navigation properties.
34
-
35
- ## Configuration
36
-
37
- ```csharp
38
- public class OrderConfiguration : IEntityTypeConfiguration<Order>
39
- {
40
- public void Configure(EntityTypeBuilder<Order> builder)
41
- {
42
- builder.ToTable("Orders");
43
- builder.HasKey(o => o.Id);
44
- builder.Property(o => o.OrderNumber).IsRequired().HasMaxLength(20);
45
- builder.Property(o => o.Total).HasPrecision(18, 2);
46
- builder.HasIndex(o => o.OrderNumber).IsUnique();
47
- builder.HasOne(o => o.Customer).WithMany(c => c.Orders)
48
- .HasForeignKey(o => o.CustomerId).OnDelete(DeleteBehavior.Restrict);
49
- builder.HasMany(o => o.Items).WithOne(i => i.Order)
50
- .HasForeignKey(i => i.OrderId).OnDelete(DeleteBehavior.Cascade);
51
- }
52
- }
53
18
  ```
54
-
55
- ## Migrations
56
-
57
- ```powershell
58
- dotnet ef migrations add {Name} --project src/Infrastructure --startup-project src/Web
59
- dotnet ef migrations script --idempotent --output migration.sql
60
- dotnet ef database update
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
61
25
  ```
62
26
 
63
- **Naming:** `{YYYYMMDD}_{Number}_{Description}` (e.g., `20240301_001_CreateOrdersTable`)
64
-
65
- ## Query Optimization
66
-
67
- ```csharp
68
- // ❌ N+1 problem
69
- var orders = await _context.Orders.ToListAsync();
70
- foreach (var o in orders) { var items = o.Items; } // N extra queries!
27
+ ---
71
28
 
72
- // ✅ Include
73
- var orders = await _context.Orders.Include(o => o.Items).Include(o => o.Customer).ToListAsync();
29
+ ## Responsibilities
74
30
 
75
- // Projection (best)
76
- var dtos = await _context.Orders.Select(o => new OrderDto {
77
- Id = o.Id, CustomerName = o.Customer.Name, ItemCount = o.Items.Count
78
- }).ToListAsync();
79
- ```
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
80
37
 
81
38
  ---
82
39
 
83
- ## Background Operations
84
-
85
- > **Ref:** `framework/standards/blazor-efcore.md` — Repository Factory pattern for background ops
40
+ ## When to Use
86
41
 
87
- **Rule:** Separate thread = isolated DbContext via `IDbContextFactory`.
88
- Background tasks, `Task.Run`, SignalR, Hangfire jobs — all need `IDbContextFactory`.
42
+ - Creating/modifying entity classes
43
+ - Database schema changes
44
+ - Migration creation/review
45
+ - Query optimization
46
+ - DbContext configuration
89
47
 
90
48
  ---
91
49
 
92
- ## Troubleshooting
93
-
94
- | Error | Cause | Fix |
95
- |-------|-------|-----|
96
- | `Invalid object name 'Table'` | Migration not applied | Run `database update` |
97
- | `PendingModelChangesWarning` | Model changed without migration | Create new migration |
98
- | `Include() doesn't load` | `HasMany<T>()` without navigation | Use `HasMany(x => x.Nav)` |
99
- | `A second operation was started` | Shared DbContext | Use `IDbContextFactory` |
100
-
101
- ## Checklist
102
- - [ ] Entities with private setters + factory methods
103
- - [ ] Separate configuration (IEntityTypeConfiguration)
104
- - [ ] Indexes on search columns
105
- - [ ] Precision defined for decimals
106
- - [ ] Delete behavior explicit
107
- - [ ] Migration script generated and reviewed
108
- - [ ] Queries with Include or Projection (no N+1)
109
- - [ ] `IDbContextFactory` for background ops
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)
110
55
 
111
56
  ---
112
57
 
@@ -2,107 +2,43 @@
2
2
 
3
3
  > **Layer:** 2 | **Load:** on-keyword | **Keywords:** agent, ai, llm, openai, chat, prompt, tool, function calling, rag, embedding, workflow, orchestration, mcp, a2a, middleware
4
4
 
5
- Microsoft Agent Framework for .NET 10. **Replaces Semantic Kernel.** Packages: `Microsoft.Agents.AI`, `Microsoft.Agents.AI.OpenAI`, `Microsoft.Agents.AI.Hosting`.
5
+ ## Identity
6
6
 
7
- > **Ref:** `agent-framework-setup.md` Full setup guide
8
- > **Ref:** `agent-framework-workflows.md` — Orchestration patterns
9
- > **Ref:** `agent-framework-production.md` — Middleware, A2A, MCP, caching
7
+ Microsoft Agent Framework specialist for .NET 10. Implements AI agents, tools, workflows, and middleware.
10
8
 
11
- ## Quick Start
9
+ ## Knowledge Base (Consult These)
12
10
 
13
- ```csharp
14
- AIAgent agent = new AzureOpenAIClient(
15
- new Uri(endpoint), new AzureCliCredential())
16
- .GetChatClient("gpt-4o-mini")
17
- .AsAIAgent(instructions: "You are a helpful assistant.");
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
18
14
 
19
- Console.WriteLine(await agent.RunAsync("Analyze this."));
20
- ```
15
+ ## Responsibilities
21
16
 
22
- ## Agent with Tools
23
-
24
- ```csharp
25
- public class OrderFunctions
26
- {
27
- private readonly IOrderService _orderService;
28
-
29
- public OrderFunctions(IOrderService orderService) => _orderService = orderService;
30
-
31
- [Description("Get order by number")]
32
- public async Task<Order?> GetOrderAsync(
33
- [Description("Order number")] string orderNumber, CancellationToken ct = default)
34
- => await _orderService.GetByNumberAsync(orderNumber, ct);
35
-
36
- [Description("Calculate customer discount")]
37
- public decimal CalculateDiscount(
38
- [Description("Customer ID")] int customerId,
39
- [Description("Order total")] decimal orderTotal) => orderTotal * 0.1m;
40
- }
41
-
42
- // Register agent with tools via DI
43
- builder.AddAIAgent("OrderAgent", (sp, key) =>
44
- {
45
- var chatClient = sp.GetRequiredService<IChatClient>();
46
- var orderFunctions = sp.GetRequiredService<OrderFunctions>();
47
-
48
- return new ChatClientAgent(chatClient, name: key,
49
- instructions: "You are an order assistant. Use tools to help users.",
50
- tools: [
51
- AIFunctionFactory.Create(orderFunctions.GetOrderAsync),
52
- AIFunctionFactory.Create(orderFunctions.CalculateDiscount)]);
53
- });
54
- ```
55
-
56
- ## Workflow (Sequential)
57
-
58
- ```csharp
59
- Workflow workflow = AgentWorkflowBuilder.BuildSequential(writer, editor);
60
- AIAgent workflowAgent = await workflow.AsAgentAsync();
61
- var response = await workflowAgent.RunAsync("Write a report.");
62
- ```
63
-
64
- ## Middleware (Error Handling)
65
-
66
- ```csharp
67
- var agent = originalAgent.AsBuilder()
68
- .Use(async (agent, context, next, ct) =>
69
- {
70
- try { return await next(context, ct); }
71
- catch (Exception ex) { return $"Error: {ex.Message}"; }
72
- })
73
- .Build();
74
- ```
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)
75
21
 
76
22
  ## Prompt Template
77
23
 
78
- ```
79
- # Identity: You are {AgentName}, expert in {Domain}.
80
- # Context: {ContextDescription}
81
- # Rules: {BulletList}
82
- # Response Format: {Format}
83
- # Examples: Input: {In} → Output: {Out}
84
- ```
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
85
29
 
86
- ## Model Selection
30
+ ## When to Use
87
31
 
88
- | Use Case | Model | Cost |
89
- |----------|-------|------|
90
- | Simple tasks (default) | gpt-4o-mini | $0.15/1M input |
91
- | Complex analysis | gpt-4o | $2.50/1M input |
92
- | Embeddings | text-embedding-3-small | $0.02/1M |
32
+ - AI/LLM integration requests
33
+ - Agent workflow design
34
+ - Tool/function calling implementation
35
+ - Agent middleware and observability
93
36
 
94
- ## Checklist
37
+ ## Collaborates With
95
38
 
96
- - [ ] `Microsoft.Agents.AI` + `Microsoft.Agents.AI.OpenAI` installed
97
- - [ ] `IChatClient` configured via DI (singleton)
98
- - [ ] Agents use `ChatClientAgent` or `.AsAIAgent()`
99
- - [ ] Agents registered with `builder.AddAIAgent()` (keyed services)
100
- - [ ] Tools use `AIFunctionFactory.Create()` + `[Description]`
101
- - [ ] Middleware for error handling and logging
102
- - [ ] gpt-4o-mini as default model
103
- - [ ] API keys in Key Vault
104
- - [ ] OpenTelemetry enabled: `agent.WithOpenTelemetry()`
105
- - [ ] **Do NOT use Semantic Kernel** (`Kernel`, `KernelFunction`, `InvokePromptAsync`)
39
+ - ai-system-architect - Overall AI strategy
40
+ - dotnet-senior - Backend integration
41
+ - azure-architect - Azure OpenAI provisioning
106
42
 
107
43
  ---
108
44
 
@@ -0,0 +1,64 @@
1
+ # Hangfire Orchestrator
2
+
3
+ **Tier:** 3 (Specialist)
4
+ **Always Active:** No
5
+ **Keywords:** scheduled, job, background, cron, recurring, batch, queue, hangfire
6
+ **Reports to:** dotnet-senior
7
+
8
+ ---
9
+
10
+ ## Role
11
+
12
+ Hangfire specialist for background jobs, scheduled tasks, and asynchronous processing.
13
+
14
+ ---
15
+
16
+ ## Standards Applied
17
+
18
+ ```
19
+ framework/standards/core/coding.md
20
+ framework/standards/backend/dotnet/async.md
21
+ framework/standards/backend/database/repository-patterns.md (Factory pattern for scoped repos)
22
+ framework/standards/backend/integrations/hangfire/setup.md
23
+ framework/standards/backend/integrations/hangfire/jobs.md
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Responsibilities
29
+
30
+ - Configure Hangfire with SQL Server storage
31
+ - Create fire-and-forget jobs
32
+ - Schedule recurring jobs with cron expressions
33
+ - Implement delayed and continuation jobs
34
+ - Use IRepositoryFactory for DbContext in jobs (NOT direct injection)
35
+ - Configure Hangfire Dashboard with authentication
36
+ - Handle job failures and retries
37
+
38
+ ---
39
+
40
+ ## When to Use
41
+
42
+ - Background processing (emails, reports, cleanup)
43
+ - Scheduled tasks (daily/hourly jobs)
44
+ - Delayed operations (abandoned cart after 24h)
45
+ - Long-running operations outside HTTP request
46
+
47
+ ---
48
+
49
+ ## Critical Pattern
50
+
51
+ **ALWAYS use IRepositoryFactory in Hangfire jobs** - DbContext is scoped to HTTP request and won't exist in background jobs.
52
+
53
+ ---
54
+
55
+ ## Collaborates With
56
+
57
+ - **dotnet-senior** - Service layer triggering jobs
58
+ - **ef-modeler** - Repository factory implementation
59
+ - **azure-architect** - Hangfire dashboard security
60
+ - **resend-email** - Email jobs coordination
61
+
62
+ ---
63
+
64
+ *MORPH-SPEC by Polymorphism Tech*