@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,281 +0,0 @@
1
- using MudBlazor;
2
-
3
- namespace {Namespace}.Themes;
4
-
5
- /// <summary>
6
- /// MudBlazor Theme customizado para {Project Name}.
7
- /// Gerado automaticamente baseado em ui-design-system.md
8
- /// </summary>
9
- /// <remarks>
10
- /// Template MORPH-SPEC v2.1.1 by Polymorphism Tech
11
- /// </remarks>
12
- public static class AppTheme
13
- {
14
- /// <summary>
15
- /// Tema Light Mode
16
- /// </summary>
17
- public static MudTheme LightTheme => new()
18
- {
19
- Palette = new PaletteLight
20
- {
21
- // Cores Principais
22
- Primary = "#{hex da cor primária}", // Ex: #3b82f6
23
- Secondary = "#{hex da cor secundária}", // Ex: #6b7280
24
- Tertiary = "#{hex da cor terciária}", // Opcional
25
-
26
- // Cores de Estado
27
- Success = "#{hex}", // Ex: #10b981
28
- Error = "#{hex}", // Ex: #ef4444
29
- Warning = "#{hex}", // Ex: #f59e0b
30
- Info = "#{hex}", // Ex: #06b6d4
31
-
32
- // Background e Superfícies
33
- Background = "#ffffff",
34
- BackgroundGrey = "#{hex do gray-50}", // Ex: #f9fafb
35
- Surface = "#ffffff",
36
-
37
- // Text Colors
38
- TextPrimary = "#{hex do gray-900}", // Texto principal
39
- TextSecondary = "#{hex do gray-600}", // Texto secundário
40
- TextDisabled = "#{hex do gray-400}", // Texto desabilitado
41
-
42
- // Borders
43
- Divider = "#{hex do gray-200}", // Divisores
44
- DividerLight = "#{hex do gray-100}", // Divisores mais claros
45
- Lines = "#{hex do gray-300}", // Linhas de borda
46
-
47
- // Action colors (usados em botões, links, etc)
48
- ActionDefault = "#{hex do gray-500}",
49
- ActionDisabled = "#{hex do gray-300}",
50
- ActionDisabledBackground = "#{hex do gray-100}",
51
-
52
- // Outros
53
- Dark = "#{hex do gray-800}",
54
- DarkLighten = "#{hex do gray-700}",
55
- DarkDarken = "#{hex do gray-900}",
56
-
57
- // Overlay (usado em modais, dropdowns)
58
- OverlayLight = "rgba(255, 255, 255, 0.95)",
59
- OverlayDark = "rgba(33, 33, 33, 0.95)",
60
-
61
- // Hover effects
62
- HoverOpacity = 0.06, // Opacidade do hover (6%)
63
- },
64
-
65
- Typography = new Typography
66
- {
67
- // Font Families
68
- Default = new Default
69
- {
70
- FontFamily = new[] { "{Font Name}", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "sans-serif" },
71
- FontSize = "1rem", // 16px
72
- FontWeight = 400, // Regular
73
- LineHeight = 1.5,
74
- LetterSpacing = "normal",
75
- },
76
-
77
- H1 = new H1
78
- {
79
- FontFamily = new[] { "{Font Name}", "sans-serif" },
80
- FontSize = "2.25rem", // 36px
81
- FontWeight = 700, // Bold
82
- LineHeight = 1.2,
83
- },
84
-
85
- H2 = new H2
86
- {
87
- FontFamily = new[] { "{Font Name}", "sans-serif" },
88
- FontSize = "1.875rem", // 30px
89
- FontWeight = 700,
90
- LineHeight = 1.3,
91
- },
92
-
93
- H3 = new H3
94
- {
95
- FontFamily = new[] { "{Font Name}", "sans-serif" },
96
- FontSize = "1.5rem", // 24px
97
- FontWeight = 600,
98
- LineHeight = 1.4,
99
- },
100
-
101
- H4 = new H4
102
- {
103
- FontFamily = new[] { "{Font Name}", "sans-serif" },
104
- FontSize = "1.25rem", // 20px
105
- FontWeight = 600,
106
- LineHeight = 1.4,
107
- },
108
-
109
- H5 = new H5
110
- {
111
- FontFamily = new[] { "{Font Name}", "sans-serif" },
112
- FontSize = "1.125rem", // 18px
113
- FontWeight = 600,
114
- LineHeight = 1.5,
115
- },
116
-
117
- H6 = new H6
118
- {
119
- FontFamily = new[] { "{Font Name}", "sans-serif" },
120
- FontSize = "1rem", // 16px
121
- FontWeight = 600,
122
- LineHeight = 1.5,
123
- },
124
-
125
- Body1 = new Body1
126
- {
127
- FontFamily = new[] { "{Font Name}", "sans-serif" },
128
- FontSize = "1rem", // 16px
129
- FontWeight = 400,
130
- LineHeight = 1.5,
131
- },
132
-
133
- Body2 = new Body2
134
- {
135
- FontFamily = new[] { "{Font Name}", "sans-serif" },
136
- FontSize = "0.875rem", // 14px
137
- FontWeight = 400,
138
- LineHeight = 1.43,
139
- },
140
-
141
- Button = new Button
142
- {
143
- FontFamily = new[] { "{Font Name}", "sans-serif" },
144
- FontSize = "0.875rem", // 14px
145
- FontWeight = 600, // Semibold
146
- LineHeight = 1.75,
147
- TextTransform = "none", // Ou "uppercase" se preferir
148
- },
149
-
150
- Caption = new Caption
151
- {
152
- FontFamily = new[] { "{Font Name}", "sans-serif" },
153
- FontSize = "0.75rem", // 12px
154
- FontWeight = 400,
155
- LineHeight = 1.66,
156
- },
157
-
158
- Subtitle1 = new Subtitle1
159
- {
160
- FontFamily = new[] { "{Font Name}", "sans-serif" },
161
- FontSize = "1rem",
162
- FontWeight = 500, // Medium
163
- LineHeight = 1.75,
164
- },
165
-
166
- Subtitle2 = new Subtitle2
167
- {
168
- FontFamily = new[] { "{Font Name}", "sans-serif" },
169
- FontSize = "0.875rem",
170
- FontWeight = 500,
171
- LineHeight = 1.57,
172
- },
173
-
174
- Overline = new Overline
175
- {
176
- FontFamily = new[] { "{Font Name}", "sans-serif" },
177
- FontSize = "0.75rem",
178
- FontWeight = 600,
179
- LineHeight = 2.66,
180
- LetterSpacing = "0.08em",
181
- },
182
- },
183
-
184
- Shadows = new Shadow
185
- {
186
- Elevation = new[]
187
- {
188
- "none", // 0
189
- "0 1px 2px 0 rgba(0, 0, 0, 0.05)", // 1
190
- "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)", // 2
191
- "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)", // 3
192
- "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)", // 4
193
- "0 25px 50px -12px rgba(0, 0, 0, 0.25)", // 5
194
- // Adicione mais elevações conforme necessário
195
- }
196
- },
197
-
198
- LayoutProperties = new LayoutProperties
199
- {
200
- // Border Radius
201
- DefaultBorderRadius = "6px", // md
202
-
203
- // Drawer
204
- DrawerWidthLeft = "240px",
205
- DrawerWidthRight = "240px",
206
-
207
- // AppBar
208
- AppbarHeight = "64px",
209
- },
210
-
211
- ZIndex = new ZIndex
212
- {
213
- Drawer = 1200,
214
- AppBar = 1100,
215
- Dialog = 1300,
216
- Popover = 1400,
217
- Snackbar = 1500,
218
- Tooltip = 1600,
219
- },
220
- };
221
-
222
- /// <summary>
223
- /// Tema Dark Mode (opcional - ajustar cores)
224
- /// </summary>
225
- public static MudTheme DarkTheme => new()
226
- {
227
- Palette = new PaletteDark
228
- {
229
- // Cores Principais (ajustar para dark mode)
230
- Primary = "#{hex}",
231
- Secondary = "#{hex}",
232
-
233
- // Cores de Estado
234
- Success = "#{hex}",
235
- Error = "#{hex}",
236
- Warning = "#{hex}",
237
- Info = "#{hex}",
238
-
239
- // Background e Superfícies (tons escuros)
240
- Background = "#{hex do gray-900}",
241
- BackgroundGrey = "#{hex do gray-800}",
242
- Surface = "#{hex do gray-800}",
243
-
244
- // Text Colors (invertidos)
245
- TextPrimary = "#{hex do gray-50}",
246
- TextSecondary = "#{hex do gray-400}",
247
- TextDisabled = "#{hex do gray-600}",
248
-
249
- // Etc... (ajustar conforme design system dark mode)
250
- },
251
-
252
- // Compartilhar Typography e outras configurações do LightTheme
253
- Typography = LightTheme.Typography,
254
- Shadows = LightTheme.Shadows,
255
- LayoutProperties = LightTheme.LayoutProperties,
256
- ZIndex = LightTheme.ZIndex,
257
- };
258
- }
259
-
260
- /// <summary>
261
- /// EXEMPLO DE USO:
262
- ///
263
- /// // Program.cs
264
- /// builder.Services.AddMudServices(config =>
265
- /// {
266
- /// config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomRight;
267
- /// });
268
- ///
269
- /// // App.razor ou MainLayout.razor
270
- /// <MudThemeProvider Theme="@AppTheme.LightTheme" />
271
- /// <MudDialogProvider />
272
- /// <MudSnackbarProvider />
273
- ///
274
- /// // Para suportar dark mode dinâmico:
275
- /// <MudThemeProvider @bind-IsDarkMode="@_isDarkMode"
276
- /// Theme="@(_isDarkMode ? AppTheme.DarkTheme : AppTheme.LightTheme)" />
277
- ///
278
- /// @code {
279
- /// private bool _isDarkMode;
280
- /// }
281
- /// </summary>
@@ -1,163 +0,0 @@
1
- // ============================================================
2
- // MICROSOFT AGENT FRAMEWORK TEMPLATE
3
- // Generated by MORPH Framework
4
- // ============================================================
5
-
6
- using System.ComponentModel;
7
- using System.Text.Json;
8
- using Microsoft.Agents.AI;
9
- using Microsoft.Extensions.AI;
10
- using Microsoft.Extensions.Logging;
11
-
12
- namespace MyProject.Agents.{Feature};
13
-
14
- /// <summary>
15
- /// AI Agent for analyzing {Feature} data.
16
- /// Uses Microsoft Agent Framework with IChatClient (gpt-4o-mini by default).
17
- /// </summary>
18
- public class {Feature}AnalyzerAgent(
19
- IChatClient chatClient,
20
- ILogger<{Feature}AnalyzerAgent> logger) : I{Feature}AnalyzerAgent
21
- {
22
- /// <inheritdoc />
23
- public async Task<{Feature}AnalysisResult> AnalyzeAsync(
24
- {Feature}Data data,
25
- CancellationToken cancellationToken = default)
26
- {
27
- logger.LogInformation("Starting {Feature} analysis for: {Content}",
28
- data.Content.Length > 100 ? data.Content[..100] + "..." : data.Content);
29
-
30
- var agent = new ChatClientAgent(
31
- chatClient,
32
- new ChatClientAgentOptions
33
- {
34
- Name = "{Feature}Analyzer",
35
- Instructions = """
36
- You are an expert analyst for {Feature} data.
37
-
38
- Analyze the provided data and return a JSON object with:
39
- - summary: Brief summary (1-2 sentences)
40
- - insights: Array of at least 2 insights
41
- - recommendations: Array of at least 1 recommendation
42
- - confidenceScore: Number between 0 and 1
43
-
44
- Respond ONLY with valid JSON, no additional text.
45
- """,
46
- ChatOptions = new ChatOptions
47
- {
48
- Tools =
49
- [
50
- AIFunctionFactory.Create(GetContextAsync),
51
- AIFunctionFactory.Create(GetMetricsAsync)
52
- ]
53
- }
54
- });
55
-
56
- var response = await agent.RunAsync(
57
- $"Analyze this data:\n{data.Content}",
58
- cancellationToken: cancellationToken);
59
-
60
- var result = ParseResponse(response.Text);
61
-
62
- logger.LogInformation(
63
- "Analysis completed. Confidence: {Confidence:P0}",
64
- result.ConfidenceScore);
65
-
66
- return result;
67
- }
68
-
69
- #region Tools
70
-
71
- [Description("Gets additional context for the analysis")]
72
- private async Task<string> GetContextAsync(
73
- [Description("What context is needed")] string query,
74
- CancellationToken ct = default)
75
- {
76
- // TODO: Implement context retrieval (e.g., from database or search)
77
- await Task.CompletedTask;
78
- return $"Context for: {query}";
79
- }
80
-
81
- [Description("Gets relevant metrics for the analysis")]
82
- private async Task<string> GetMetricsAsync(
83
- [Description("Metric type to retrieve")] string metricType,
84
- CancellationToken ct = default)
85
- {
86
- // TODO: Implement metrics retrieval
87
- await Task.CompletedTask;
88
- return $"Metrics for: {metricType}";
89
- }
90
-
91
- #endregion
92
-
93
- #region Response Parsing
94
-
95
- private {Feature}AnalysisResult ParseResponse(string response)
96
- {
97
- try
98
- {
99
- var json = response
100
- .Replace("```json", "")
101
- .Replace("```", "")
102
- .Trim();
103
-
104
- var parsed = JsonSerializer.Deserialize<AnalysisResponse>(json,
105
- new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
106
-
107
- if (parsed is null)
108
- throw new {Feature}ProcessingException("Failed to parse analysis response");
109
-
110
- return new {Feature}AnalysisResult(
111
- parsed.Summary ?? "Analysis completed",
112
- parsed.Insights ?? [],
113
- parsed.Recommendations ?? [],
114
- parsed.ConfidenceScore);
115
- }
116
- catch (JsonException ex)
117
- {
118
- logger.LogError(ex, "Failed to parse AI response: {Response}", response);
119
- throw new {Feature}ProcessingException("Failed to parse analysis response", ex);
120
- }
121
- }
122
-
123
- private class AnalysisResponse
124
- {
125
- public string? Summary { get; set; }
126
- public List<string>? Insights { get; set; }
127
- public List<string>? Recommendations { get; set; }
128
- public double ConfidenceScore { get; set; }
129
- }
130
-
131
- #endregion
132
- }
133
-
134
- // ============================================================
135
- // DEPENDENCY INJECTION SETUP
136
- // ============================================================
137
- //
138
- // In Program.cs:
139
- //
140
- // // Register IChatClient (Azure OpenAI with Managed Identity)
141
- // builder.Services.AddSingleton<IChatClient>(sp =>
142
- // {
143
- // var cfg = sp.GetRequiredService<IConfiguration>();
144
- // return new AzureOpenAIClient(
145
- // new Uri(cfg["AzureOpenAI:Endpoint"]!),
146
- // new DefaultAzureCredential())
147
- // .GetChatClient(cfg["AzureOpenAI:DeploymentName"] ?? "gpt-4o-mini")
148
- // .AsIChatClient();
149
- // });
150
- //
151
- // // Option A: Register as scoped service
152
- // builder.Services.AddScoped<I{Feature}AnalyzerAgent, {Feature}AnalyzerAgent>();
153
- //
154
- // // Option B: Register as keyed agent (recommended for multiple agents)
155
- // builder.AddAIAgent("{Feature}Analyzer", (sp, key) =>
156
- // {
157
- // var chatClient = sp.GetRequiredService<IChatClient>();
158
- // return new ChatClientAgent(chatClient,
159
- // name: key,
160
- // instructions: "You are an expert {Feature} analyst.");
161
- // });
162
- //
163
- // ============================================================
@@ -1,159 +0,0 @@
1
- # Checklist de Clarificação - {{FEATURE_NAME_TITLE}}
2
-
3
- > Template para FASE 3: CLARIFY
4
- > Use este checklist para identificar ambiguidades e fazer perguntas estruturadas
5
-
6
- ---
7
-
8
- ## 🎯 Contexto da Feature
9
-
10
- **Feature:** {{FEATURE_NAME}}
11
- **Fase atual:** CLARIFY
12
- **Data:** {{DATE}}
13
-
14
- ---
15
-
16
- ## 📋 Checklist de Clarificação Padrão
17
-
18
- ### 1. Fluxo de Usuário
19
-
20
- - [ ] Existe fluxo gratuito vs pago?
21
- - [ ] O que acontece em edge cases (erro, timeout, dados inválidos)?
22
- - [ ] Qual o fluxo de primeiro acesso (onboarding)?
23
- - [ ] Existem diferentes tipos de usuário com permissões diferentes?
24
- - [ ] O que acontece se o usuário cancelar no meio do processo?
25
-
26
- **Perguntas específicas:**
27
- 1. _[Adicionar pergunta específica da feature]_
28
- 2. _[Adicionar pergunta específica da feature]_
29
-
30
- ---
31
-
32
- ### 2. Integrações Externas
33
-
34
- - [ ] Quais campos são obrigatórios para cada API externa?
35
- - [ ] Há fallbacks se a API externa falhar?
36
- - [ ] Qual o timeout aceitável para chamadas externas?
37
- - [ ] Como tratar rate limiting?
38
- - [ ] Precisa de webhook para eventos da API?
39
-
40
- **Perguntas específicas:**
41
- 1. _[Adicionar pergunta sobre integração]_
42
- 2. _[Adicionar pergunta sobre integração]_
43
-
44
- ---
45
-
46
- ### 3. Dados e Persistência
47
-
48
- - [ ] Qual a política de retenção de dados?
49
- - [ ] Precisa de soft delete ou hard delete?
50
- - [ ] Quais dados são sensíveis e precisam de criptografia?
51
- - [ ] Precisa de histórico/auditoria de alterações?
52
- - [ ] Qual o volume esperado de dados?
53
-
54
- **Perguntas específicas:**
55
- 1. _[Adicionar pergunta sobre dados]_
56
- 2. _[Adicionar pergunta sobre dados]_
57
-
58
- ---
59
-
60
- ### 4. Performance e Escalabilidade
61
-
62
- - [ ] Qual o SLA esperado (tempo de resposta)?
63
- - [ ] Precisa de cache? Se sim, qual estratégia?
64
- - [ ] Quantos usuários simultâneos são esperados?
65
- - [ ] Existem operações que podem ser assíncronas?
66
- - [ ] Precisa de paginação para listas grandes?
67
-
68
- **Perguntas específicas:**
69
- 1. _[Adicionar pergunta sobre performance]_
70
- 2. _[Adicionar pergunta sobre performance]_
71
-
72
- ---
73
-
74
- ### 5. Segurança e Autorização
75
-
76
- - [ ] Quem pode acessar esta funcionalidade?
77
- - [ ] Existem diferentes níveis de permissão?
78
- - [ ] Precisa de validação de ownership (usuário só vê seus dados)?
79
- - [ ] Existem dados que não devem ser expostos em logs?
80
- - [ ] Precisa de CAPTCHA ou proteção contra bots?
81
-
82
- **Perguntas específicas:**
83
- 1. _[Adicionar pergunta sobre segurança]_
84
- 2. _[Adicionar pergunta sobre segurança]_
85
-
86
- ---
87
-
88
- ### 6. UI/UX (se aplicável)
89
-
90
- - [ ] Qual o estado inicial da tela (vazia, loading, dados)?
91
- - [ ] O que mostrar quando não há dados?
92
- - [ ] Quais mensagens de erro/sucesso exibir?
93
- - [ ] Precisa de confirmação antes de ações destrutivas?
94
- - [ ] Como tratar formulários muito longos (wizard, seções)?
95
-
96
- **Perguntas específicas:**
97
- 1. _[Adicionar pergunta sobre UI]_
98
- 2. _[Adicionar pergunta sobre UI]_
99
-
100
- ---
101
-
102
- ### 7. Notificações e Comunicação
103
-
104
- - [ ] Precisa enviar email/SMS/push em algum momento?
105
- - [ ] Quais eventos disparam notificações?
106
- - [ ] O usuário pode configurar preferências de notificação?
107
- - [ ] Precisa de notificações em tempo real (SignalR)?
108
-
109
- **Perguntas específicas:**
110
- 1. _[Adicionar pergunta sobre notificações]_
111
-
112
- ---
113
-
114
- ### 8. Regras de Negócio
115
-
116
- - [ ] Existem validações específicas do domínio?
117
- - [ ] Existem limites (máximo de itens, tamanho de arquivo, etc)?
118
- - [ ] Existem estados/transições de status?
119
- - [ ] Existem cálculos ou fórmulas específicas?
120
- - [ ] Existem regras de agendamento (cron, jobs)?
121
-
122
- **Perguntas específicas:**
123
- 1. _[Adicionar pergunta sobre regras de negócio]_
124
- 2. _[Adicionar pergunta sobre regras de negócio]_
125
-
126
- ---
127
-
128
- ## 📝 Respostas Coletadas
129
-
130
- > Preencher com as respostas do usuário
131
-
132
- | # | Pergunta | Resposta | Impacto no Spec |
133
- |---|----------|----------|-----------------|
134
- | 1 | | | |
135
- | 2 | | | |
136
- | 3 | | | |
137
-
138
- ---
139
-
140
- ## ✅ Ações Resultantes
141
-
142
- - [ ] Atualizar spec.md com clarificações
143
- - [ ] Adicionar edge cases identificados
144
- - [ ] Atualizar contracts.cs se necessário
145
- - [ ] Documentar decisões em decisions.md
146
-
147
- ---
148
-
149
- ## 🎯 Status
150
-
151
- - **Total de perguntas:** _X_
152
- - **Perguntas respondidas:** _Y_
153
- - **Pendentes:** _Z_
154
-
155
- **Pronto para avançar para FASE 4: TASKS?** [ ] Sim [ ] Não
156
-
157
- ---
158
-
159
- _Gerado por MORPH-SPEC Framework_