@polymorphism-tech/morph-spec 3.2.0 → 4.3.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 (386) hide show
  1. package/README.md +1 -14
  2. package/bin/detect-agents.js +1 -1
  3. package/bin/morph-spec.js +403 -40
  4. package/bin/validate.js +5 -5
  5. package/docs/getting-started.md +0 -5
  6. package/docs/next-generation/AGENTS.md +521 -0
  7. package/docs/next-generation/ANALYSIS.md +555 -0
  8. package/docs/next-generation/ARCHITECTURE.md +436 -0
  9. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +267 -0
  10. package/docs/next-generation/EXECUTION-FLOW.md +274 -0
  11. package/docs/next-generation/FEATURES.md +688 -0
  12. package/docs/next-generation/META-PROMPTS.md +235 -0
  13. package/docs/next-generation/MIGRATION-GUIDE.md +253 -0
  14. package/docs/next-generation/README.md +231 -0
  15. package/docs/next-generation/ROADMAP.md +801 -0
  16. package/docs/next-generation/THREAD-MANAGEMENT.md +240 -0
  17. package/docs/validation-checklist.md +0 -1
  18. package/package.json +5 -5
  19. package/src/commands/agents/agents-fuse.js +96 -0
  20. package/src/commands/agents/index.js +4 -0
  21. package/src/commands/agents/micro-agent.js +112 -0
  22. package/src/commands/{spawn-team.js → agents/spawn-team.js} +237 -172
  23. package/src/commands/agents/squad-template.js +146 -0
  24. package/src/commands/analytics/analytics.js +176 -0
  25. package/src/commands/context/context-prime.js +63 -0
  26. package/src/commands/context/core-four.js +54 -0
  27. package/src/commands/{create-story.js → feature/create-story.js} +357 -354
  28. package/src/commands/feature/index.js +6 -0
  29. package/src/commands/{shard-spec.js → feature/shard-spec.js} +2 -2
  30. package/src/commands/{sprint-status.js → feature/sprint-status.js} +1 -1
  31. package/src/commands/{generate-context.js → generation/generate-context.js} +40 -40
  32. package/src/commands/{generate.js → generation/generate.js} +4 -4
  33. package/src/commands/generation/index.js +5 -0
  34. package/src/commands/index.js +16 -0
  35. package/src/commands/{capture-pattern.js → learning/capture-pattern.js} +121 -121
  36. package/src/commands/learning/index.js +5 -0
  37. package/src/commands/mcp/mcp.js +102 -0
  38. package/src/commands/{detect-agents.js → project/detect-agents.js} +178 -178
  39. package/src/commands/project/detect-workflow.js +174 -0
  40. package/src/commands/{detect.js → project/detect.js} +104 -104
  41. package/src/commands/{doctor.js → project/doctor.js} +221 -4
  42. package/src/commands/project/index.js +10 -0
  43. package/src/commands/{init.js → project/init.js} +305 -295
  44. package/src/commands/{sync.js → project/sync.js} +167 -167
  45. package/src/commands/{update.js → project/update.js} +240 -240
  46. package/src/commands/{advance-phase.js → state/advance-phase.js} +101 -25
  47. package/src/commands/{approve.js → state/approve.js} +221 -221
  48. package/src/commands/state/index.js +8 -0
  49. package/src/commands/{rollback-phase.js → state/rollback-phase.js} +185 -185
  50. package/src/commands/{state.js → state/state.js} +334 -334
  51. package/src/commands/{validate-phase.js → state/validate-phase.js} +221 -221
  52. package/src/commands/tasks/index.js +4 -0
  53. package/src/commands/{task.js → tasks/task.js} +78 -78
  54. package/src/commands/templates/index.js +8 -0
  55. package/src/commands/templates/template-customize.js +101 -0
  56. package/src/commands/templates/template-list.js +128 -0
  57. package/src/commands/templates/template-render.js +174 -0
  58. package/src/commands/templates/template-show.js +131 -0
  59. package/src/commands/templates/template-validate.js +91 -0
  60. package/src/commands/threads/thread-template.js +103 -0
  61. package/src/commands/threads/threads.js +261 -0
  62. package/src/commands/trust/trust.js +205 -0
  63. package/src/commands/utils/index.js +7 -0
  64. package/src/commands/{session-summary.js → utils/session-summary.js} +291 -291
  65. package/src/commands/{troubleshoot.js → utils/troubleshoot.js} +222 -222
  66. package/src/commands/{analyze-blazor-concurrency.js → validation/analyze-blazor-concurrency.js} +193 -193
  67. package/src/commands/validation/index.js +8 -0
  68. package/src/commands/{lint-fluent.js → validation/lint-fluent.js} +352 -352
  69. package/src/commands/{validate-blazor-state.js → validation/validate-blazor-state.js} +210 -210
  70. package/src/commands/{validate-blazor.js → validation/validate-blazor.js} +156 -156
  71. package/src/commands/{validate-css.js → validation/validate-css.js} +84 -84
  72. package/src/core/index.js +10 -0
  73. package/src/{orchestrator.js → core/orchestrator.js} +8 -8
  74. package/src/core/registry/command-registry.js +302 -0
  75. package/src/core/registry/index.js +8 -0
  76. package/src/core/registry/validator-registry.js +204 -0
  77. package/src/core/state/index.js +8 -0
  78. package/src/{lib → core/state}/phase-state-machine.js +214 -214
  79. package/src/{lib → core/state}/state-manager.js +588 -534
  80. package/src/core/templates/index.js +9 -0
  81. package/src/core/templates/template-registry.js +335 -0
  82. package/src/core/templates/template-renderer.js +477 -0
  83. package/src/core/templates/template-validator.js +296 -0
  84. package/src/core/workflows/index.js +7 -0
  85. package/src/core/workflows/workflow-detector.js +452 -0
  86. package/src/lib/agents/micro-agent-factory.js +161 -0
  87. package/src/lib/{complexity-analyzer.js → analysis/complexity-analyzer.js} +441 -441
  88. package/src/lib/analysis/index.js +7 -0
  89. package/src/lib/analytics/analytics-engine.js +345 -0
  90. package/src/lib/{checkpoint-hooks.js → checkpoints/checkpoint-hooks.js} +35 -0
  91. package/src/lib/checkpoints/index.js +7 -0
  92. package/src/lib/context/context-bundler.js +240 -0
  93. package/src/lib/context/context-optimizer.js +212 -0
  94. package/src/lib/context/context-tracker.js +273 -0
  95. package/src/lib/context/core-four-tracker.js +201 -0
  96. package/src/lib/context/mcp-optimizer.js +200 -0
  97. package/src/lib/detectors/config-detector.js +223 -223
  98. package/src/lib/detectors/conversation-analyzer.js +163 -163
  99. package/src/lib/{design-system-detector.js → detectors/design-system-detector.js} +187 -187
  100. package/src/lib/detectors/index.js +87 -84
  101. package/src/lib/detectors/standards-generator.js +275 -275
  102. package/src/lib/detectors/structure-detector.js +245 -245
  103. package/src/lib/execution/fusion-executor.js +304 -0
  104. package/src/lib/execution/parallel-executor.js +270 -0
  105. package/src/lib/{context-generator.js → generators/context-generator.js} +526 -516
  106. package/src/lib/generators/index.js +10 -0
  107. package/src/lib/{metadata-extractor.js → generators/metadata-extractor.js} +387 -380
  108. package/src/lib/{recap-generator.js → generators/recap-generator.js} +205 -205
  109. package/src/lib/hooks/hook-executor.js +169 -0
  110. package/src/lib/hooks/stop-hook-executor.js +286 -0
  111. package/src/lib/hops/hop-composer.js +221 -0
  112. package/src/lib/learning/index.js +7 -0
  113. package/src/lib/orchestration/index.js +7 -0
  114. package/src/lib/{team-orchestrator.js → orchestration/team-orchestrator.js} +323 -323
  115. package/src/lib/stacks/index.js +7 -0
  116. package/src/lib/{stack-resolver.js → stacks/stack-resolver.js} +180 -148
  117. package/src/lib/standards/index.js +7 -0
  118. package/src/lib/{standards-context-injector.js → standards/standards-context-injector.js} +298 -288
  119. package/src/lib/threads/thread-coordinator.js +238 -0
  120. package/src/lib/threads/thread-manager.js +317 -0
  121. package/src/lib/tracking/artifact-trail.js +202 -0
  122. package/src/lib/troubleshooting/index.js +8 -0
  123. package/src/lib/{troubleshoot-grep.js → troubleshooting/troubleshoot-grep.js} +204 -204
  124. package/src/lib/{troubleshoot-index.js → troubleshooting/troubleshoot-index.js} +144 -144
  125. package/src/lib/trust/trust-manager.js +269 -0
  126. package/src/lib/validators/{architecture-validator.js → architecture/architecture-validator.js} +8 -8
  127. package/src/lib/validators/architecture/index.js +7 -0
  128. package/src/lib/{blazor-concurrency-analyzer.js → validators/blazor/blazor-concurrency-analyzer.js} +277 -288
  129. package/src/lib/{blazor-state-validator.js → validators/blazor/blazor-state-validator.js} +279 -291
  130. package/src/lib/{blazor-validator.js → validators/blazor/blazor-validator.js} +369 -374
  131. package/src/lib/validators/blazor/index.js +9 -0
  132. package/src/lib/validators/{content-validator.js → content/content-validator.js} +351 -351
  133. package/src/lib/validators/content/index.js +7 -0
  134. package/src/lib/validators/{contract-compliance-validator.js → contracts/contract-compliance-validator.js} +273 -273
  135. package/src/lib/validators/contracts/index.js +7 -0
  136. package/src/lib/{css-validator.js → validators/css/css-validator.js} +352 -352
  137. package/src/lib/validators/css/index.js +7 -0
  138. package/src/lib/validators/{design-system-validator.js → design-system/design-system-validator.js} +231 -231
  139. package/src/lib/validators/design-system/index.js +7 -0
  140. package/src/lib/validators/packages/index.js +7 -0
  141. package/src/lib/validators/shared/index.js +12 -0
  142. package/src/lib/validators/shared/issue-counter.js +18 -0
  143. package/src/lib/validators/shared/result-formatter.js +124 -0
  144. package/src/lib/{spec-validator.js → validators/spec-validator.js} +258 -258
  145. package/src/lib/validators/ui/index.js +7 -0
  146. package/src/lib/{validation-runner.js → validators/validation-runner.js} +286 -284
  147. package/src/ui/wizard-questions.js +0 -2
  148. package/src/utils/color-utils.js +70 -0
  149. package/src/utils/file-copier.js +188 -189
  150. package/src/utils/process-handler.js +97 -0
  151. package/stacks/blazor-azure/.morph/config/agents.json +948 -764
  152. package/stacks/blazor-azure/.morph/hooks/{pre-commit-tests.sh → pre-commit/tests-csharp.sh} +3 -2
  153. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +41 -0
  154. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +24 -0
  155. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +23 -0
  156. package/stacks/nextjs-supabase/.morph/config/agents.json +345 -345
  157. package/stacks/nextjs-supabase/.morph/hooks/pre-commit/tests-typescript.sh +61 -0
  158. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +22 -0
  159. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +22 -0
  160. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +35 -0
  161. package/stacks/nextjs-supabase/README.md +6 -15
  162. package/CLAUDE.md +0 -648
  163. package/bin/render-template.js +0 -349
  164. package/bin/semantic-detect-agents.js +0 -247
  165. package/bin/validate-agents-skills.js +0 -257
  166. package/bin/validate-agents.js +0 -70
  167. package/bin/validate-phase.js +0 -263
  168. package/docs/examples.md +0 -328
  169. package/docs/llm-interaction-config.md +0 -735
  170. package/scripts/reorganize-skills.cjs +0 -175
  171. package/scripts/validate-agents-structure.cjs +0 -52
  172. package/scripts/validate-skills.cjs +0 -180
  173. package/src/commands/deploy.js +0 -780
  174. package/src/commands/migrate-state.js +0 -158
  175. package/src/commands/upgrade.js +0 -346
  176. package/src/lib/continuous-validator.js +0 -421
  177. package/src/lib/decision-constraint-loader.js +0 -109
  178. package/src/lib/design-system-scaffolder.js +0 -299
  179. package/src/lib/hook-executor.js +0 -257
  180. package/src/lib/mockup-generator.js +0 -366
  181. package/src/lib/ui-detector.js +0 -350
  182. package/src/llm/schema-validator.js +0 -121
  183. package/src/sanitizer/.gitkeep +0 -0
  184. package/src/scanner/.gitkeep +0 -0
  185. package/src/types/index.js +0 -477
  186. package/src/ui/.gitkeep +0 -0
  187. package/src/writer/.gitkeep +0 -0
  188. package/stacks/blazor-azure/.azure/README.md +0 -293
  189. package/stacks/blazor-azure/.azure/docs/azure-devops-setup.md +0 -454
  190. package/stacks/blazor-azure/.azure/docs/branch-strategy.md +0 -398
  191. package/stacks/blazor-azure/.azure/docs/local-development.md +0 -515
  192. package/stacks/blazor-azure/.azure/pipelines/pipeline-variables.yml +0 -34
  193. package/stacks/blazor-azure/.azure/pipelines/prod-pipeline.yml +0 -319
  194. package/stacks/blazor-azure/.azure/pipelines/staging-pipeline.yml +0 -234
  195. package/stacks/blazor-azure/.azure/pipelines/templates/build-dotnet.yml +0 -75
  196. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-app-service.yml +0 -94
  197. package/stacks/blazor-azure/.azure/pipelines/templates/deploy-container-app.yml +0 -120
  198. package/stacks/blazor-azure/.azure/pipelines/templates/infra-deploy.yml +0 -90
  199. package/stacks/blazor-azure/.claude/commands/morph-apply.md +0 -221
  200. package/stacks/blazor-azure/.claude/commands/morph-archive.md +0 -79
  201. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  202. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  203. package/stacks/blazor-azure/.claude/commands/morph-preflight.md +0 -227
  204. package/stacks/blazor-azure/.claude/commands/morph-proposal.md +0 -122
  205. package/stacks/blazor-azure/.claude/commands/morph-status.md +0 -86
  206. package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +0 -122
  207. package/stacks/blazor-azure/.claude/settings.local.json +0 -15
  208. package/stacks/blazor-azure/.claude/skills/level-0-meta/README.md +0 -7
  209. package/stacks/blazor-azure/.claude/skills/level-0-meta/code-review.md +0 -226
  210. package/stacks/blazor-azure/.claude/skills/level-0-meta/morph-checklist.md +0 -117
  211. package/stacks/blazor-azure/.claude/skills/level-0-meta/simulation-checklist.md +0 -77
  212. package/stacks/blazor-azure/.claude/skills/level-1-workflows/README.md +0 -7
  213. package/stacks/blazor-azure/.claude/skills/level-1-workflows/morph-replicate.md +0 -213
  214. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-clarify.md +0 -131
  215. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-design.md +0 -213
  216. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-setup.md +0 -106
  217. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-tasks.md +0 -164
  218. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-uiux.md +0 -169
  219. package/stacks/blazor-azure/.claude/skills/level-2-domains/README.md +0 -14
  220. package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -192
  221. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -197
  222. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/prompt-engineer.md +0 -189
  223. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +0 -320
  224. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -156
  225. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -287
  226. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -113
  227. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -126
  228. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -109
  229. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -210
  230. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -154
  231. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -191
  232. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -142
  233. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +0 -699
  234. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -126
  235. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -131
  236. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -119
  237. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -130
  238. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -142
  239. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -108
  240. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/resend-email.md +0 -119
  241. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -235
  242. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -126
  243. package/stacks/blazor-azure/.claude/skills/level-3-technologies/README.md +0 -7
  244. package/stacks/blazor-azure/.claude/skills/level-4-patterns/README.md +0 -7
  245. package/stacks/blazor-azure/.morph/archive/.gitkeep +0 -25
  246. package/stacks/blazor-azure/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +0 -392
  247. package/stacks/blazor-azure/.morph/docs/workflows/design-impl.md +0 -37
  248. package/stacks/blazor-azure/.morph/docs/workflows/enforcement-pipeline.md +0 -668
  249. package/stacks/blazor-azure/.morph/docs/workflows/fast-track.md +0 -29
  250. package/stacks/blazor-azure/.morph/docs/workflows/full-morph.md +0 -76
  251. package/stacks/blazor-azure/.morph/docs/workflows/standard.md +0 -44
  252. package/stacks/blazor-azure/.morph/docs/workflows/ui-refresh.md +0 -39
  253. package/stacks/blazor-azure/.morph/examples/api-nextjs/README.md +0 -241
  254. package/stacks/blazor-azure/.morph/examples/api-nextjs/contracts.ts +0 -307
  255. package/stacks/blazor-azure/.morph/examples/api-nextjs/spec.md +0 -399
  256. package/stacks/blazor-azure/.morph/examples/api-nextjs/tasks.md +0 -168
  257. package/stacks/blazor-azure/.morph/examples/micro-saas/README.md +0 -125
  258. package/stacks/blazor-azure/.morph/examples/micro-saas/contracts.cs +0 -358
  259. package/stacks/blazor-azure/.morph/examples/micro-saas/decisions.md +0 -246
  260. package/stacks/blazor-azure/.morph/examples/micro-saas/spec.md +0 -236
  261. package/stacks/blazor-azure/.morph/examples/micro-saas/tasks.md +0 -150
  262. package/stacks/blazor-azure/.morph/examples/multi-agent/README.md +0 -309
  263. package/stacks/blazor-azure/.morph/examples/multi-agent/contracts.cs +0 -433
  264. package/stacks/blazor-azure/.morph/examples/multi-agent/spec.md +0 -479
  265. package/stacks/blazor-azure/.morph/examples/multi-agent/tasks.md +0 -185
  266. package/stacks/blazor-azure/.morph/examples/scheduled-reports/decisions.md +0 -158
  267. package/stacks/blazor-azure/.morph/examples/scheduled-reports/proposal.md +0 -95
  268. package/stacks/blazor-azure/.morph/examples/scheduled-reports/spec.md +0 -267
  269. package/stacks/blazor-azure/.morph/examples/state-v3.json +0 -188
  270. package/stacks/blazor-azure/.morph/features/.gitkeep +0 -25
  271. package/stacks/blazor-azure/.morph/hooks/README.md +0 -348
  272. package/stacks/blazor-azure/.morph/hooks/pre-commit-agents.sh +0 -24
  273. package/stacks/blazor-azure/.morph/hooks/pre-commit-all.sh +0 -48
  274. package/stacks/blazor-azure/.morph/hooks/pre-commit-specs.sh +0 -49
  275. package/stacks/blazor-azure/.morph/hooks/task-completed.js +0 -73
  276. package/stacks/blazor-azure/.morph/hooks/teammate-idle.js +0 -68
  277. package/stacks/blazor-azure/.morph/schemas/agent.schema.json +0 -296
  278. package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +0 -220
  279. package/stacks/blazor-azure/.morph/specs/.gitkeep +0 -20
  280. package/stacks/blazor-azure/.morph/standards/agent-framework-blazor-ui.md +0 -359
  281. package/stacks/blazor-azure/.morph/standards/agent-framework-production.md +0 -410
  282. package/stacks/blazor-azure/.morph/standards/agent-framework-setup.md +0 -413
  283. package/stacks/blazor-azure/.morph/standards/agent-framework-workflows.md +0 -349
  284. package/stacks/blazor-azure/.morph/standards/agent-teams-workflow.md +0 -474
  285. package/stacks/blazor-azure/.morph/standards/architecture.md +0 -325
  286. package/stacks/blazor-azure/.morph/standards/azure.md +0 -605
  287. package/stacks/blazor-azure/.morph/standards/coding.md +0 -377
  288. package/stacks/blazor-azure/.morph/standards/dotnet10-migration.md +0 -520
  289. package/stacks/blazor-azure/.morph/standards/fluent-ui-setup.md +0 -590
  290. package/stacks/blazor-azure/.morph/standards/migration-guide.md +0 -514
  291. package/stacks/blazor-azure/.morph/standards/passkeys-auth.md +0 -423
  292. package/stacks/blazor-azure/.morph/standards/vector-search-rag.md +0 -536
  293. package/stacks/blazor-azure/.morph/templates/CONTEXT-FEATURE.md +0 -276
  294. package/stacks/blazor-azure/.morph/templates/CONTEXT.md +0 -170
  295. package/stacks/blazor-azure/.morph/templates/FluentDesignTheme.cs +0 -149
  296. package/stacks/blazor-azure/.morph/templates/MudTheme.cs +0 -281
  297. package/stacks/blazor-azure/.morph/templates/agent.cs +0 -163
  298. package/stacks/blazor-azure/.morph/templates/clarify-questions.md +0 -159
  299. package/stacks/blazor-azure/.morph/templates/component.razor +0 -239
  300. package/stacks/blazor-azure/.morph/templates/contracts/Commands.cs +0 -74
  301. package/stacks/blazor-azure/.morph/templates/contracts/Entities.cs +0 -25
  302. package/stacks/blazor-azure/.morph/templates/contracts/Queries.cs +0 -74
  303. package/stacks/blazor-azure/.morph/templates/contracts/README.md +0 -74
  304. package/stacks/blazor-azure/.morph/templates/contracts.cs +0 -217
  305. package/stacks/blazor-azure/.morph/templates/decisions.md +0 -123
  306. package/stacks/blazor-azure/.morph/templates/design-system.css +0 -226
  307. package/stacks/blazor-azure/.morph/templates/infra/.dockerignore.example +0 -89
  308. package/stacks/blazor-azure/.morph/templates/infra/Dockerfile.example +0 -82
  309. package/stacks/blazor-azure/.morph/templates/infra/README.md +0 -286
  310. package/stacks/blazor-azure/.morph/templates/infra/app-insights.bicep +0 -63
  311. package/stacks/blazor-azure/.morph/templates/infra/app-service.bicep +0 -164
  312. package/stacks/blazor-azure/.morph/templates/infra/azure-pipelines-deploy.yml +0 -480
  313. package/stacks/blazor-azure/.morph/templates/infra/container-app-env.bicep +0 -49
  314. package/stacks/blazor-azure/.morph/templates/infra/container-app.bicep +0 -156
  315. package/stacks/blazor-azure/.morph/templates/infra/deploy-checklist.md +0 -426
  316. package/stacks/blazor-azure/.morph/templates/infra/deploy.ps1 +0 -229
  317. package/stacks/blazor-azure/.morph/templates/infra/deploy.sh +0 -208
  318. package/stacks/blazor-azure/.morph/templates/infra/key-vault.bicep +0 -91
  319. package/stacks/blazor-azure/.morph/templates/infra/main.bicep +0 -189
  320. package/stacks/blazor-azure/.morph/templates/infra/parameters.dev.json +0 -29
  321. package/stacks/blazor-azure/.morph/templates/infra/parameters.prod.json +0 -29
  322. package/stacks/blazor-azure/.morph/templates/infra/parameters.staging.json +0 -29
  323. package/stacks/blazor-azure/.morph/templates/infra/sql-database.bicep +0 -103
  324. package/stacks/blazor-azure/.morph/templates/infra/storage.bicep +0 -106
  325. package/stacks/blazor-azure/.morph/templates/integrations/asaas-client.cs +0 -387
  326. package/stacks/blazor-azure/.morph/templates/integrations/asaas-webhook.cs +0 -351
  327. package/stacks/blazor-azure/.morph/templates/integrations/azure-identity-config.cs +0 -288
  328. package/stacks/blazor-azure/.morph/templates/integrations/clerk-config.cs +0 -258
  329. package/stacks/blazor-azure/.morph/templates/job.cs +0 -171
  330. package/stacks/blazor-azure/.morph/templates/migration.cs +0 -83
  331. package/stacks/blazor-azure/.morph/templates/proposal.md +0 -141
  332. package/stacks/blazor-azure/.morph/templates/recap.md +0 -94
  333. package/stacks/blazor-azure/.morph/templates/repository.cs +0 -141
  334. package/stacks/blazor-azure/.morph/templates/saas/subscription.cs +0 -347
  335. package/stacks/blazor-azure/.morph/templates/saas/tenant.cs +0 -338
  336. package/stacks/blazor-azure/.morph/templates/service.cs +0 -139
  337. package/stacks/blazor-azure/.morph/templates/simulation.md +0 -353
  338. package/stacks/blazor-azure/.morph/templates/spec.md +0 -149
  339. package/stacks/blazor-azure/.morph/templates/sprint-status.yaml +0 -68
  340. package/stacks/blazor-azure/.morph/templates/state.template.json +0 -222
  341. package/stacks/blazor-azure/.morph/templates/story.md +0 -143
  342. package/stacks/blazor-azure/.morph/templates/tasks.md +0 -257
  343. package/stacks/blazor-azure/.morph/templates/test.cs +0 -239
  344. package/stacks/blazor-azure/.morph/templates/ui-components.md +0 -362
  345. package/stacks/blazor-azure/.morph/templates/ui-design-system.md +0 -286
  346. package/stacks/blazor-azure/.morph/templates/ui-flows.md +0 -336
  347. package/stacks/blazor-azure/.morph/templates/ui-mockups.md +0 -133
  348. package/stacks/blazor-azure/.morph/test-infra/example.bicep +0 -59
  349. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +0 -244
  350. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +0 -335
  351. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +0 -189
  352. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +0 -170
  353. package/stacks/nextjs-supabase/.morph/docs/easypanel-setup.md +0 -169
  354. package/stacks/nextjs-supabase/.morph/docs/supabase-mcp-setup.md +0 -247
  355. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/README.md +0 -697
  356. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/spec.md +0 -85
  357. package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/tasks.md +0 -86
  358. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/README.md +0 -498
  359. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/decisions.md +0 -121
  360. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/spec.md +0 -138
  361. package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/tasks.md +0 -162
  362. package/stacks/nextjs-supabase/.morph/standards/easypanel-deploy.md +0 -191
  363. package/stacks/nextjs-supabase/.morph/standards/nextjs-patterns.md +0 -193
  364. package/stacks/nextjs-supabase/.morph/standards/supabase-auth.md +0 -171
  365. package/stacks/nextjs-supabase/.morph/standards/supabase-pgvector.md +0 -164
  366. package/stacks/nextjs-supabase/.morph/standards/supabase-rls.md +0 -179
  367. package/stacks/nextjs-supabase/.morph/standards/supabase-storage.md +0 -148
  368. package/stacks/nextjs-supabase/.morph/templates/contracts.cs +0 -173
  369. package/stacks/nextjs-supabase/.morph/templates/contracts.ts +0 -168
  370. package/stacks/nextjs-supabase/.morph/templates/decisions.md +0 -115
  371. package/stacks/nextjs-supabase/.morph/templates/dockerfile-api.dockerfile +0 -38
  372. package/stacks/nextjs-supabase/.morph/templates/dockerfile-web.dockerfile +0 -48
  373. package/stacks/nextjs-supabase/.morph/templates/proposal.md +0 -145
  374. package/stacks/nextjs-supabase/.morph/templates/recap.md +0 -134
  375. package/stacks/nextjs-supabase/.morph/templates/rls-policy.sql +0 -57
  376. package/stacks/nextjs-supabase/.morph/templates/spec.md +0 -231
  377. package/stacks/nextjs-supabase/.morph/templates/supabase-migration.sql +0 -100
  378. package/stacks/nextjs-supabase/.morph/templates/tasks.md +0 -257
  379. /package/src/commands/{search-patterns.js → learning/search-patterns.js} +0 -0
  380. /package/src/{lib → core/templates}/template-data-sources.js +0 -0
  381. /package/src/lib/{design-system-generator.js → generators/design-system-generator.js} +0 -0
  382. /package/src/lib/{learning-system.js → learning/learning-system.js} +0 -0
  383. /package/src/lib/validators/{package-validator.js → packages/package-validator.js} +0 -0
  384. /package/src/lib/validators/{ui-contrast-validator.js → ui/ui-contrast-validator.js} +0 -0
  385. /package/{src/generator → stacks/blazor-azure/.morph/templates}/.gitkeep +0 -0
  386. /package/{src/llm → stacks/nextjs-supabase/.morph/templates}/.gitkeep +0 -0
@@ -1,131 +0,0 @@
1
- # MORPH Clarify - FASE 3
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 2 (Design) concluída
10
- - [ ] `spec.md` aprovado pelo usuário
11
- - [ ] `contracts.cs` definidos
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Analisar Spec
16
-
17
- Leia `.morph/project/outputs/{feature}/spec.md` em detalhes e identifique:
18
-
19
- #### 1.1. Ambiguidades
20
- - Requisitos vagos ou genéricos
21
- - Termos sem definição clara
22
- - Comportamentos não especificados
23
-
24
- #### 1.2. Edge Cases Não Documentados
25
- - O que acontece se...?
26
- - Como lidar com entradas inválidas?
27
- - Comportamento em caso de erro?
28
- - Estados intermediários (loading, empty)
29
-
30
- #### 1.3. Requisitos Conflitantes
31
- - Duas funcionalidades que parecem incompatíveis
32
- - Prioridades não claras (o que vem primeiro?)
33
-
34
- #### 1.4. Dados Faltantes
35
- - Validações de negócio não especificadas
36
- - Limites e constraints (tamanhos, quantidades)
37
- - Formatos de dados (datas, moedas, etc.)
38
-
39
- ### Passo 2: Gerar Perguntas de Clarificação
40
-
41
- Com base na análise, gere **3-7 perguntas** focadas e específicas:
42
-
43
- **Formato de pergunta:**
44
- ```markdown
45
- ### Q{N}: {Categoria} - {Título}
46
-
47
- **Context:** {Por que esta pergunta é importante}
48
-
49
- **Question:** {Pergunta clara e objetiva}
50
-
51
- **Options (if applicable):**
52
- - A) {Opção 1}
53
- - B) {Opção 2}
54
- - C) {Deixar em aberto/usuário decidir}
55
-
56
- **Impact:** {Como a resposta afeta a implementação}
57
- ```
58
-
59
- ### Passo 3: Categorizar Perguntas
60
-
61
- Organize perguntas por categoria:
62
-
63
- | Categoria | Descrição | Exemplos |
64
- |-----------|-----------|----------|
65
- | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
66
- | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
67
- | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
68
- | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
69
- | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
70
- | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
71
-
72
- ### Passo 4: Apresentar Perguntas ao Usuário
73
-
74
- Liste todas as perguntas de forma clara e estruturada.
75
-
76
- **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
77
-
78
- ### Passo 5: Atualizar `spec.md` com Respostas
79
-
80
- Após receber respostas do usuário, atualize o spec com:
81
-
82
- 1. **Seção de Clarificações** no início do spec:
83
- ```markdown
84
- ## Clarifications (FASE 3)
85
-
86
- ### Q1: {Título}
87
- **Answer:** {Resposta do usuário}
88
- **Date:** {YYYY-MM-DD}
89
- ```
90
-
91
- 2. **Atualizar seções relevantes** com detalhes adicionados
92
-
93
- ### Passo 6: Validar Edge Cases
94
-
95
- Documente no spec como lidar com cada edge case identificado:
96
-
97
- ```markdown
98
- ## Edge Cases
99
-
100
- ### EC001: {Nome do Edge Case}
101
- **Scenario:** {Quando acontece}
102
- **Expected Behavior:** {Como o sistema deve reagir}
103
- **Implementation Notes:** {Dicas para implementação}
104
- ```
105
-
106
- ### Passo 7: Atualizar State
107
-
108
- ```bash
109
- npx morph-spec state set {feature-name} phase clarify
110
- ```
111
-
112
- ## Outputs Gerados/Atualizados
113
-
114
- - `.morph/project/outputs/{feature}/spec.md` - Atualizado com:
115
- - Seção "Clarifications" com perguntas e respostas
116
- - Edge cases documentados
117
- - Requisitos mais específicos
118
-
119
- ## Critérios de Avanço
120
-
121
- - [x] Perguntas de clarificação identificadas (3-7)
122
- - [x] Perguntas apresentadas ao usuário
123
- - [x] Respostas do usuário recebidas
124
- - [x] `spec.md` atualizado com clarificações
125
- - [x] Edge cases documentados
126
- - [x] State atualizado
127
- - [x] Nenhuma ambiguidade crítica remanescente
128
-
129
- ---
130
-
131
- Continuar automaticamente para FASE 4 (Tasks) após clarificações resolvidas.
@@ -1,213 +0,0 @@
1
- # MORPH Design - FASE 2
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Expanda a proposta em especificação técnica completa, contracts, decisões arquiteturais e estimativa de custos.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 1 (Setup) concluída
10
- - [ ] FASE 1.5 (UI/UX) concluída OU pulada (se não houver front-end)
11
- - [ ] Proposta aprovada pelo usuário
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Carregar Contexto e Standards
16
-
17
- **Obtenha feature state e standards context:**
18
-
19
- ```bash
20
- npx morph-spec state get {feature-name}
21
- ```
22
-
23
- Parse o JSON para obter `activeAgents`, então use standards context (já carregado na FASE 1):
24
- - Standards relevantes estão em `standardsSummary` do detect-agents
25
- - Padrões já incluem project overrides + inferred learnings
26
-
27
- **Leia outputs existentes:**
28
- 1. `.morph/project/outputs/{feature}/proposal.md` - Proposta inicial
29
- 2. `.morph/project/outputs/{feature}/ui-*.md` - UI/UX specs (se existirem)
30
-
31
- **Use standards context ao gerar spec.md:**
32
- - Architecture standards → guiam Technical Architecture section
33
- - Coding standards → definem contracts.cs patterns
34
- - Azure standards → determinam Infrastructure Requirements
35
-
36
- ### Passo 2: Gerar `spec.md`
37
-
38
- Crie `.morph/project/outputs/{feature}/spec.md` com:
39
-
40
- #### 2.1. Overview
41
- - **Objetivo:** Resumo de 1-2 parágrafos
42
- - **Usuários afetados:** Quem vai usar?
43
- - **Problema resolvido:** Qual dor/necessidade?
44
-
45
- #### 2.2. Functional Requirements
46
- Lista detalhada de requisitos funcionais:
47
- ```markdown
48
- ### FR001: {Requisito}
49
- **Description:** {O que deve fazer}
50
- **Acceptance Criteria:**
51
- - [ ] Critério 1
52
- - [ ] Critério 2
53
- **Priority:** High/Medium/Low
54
- ```
55
-
56
- #### 2.3. Non-Functional Requirements
57
- - Performance (tempos de resposta esperados)
58
- - Segurança (autenticação, autorização)
59
- - Escalabilidade (volume de dados/usuários)
60
- - Disponibilidade (uptime esperado)
61
-
62
- #### 2.4. Technical Architecture
63
- - **Camadas:** (Presentation, Application, Domain, Infrastructure)
64
- - **Patterns:** (Repository, CQRS, DI, etc.)
65
- - **Dependências:** Bibliotecas/serviços externos necessários
66
-
67
- #### 2.5. Data Model
68
- - Entities principais
69
- - Relacionamentos (1:1, 1:N, N:N)
70
- - Campos obrigatórios vs opcionais
71
- - Validações de negócio
72
-
73
- #### 2.6. Infrastructure Requirements
74
- Se houver recursos Azure:
75
- - Banco de dados (Azure SQL, Cosmos DB)
76
- - Storage (Blob Storage)
77
- - Compute (Container Apps, App Service)
78
- - Monitoring (App Insights)
79
-
80
- **SEMPRE usar Bicep para infra!**
81
-
82
- ### Passo 3: Gerar `contracts.cs`
83
-
84
- Crie `.morph/project/outputs/{feature}/contracts.cs` com:
85
-
86
- ```csharp
87
- // Interfaces, DTOs, Enums, Value Objects
88
-
89
- namespace {ProjectName}.Features.{FeatureName};
90
-
91
- // DTOs (Data Transfer Objects)
92
- public record {Feature}CreateDto(
93
- string Name,
94
- DateTime Date
95
- );
96
-
97
- public record {Feature}ResponseDto(
98
- Guid Id,
99
- string Name,
100
- DateTime Date,
101
- DateTime CreatedAt
102
- );
103
-
104
- // Interfaces
105
- public interface I{Feature}Service
106
- {
107
- Task<{Feature}ResponseDto> CreateAsync({Feature}CreateDto dto, CancellationToken ct);
108
- Task<{Feature}ResponseDto?> GetByIdAsync(Guid id, CancellationToken ct);
109
- }
110
-
111
- // Enums
112
- public enum {Feature}Status
113
- {
114
- Pending,
115
- Active,
116
- Completed
117
- }
118
- ```
119
-
120
- **Padrões obrigatórios:**
121
- - Records para DTOs (immutable)
122
- - Interfaces para serviços
123
- - CancellationToken em métodos async
124
- - Nullable reference types habilitados
125
-
126
- ### Passo 4: Iniciar `decisions.md`
127
-
128
- Crie `.morph/project/outputs/{feature}/decisions.md` com ADRs relevantes:
129
-
130
- ```markdown
131
- # Architectural Decision Records (ADRs)
132
-
133
- ## ADR-001: {Decisão Arquitetural}
134
-
135
- **Status:** Proposed/Accepted/Deprecated
136
-
137
- **Context:**
138
- {Por que esta decisão foi necessária}
139
-
140
- **Decision:**
141
- {O que foi decidido}
142
-
143
- **Consequences:**
144
- **Pros:**
145
- - Pro 1
146
-
147
- **Cons:**
148
- - Con 1
149
-
150
- **Alternatives Considered:**
151
- - Alternativa 1: {Por que foi rejeitada}
152
-
153
- **Date:** {YYYY-MM-DD}
154
- ```
155
-
156
- **ADRs obrigatórios:**
157
- - Escolha de biblioteca UI (se FASE 1.5 executou)
158
- - Padrões arquiteturais (CQRS, Repository, etc.)
159
- - Recursos Azure (se houver infra)
160
- - Integrações externas (APIs, webhooks, etc.)
161
-
162
- ### Passo 5: Estimar Custos
163
-
164
- Se houver recursos Azure na spec:
165
-
166
- **Limites configuráveis** (em config.json):
167
- - `costs.limits.freeTierOnly`: $0 (apenas free tier)
168
- - `costs.limits.withApproval`: $10 (requer confirmação do usuário)
169
- - `costs.limits.requiresADR`: $10 (requer ADR documentado)
170
-
171
- Documente custos em `decisions.md` e atualize state:
172
-
173
- ```bash
174
- npx morph-spec state set {feature-name} costs.estimated {X.XX}
175
- npx morph-spec state set {feature-name} costs.approved {true/false}
176
- ```
177
-
178
- ### Passo 6: Atualizar State
179
-
180
- ```bash
181
- npx morph-spec state set {feature-name} phase design
182
- npx morph-spec state mark-output {feature-name} spec
183
- npx morph-spec state mark-output {feature-name} contracts
184
- npx morph-spec state mark-output {feature-name} decisions
185
- ```
186
-
187
- ## Outputs Gerados
188
-
189
- - `.morph/project/outputs/{feature}/spec.md` - Especificação técnica completa
190
- - `.morph/project/outputs/{feature}/contracts.cs` - Interfaces, DTOs, Enums
191
- - `.morph/project/outputs/{feature}/decisions.md` - ADRs (novo ou atualizado)
192
- - State atualizado com custos estimados
193
-
194
- ## PAUSA OBRIGATÓRIA
195
-
196
- Apresente ao usuário 3 ações sugeridas:
197
-
198
- 1. **Aprovar design e continuar para clarificação**
199
- 2. **Ajustar escopo/complexidade** - Revisar spec.md
200
- 3. **Modificar contracts** - Ajustar interfaces/DTOs
201
-
202
- ## Critérios de Avanço
203
-
204
- - [x] `spec.md` completo com todos os requisitos
205
- - [x] `contracts.cs` com interfaces e DTOs
206
- - [x] `decisions.md` com ADRs relevantes
207
- - [x] Custos estimados e documentados (se houver infra)
208
- - [x] State atualizado
209
- - [x] Usuário aprovou design
210
-
211
- ---
212
-
213
- Continuar automaticamente para FASE 3 (Clarify) após aprovação.
@@ -1,106 +0,0 @@
1
- # MORPH Setup - FASE 1
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Inicialize o contexto e prepare o ambiente para uma feature aprovada.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
10
- - [ ] Proposal foi aprovado pelo usuário
11
- - [ ] Agentes foram detectados e registrados no state
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Verificar State
16
-
17
- Confirme que a feature existe no state:
18
-
19
- ```bash
20
- npx morph-spec state get {feature-name}
21
- ```
22
-
23
- Se não existir, volte para FASE 0 (proposal).
24
-
25
- ### Passo 2: Carregar Contexto e Standards Automaticamente
26
-
27
- **Use detect-agents --json para obter standards context:**
28
-
29
- ```bash
30
- npx morph-spec detect-agents --json "{feature description from proposal}"
31
- ```
32
-
33
- O output JSON contém `standardsSummary` com todos os standards relevantes para cada agente ativo:
34
-
35
- ```json
36
- {
37
- "standardsSummary": {
38
- "blazor-builder": {
39
- "standards": ["blazor-lifecycle", "blazor-state", "coding", ...],
40
- "fullContent": "# blazor-lifecycle\n\n...", // Full standards text
41
- "count": 10
42
- }
43
- }
44
- }
45
- ```
46
-
47
- **Standards resolution order** (automático):
48
- 1. `.morph/project/standards/*.md` (project overrides - highest priority)
49
- 2. `.morph/standards/*.md` (AI Agent Framework, Azure)
50
- 3. `framework/standards/*.md` (Blazor, CSS, .NET)
51
- 4. `.morph/project/standards/inferred.md` (always loaded if exists)
52
-
53
- **Contexto geral** (leia manualmente):
54
- - `.morph/project/context/README.md` - Overview do projeto
55
- - `.morph/config.json` - Configurações
56
-
57
- ### Passo 3: Confirmar Stack
58
-
59
- Baseado no proposal e contexto, confirme:
60
- - Stack tecnológica (Blazor Server, Next.js, etc.)
61
- - Padrões arquiteturais aplicáveis
62
- - Componentes reutilizáveis existentes
63
-
64
- ### Passo 4: Listar Agentes Ativos
65
-
66
- Mostre os agentes detectados no proposal:
67
-
68
- ```bash
69
- npx morph-spec state get {feature-name}
70
- ```
71
-
72
- Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/config/agents.json`).
73
-
74
- ### Passo 5: Atualizar State
75
-
76
- Marque a feature como na fase SETUP:
77
-
78
- ```bash
79
- npx morph-spec state set {feature-name} phase setup
80
- npx morph-spec state set {feature-name} status in_progress
81
- ```
82
-
83
- ## Outputs
84
-
85
- **Apresente ao usuário:**
86
-
87
- 1. **Contexto carregado**:
88
- - Nome do projeto
89
- - Stack confirmado
90
- - Standards aplicáveis
91
-
92
- 2. **Agentes ativos**:
93
- - Lista de agentes com emojis
94
- - Responsabilidades de cada um
95
-
96
- ## Critérios de Avanço
97
-
98
- - [x] Contexto do projeto carregado
99
- - [x] Standards identificados (framework + project)
100
- - [x] Stack confirmado
101
- - [x] Agentes listados
102
- - [x] State atualizado para phase: setup
103
-
104
- ---
105
-
106
- Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).
@@ -1,164 +0,0 @@
1
- # MORPH Tasks - FASE 4
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Quebre a especificação em tasks executáveis, defina ordem de execução e estabeleça checkpoints.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 3 (Clarify) concluída
10
- - [ ] `spec.md` atualizado com clarificações
11
- - [ ] Todos os edge cases documentados
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Analisar Spec
16
-
17
- Leia `.morph/project/outputs/{feature}/spec.md` e identifique:
18
-
19
- 1. **Requisitos funcionais** (FR001, FR002, ...)
20
- 2. **Componentes técnicos** (Entities, Services, Controllers, Pages)
21
- 3. **Infraestrutura** (Bicep, migrations, configs)
22
- 4. **Testes** (Unit tests, integration tests)
23
-
24
- ### Passo 2: Quebrar em Tasks
25
-
26
- Crie tasks no formato **T{NNN}** seguindo ordem lógica de implementação.
27
-
28
- #### 2.1. Estrutura de Task
29
-
30
- ```json
31
- {
32
- "id": "T001",
33
- "title": "Criar Entity {Nome}",
34
- "description": "Implementar entity {Nome} com propriedades X, Y, Z seguindo padrões EF Core",
35
- "category": "domain",
36
- "dependencies": [],
37
- "estimatedMinutes": 30,
38
- "status": "pending",
39
- "specSections": ["## Domain Model", "## Business Rules"],
40
- "contractInterfaces": ["I{Nome}Repository"],
41
- "files": [
42
- "Domain/Entities/{Nome}.cs",
43
- "Infrastructure/Data/Configurations/{Nome}Configuration.cs"
44
- ]
45
- }
46
- ```
47
-
48
- #### 2.2. Categorias de Tasks
49
-
50
- | Categoria | Descrição | Exemplos |
51
- |-----------|-----------|----------|
52
- | **domain** | Entities, Value Objects, Enums | Entity, DomainException |
53
- | **application** | Services, DTOs, Interfaces | Service, Validator, Mapper |
54
- | **infrastructure** | DbContext, Repositories, External APIs | EF Config, Repository impl |
55
- | **presentation** | Controllers, Pages, Components | API endpoint, Blazor page |
56
- | **tests** | Unit tests, Integration tests | Service tests, API tests |
57
- | **infra** | Bicep, Migrations, Scripts | Azure resources, DB migration |
58
- | **docs** | README, API docs, Swagger | OpenAPI spec, README update |
59
-
60
- #### 2.3. Ordem de Implementação
61
-
62
- **Bottom-up approach:**
63
- ```
64
- 1. Domain (Entities, Enums, Value Objects)
65
-
66
- 2. Infrastructure (Repositories, DbContext configs)
67
-
68
- 3. Application (Services, DTOs, Business logic)
69
-
70
- 4. Presentation (Controllers, Pages, Components)
71
-
72
- 5. Tests (Unit → Integration)
73
-
74
- 6. Infra (Bicep, Migrations, Deploy scripts)
75
-
76
- 7. Docs (README, Swagger, Comments)
77
- ```
78
-
79
- ### Passo 3: Definir Dependências
80
-
81
- Para cada task, especifique dependências:
82
-
83
- ```json
84
- {
85
- "id": "T005",
86
- "title": "Criar {Nome}Service",
87
- "dependencies": ["T001", "T002"],
88
- "status": "pending"
89
- }
90
- ```
91
-
92
- **Regra:** Task só pode ser executada quando todas as dependências estão `completed`.
93
-
94
- ### Passo 4: Estabelecer Checkpoints
95
-
96
- Defina checkpoints a cada **3 tasks** ou **marcos significativos**:
97
-
98
- ```json
99
- {
100
- "id": "CHECKPOINT_001",
101
- "title": "Domain Layer Completo",
102
- "afterTasks": ["T001", "T002", "T003"],
103
- "validations": [
104
- "Todas as entities criadas",
105
- "Migrations aplicadas",
106
- "Testes de domain passando"
107
- ]
108
- }
109
- ```
110
-
111
- ### Passo 5: Estimar Esforço
112
-
113
- Para cada task, estime tempo em minutos:
114
-
115
- | Complexidade | Tempo Estimado |
116
- |--------------|----------------|
117
- | Trivial (CRUD básico) | 15-30 min |
118
- | Simples (Service, Controller) | 30-60 min |
119
- | Média (Business logic, validações) | 60-120 min |
120
- | Complexa (Integrações, AI) | 120-240 min |
121
-
122
- ### Passo 6: Gerar `tasks.json`
123
-
124
- Crie `.morph/project/outputs/{feature}/tasks.json` com a estrutura completa de tasks, checkpoints e estimativas.
125
-
126
- ### Passo 7: Incluir Tasks de IaC (se necessário)
127
-
128
- Se houver recursos Azure, adicionar tasks de Bicep e migrations.
129
-
130
- ### Passo 8: Atualizar State
131
-
132
- ```bash
133
- npx morph-spec state set {feature-name} phase tasks
134
- npx morph-spec state set {feature-name} tasks.total {N}
135
- npx morph-spec state mark-output {feature-name} tasks
136
- ```
137
-
138
- ## Outputs Gerados
139
-
140
- - `.morph/project/outputs/{feature}/tasks.json` - Breakdown completo de tasks
141
-
142
- ## PAUSA OBRIGATÓRIA
143
-
144
- Apresente ao usuário 3 ações sugeridas:
145
-
146
- 1. **Aprovar breakdown e iniciar implementação**
147
- 2. **Repriorizar tasks** - Mudar ordem de execução
148
- 3. **Adicionar/remover tasks** - Ajustar escopo
149
-
150
- ## Critérios de Avanço
151
-
152
- - [x] `tasks.json` criado com todas as tasks
153
- - [x] Tasks categorizadas corretamente
154
- - [x] Dependências mapeadas
155
- - [x] Checkpoints definidos (a cada 3 tasks)
156
- - [x] Esforço estimado por task
157
- - [x] Ordem de execução clara
158
- - [x] Tasks de IaC incluídas (se aplicável)
159
- - [x] State atualizado com total de tasks
160
- - [x] Usuário aprovou breakdown
161
-
162
- ---
163
-
164
- Após aprovação: "Planejamento completo! Execute `/morph-apply {feature}` para iniciar implementação."