@polymorphism-tech/morph-spec 4.3.3 → 4.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/.morph/analytics/threads-log.jsonl +9 -0
  2. package/{stacks/blazor-azure/.morph → .morph}/config/config.json +9 -9
  3. package/.morph/state.json +48 -0
  4. package/bin/detect-agents.js +1 -2
  5. package/bin/morph-spec.js +2 -15
  6. package/{stacks/blazor-azure/.morph/config → framework}/agents.json +948 -948
  7. package/{stacks/nextjs-supabase/.claude → framework}/commands/morph-infra.md +1 -1
  8. package/framework/hooks/README.md +282 -0
  9. package/framework/hooks/agent-stop/validate-and-continue.js +96 -0
  10. package/framework/hooks/agent-stop/validate-checkpoints.js +101 -0
  11. package/framework/hooks/agent-stop/validate-tests.js +109 -0
  12. package/framework/hooks/agent-teams/dispatch.js +67 -0
  13. package/framework/hooks/agent-teams/phase-advanced.js +80 -0
  14. package/framework/hooks/agent-teams/task-completed.js +76 -0
  15. package/framework/hooks/agent-teams/teammate-idle.js +70 -0
  16. package/framework/hooks/commit-msg/conventional-commits.sh +33 -0
  17. package/framework/hooks/pre-commit/agents.sh +25 -0
  18. package/framework/hooks/pre-commit/orchestrator.sh +64 -0
  19. package/framework/hooks/pre-commit/specs.sh +50 -0
  20. package/framework/hooks/pre-push/run-tests.sh +44 -0
  21. package/framework/index/troubleshooting-index.json +184 -0
  22. package/framework/memory/patterns-learned.md +766 -0
  23. package/framework/skills/level-0-meta/README.md +7 -0
  24. package/framework/skills/level-0-meta/code-review.md +226 -0
  25. package/framework/skills/level-0-meta/morph-checklist.md +117 -0
  26. package/framework/skills/level-0-meta/simulation-checklist.md +77 -0
  27. package/framework/skills/level-1-workflows/README.md +7 -0
  28. package/framework/skills/level-1-workflows/morph-replicate.md +213 -0
  29. package/framework/skills/level-1-workflows/phase-clarify.md +131 -0
  30. package/framework/skills/level-1-workflows/phase-design.md +213 -0
  31. package/framework/skills/level-1-workflows/phase-setup.md +106 -0
  32. package/framework/skills/level-1-workflows/phase-tasks.md +164 -0
  33. package/framework/skills/level-1-workflows/phase-uiux.md +169 -0
  34. package/framework/skills/level-2-domains/README.md +14 -0
  35. package/framework/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  36. package/framework/skills/level-2-domains/architecture/po-pm-advisor.md +197 -0
  37. package/framework/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  38. package/framework/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  39. package/framework/skills/level-2-domains/architecture/standards-architect.md +156 -0
  40. package/framework/skills/level-2-domains/backend/api-designer.md +59 -0
  41. package/framework/skills/level-2-domains/backend/dotnet-senior.md +77 -0
  42. package/framework/skills/level-2-domains/backend/ef-modeler.md +58 -0
  43. package/framework/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  44. package/framework/skills/level-2-domains/backend/ms-agent-expert.md +45 -0
  45. package/framework/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  46. package/framework/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  47. package/framework/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  48. package/framework/skills/level-2-domains/infrastructure/azure-architect.md +142 -0
  49. package/framework/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  50. package/framework/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  51. package/framework/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  52. package/framework/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  53. package/framework/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  54. package/framework/skills/level-2-domains/integrations/azure-identity.md +142 -0
  55. package/framework/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  56. package/framework/skills/level-2-domains/integrations/hangfire-orchestrator.md +64 -0
  57. package/framework/skills/level-2-domains/integrations/resend-email.md +119 -0
  58. package/framework/skills/level-2-domains/quality/code-analyzer.md +235 -0
  59. package/framework/skills/level-2-domains/quality/testing-specialist.md +126 -0
  60. package/framework/skills/level-3-technologies/README.md +7 -0
  61. package/framework/skills/level-4-patterns/README.md +7 -0
  62. package/framework/squad-templates/backend-only.json +34 -0
  63. package/framework/squad-templates/frontend-only.json +34 -0
  64. package/framework/squad-templates/full-stack.json +52 -0
  65. package/framework/templates/.idea/morph-templates.xml +92 -0
  66. package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
  67. package/framework/templates/IDE-SNIPPETS.md +266 -0
  68. package/framework/templates/README.md +814 -0
  69. package/framework/templates/REGISTRY.json +1677 -0
  70. package/framework/templates/code/dotnet/backend/repository.cs +141 -0
  71. package/framework/templates/code/dotnet/backend/service.cs +139 -0
  72. package/framework/templates/code/dotnet/contracts/Commands.cs +74 -0
  73. package/framework/templates/code/dotnet/contracts/Entities.cs +25 -0
  74. package/framework/templates/code/dotnet/contracts/Queries.cs +74 -0
  75. package/framework/templates/code/dotnet/contracts/README.md +74 -0
  76. package/framework/templates/code/dotnet/contracts/api-contracts.cs +173 -0
  77. package/framework/templates/code/dotnet/contracts/contracts.cs +217 -0
  78. package/framework/templates/code/dotnet/database/migration.cs +83 -0
  79. package/framework/templates/code/dotnet/frontend/component.razor +239 -0
  80. package/framework/templates/code/dotnet/jobs/agent.cs +163 -0
  81. package/framework/templates/code/dotnet/jobs/job.cs +171 -0
  82. package/framework/templates/code/dotnet/test.cs +239 -0
  83. package/framework/templates/code/sql/rls-policy.sql +57 -0
  84. package/framework/templates/code/sql/supabase-migration.sql +100 -0
  85. package/framework/templates/code/sql/supabase-migration.template.sql +113 -0
  86. package/framework/templates/code/typescript/contracts.ts +168 -0
  87. package/framework/templates/context/CONTEXT-FEATURE.md +276 -0
  88. package/framework/templates/context/CONTEXT.md +181 -0
  89. package/framework/templates/docs/proposal.md +182 -0
  90. package/framework/templates/docs/spec.md +149 -0
  91. package/framework/templates/examples/design-system-examples.md +357 -0
  92. package/framework/templates/examples/spec-examples.md +90 -0
  93. package/framework/templates/feature/decisions.md +187 -0
  94. package/framework/templates/feature/recap.md +146 -0
  95. package/framework/templates/feature/tasks.md +199 -0
  96. package/framework/templates/infrastructure/azure/Dockerfile.example +82 -0
  97. package/framework/templates/infrastructure/azure/README.md +286 -0
  98. package/framework/templates/infrastructure/azure/app-insights.bicep +63 -0
  99. package/framework/templates/infrastructure/azure/app-service.bicep +164 -0
  100. package/framework/templates/infrastructure/azure/container-app-env.bicep +49 -0
  101. package/framework/templates/infrastructure/azure/container-app.bicep +156 -0
  102. package/framework/templates/infrastructure/azure/deploy-checklist.md +426 -0
  103. package/framework/templates/infrastructure/azure/deploy.ps1 +229 -0
  104. package/framework/templates/infrastructure/azure/deploy.sh +208 -0
  105. package/framework/templates/infrastructure/azure/key-vault.bicep +91 -0
  106. package/framework/templates/infrastructure/azure/main.bicep +189 -0
  107. package/framework/templates/infrastructure/azure/parameters.dev.json +29 -0
  108. package/framework/templates/infrastructure/azure/parameters.prod.json +29 -0
  109. package/framework/templates/infrastructure/azure/parameters.staging.json +29 -0
  110. package/framework/templates/infrastructure/azure/sql-database.bicep +103 -0
  111. package/framework/templates/infrastructure/azure/storage.bicep +106 -0
  112. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -0
  113. package/framework/templates/infrastructure/docker/docker-compose.template.yml +67 -0
  114. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -0
  115. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -0
  116. package/framework/templates/infrastructure/docker/easypanel.template.json +54 -0
  117. package/framework/templates/infrastructure/github/README.md +593 -0
  118. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +22 -0
  119. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -0
  120. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -0
  121. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +61 -0
  122. package/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +31 -0
  123. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -0
  124. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -0
  125. package/framework/templates/integrations/asaas-client.cs +387 -0
  126. package/framework/templates/integrations/asaas-webhook.cs +351 -0
  127. package/framework/templates/integrations/azure-identity-config.cs +288 -0
  128. package/framework/templates/integrations/clerk-config.cs +258 -0
  129. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -0
  130. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -0
  131. package/framework/templates/meta-prompts/hops/hop-retry.md +78 -0
  132. package/framework/templates/meta-prompts/hops/hop-validation.md +97 -0
  133. package/framework/templates/meta-prompts/hops/hop-wrapper.md +36 -0
  134. package/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -0
  135. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -0
  136. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -0
  137. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +126 -0
  138. package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +43 -0
  139. package/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -0
  140. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -0
  141. package/framework/templates/saas/subscription.cs +347 -0
  142. package/framework/templates/saas/tenant.cs +338 -0
  143. package/framework/templates/state.template.json +17 -0
  144. package/framework/templates/ui/FluentDesignTheme.cs +149 -0
  145. package/framework/templates/ui/MudTheme.cs +281 -0
  146. package/framework/templates/ui/design-system.css +226 -0
  147. package/framework/workflows/README.md +1041 -0
  148. package/framework/workflows/configs/design-impl.json +49 -0
  149. package/framework/workflows/configs/fast-track.json +42 -0
  150. package/framework/workflows/configs/full-morph.json +79 -0
  151. package/framework/workflows/configs/fusion.json +39 -0
  152. package/framework/workflows/configs/long-running.json +33 -0
  153. package/framework/workflows/configs/standard.json +60 -0
  154. package/framework/workflows/configs/ui-refresh.json +49 -0
  155. package/framework/workflows/configs/zero-touch.json +75 -0
  156. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -0
  157. package/framework/workflows/docs/design-impl.md +37 -0
  158. package/framework/workflows/docs/enforcement-pipeline.md +668 -0
  159. package/framework/workflows/docs/fast-track.md +29 -0
  160. package/framework/workflows/docs/full-morph.md +76 -0
  161. package/framework/workflows/docs/standard.md +44 -0
  162. package/framework/workflows/docs/ui-refresh.md +39 -0
  163. package/package.json +3 -3
  164. package/src/commands/feature/create-story.js +11 -7
  165. package/src/commands/project/detect-agents.js +1 -2
  166. package/src/commands/project/init.js +69 -32
  167. package/src/commands/project/update.js +2 -2
  168. package/src/commands/templates/template-customize.js +3 -17
  169. package/src/commands/templates/template-list.js +1 -15
  170. package/src/commands/templates/template-render.js +2 -3
  171. package/src/commands/templates/template-show.js +3 -5
  172. package/src/core/templates/template-registry.js +9 -23
  173. package/src/lib/detectors/structure-detector.js +3 -3
  174. package/src/lib/generators/context-generator.js +18 -6
  175. package/src/lib/hooks/hook-executor.js +0 -2
  176. package/src/lib/orchestration/team-orchestrator.js +1 -2
  177. package/src/lib/standards/standards-context-injector.js +3 -4
  178. package/src/lib/troubleshooting/troubleshoot-grep.js +3 -9
  179. package/src/lib/validators/validation-runner.js +1 -2
  180. package/src/utils/file-copier.js +1 -2
  181. package/docs/README.md +0 -144
  182. package/docs/api/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  183. package/docs/api/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  184. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  185. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  186. package/docs/api/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  187. package/docs/api/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  188. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  189. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  190. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  191. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  192. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  193. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  194. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  195. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  196. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  197. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  198. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  199. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  200. package/docs/api/scripts/collapse.js +0 -39
  201. package/docs/api/scripts/commonNav.js +0 -28
  202. package/docs/api/scripts/linenumber.js +0 -25
  203. package/docs/api/scripts/nav.js +0 -12
  204. package/docs/api/scripts/polyfill.js +0 -4
  205. package/docs/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  206. package/docs/api/scripts/prettify/lang-css.js +0 -2
  207. package/docs/api/scripts/prettify/prettify.js +0 -28
  208. package/docs/api/scripts/search.js +0 -99
  209. package/docs/api/styles/jsdoc.css +0 -776
  210. package/docs/api/styles/prettify.css +0 -80
  211. package/docs/cli-auto-detection.md +0 -219
  212. package/docs/getting-started.md +0 -296
  213. package/docs/installation.md +0 -361
  214. package/docs/next-generation/AGENTS.md +0 -521
  215. package/docs/next-generation/ANALYSIS.md +0 -555
  216. package/docs/next-generation/ARCHITECTURE.md +0 -436
  217. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +0 -267
  218. package/docs/next-generation/EXECUTION-FLOW.md +0 -274
  219. package/docs/next-generation/FEATURES.md +0 -688
  220. package/docs/next-generation/META-PROMPTS.md +0 -235
  221. package/docs/next-generation/MIGRATION-GUIDE.md +0 -253
  222. package/docs/next-generation/README.md +0 -231
  223. package/docs/next-generation/ROADMAP.md +0 -801
  224. package/docs/next-generation/THREAD-MANAGEMENT.md +0 -240
  225. package/docs/templates.md +0 -418
  226. package/docs/troubleshooting.md +0 -269
  227. package/docs/validation-checklist.md +0 -264
  228. package/scripts/postinstall.js +0 -132
  229. package/src/lib/stacks/index.js +0 -7
  230. package/src/lib/stacks/stack-resolver.js +0 -180
  231. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  232. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  233. package/stacks/blazor-azure/.morph/.morphversion +0 -5
  234. package/stacks/blazor-azure/.morph/project/context/README.md +0 -17
  235. package/stacks/blazor-azure/CLAUDE.md +0 -155
  236. package/stacks/blazor-azure/README.md +0 -79
  237. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
  238. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
  239. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
  240. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
  241. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
  242. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
  243. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
  244. package/stacks/nextjs-supabase/.morph/.morphversion +0 -5
  245. package/stacks/nextjs-supabase/.morph/config/agents.json +0 -345
  246. package/stacks/nextjs-supabase/.morph/config/config.json +0 -9
  247. package/stacks/nextjs-supabase/.morph/project/context/README.md +0 -17
  248. package/stacks/nextjs-supabase/.morph/standards/ai-agents/blazor-ui.md +0 -364
  249. package/stacks/nextjs-supabase/.morph/standards/ai-agents/production.md +0 -415
  250. package/stacks/nextjs-supabase/.morph/standards/ai-agents/setup.md +0 -418
  251. package/stacks/nextjs-supabase/.morph/standards/ai-agents/team-orchestration.md +0 -479
  252. package/stacks/nextjs-supabase/.morph/standards/ai-agents/workflows.md +0 -354
  253. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/aggregates.md +0 -120
  254. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/entities.md +0 -99
  255. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/value-objects.md +0 -124
  256. package/stacks/nextjs-supabase/.morph/standards/backend/api/minimal-api.md +0 -494
  257. package/stacks/nextjs-supabase/.morph/standards/backend/api/rest.md +0 -492
  258. package/stacks/nextjs-supabase/.morph/standards/backend/api/validation.md +0 -88
  259. package/stacks/nextjs-supabase/.morph/standards/backend/authentication/passkeys.md +0 -428
  260. package/stacks/nextjs-supabase/.morph/standards/backend/database/ef-core.md +0 -199
  261. package/stacks/nextjs-supabase/.morph/standards/backend/database/migrations.md +0 -393
  262. package/stacks/nextjs-supabase/.morph/standards/backend/database/postgresql/database.md +0 -352
  263. package/stacks/nextjs-supabase/.morph/standards/backend/database/repository-patterns.md +0 -528
  264. package/stacks/nextjs-supabase/.morph/standards/backend/database/vector-search-rag.md +0 -541
  265. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/async.md +0 -366
  266. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/core.md +0 -117
  267. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/di.md +0 -439
  268. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/program-cs-checklist.md +0 -92
  269. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/asaas/asaas-api.md +0 -216
  270. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/clerk/clerk-auth.md +0 -290
  271. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -350
  272. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/resend/resend-email.md +0 -385
  273. package/stacks/nextjs-supabase/.morph/standards/context/analytics.md +0 -96
  274. package/stacks/nextjs-supabase/.morph/standards/context/bundles.md +0 -110
  275. package/stacks/nextjs-supabase/.morph/standards/context/priming.md +0 -78
  276. package/stacks/nextjs-supabase/.morph/standards/core/architecture.md +0 -185
  277. package/stacks/nextjs-supabase/.morph/standards/core/coding.md +0 -214
  278. package/stacks/nextjs-supabase/.morph/standards/core/git-branching-strategy.md +0 -403
  279. package/stacks/nextjs-supabase/.morph/standards/core/git.md +0 -185
  280. package/stacks/nextjs-supabase/.morph/standards/core/testing.md +0 -295
  281. package/stacks/nextjs-supabase/.morph/standards/data/nosql/blob-storage.md +0 -102
  282. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cache/redis.md +0 -97
  283. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cosmos-db.md +0 -118
  284. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/azure-ai-search.md +0 -121
  285. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/rag-chunking.md +0 -104
  286. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/design-checklist.md +0 -222
  287. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  288. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui.md +0 -137
  289. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/html-conversion.md +0 -184
  290. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/lifecycle.md +0 -195
  291. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/pitfalls.md +0 -198
  292. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/state.md +0 -191
  293. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/animations.md +0 -151
  294. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/naming.md +0 -64
  295. package/stacks/nextjs-supabase/.morph/standards/frontend/nextjs/nextjs-patterns.md +0 -198
  296. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/azure.md +0 -624
  297. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  298. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  299. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/local-development.md +0 -520
  300. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/functions.md +0 -486
  301. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/service-bus.md +0 -459
  302. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/storage.md +0 -407
  303. package/stacks/nextjs-supabase/.morph/standards/infrastructure/docker/easypanel-deploy.md +0 -196
  304. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/mcp-setup.md +0 -252
  305. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-auth.md +0 -176
  306. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-pgvector.md +0 -169
  307. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-rls.md +0 -184
  308. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-storage.md +0 -153
  309. package/stacks/nextjs-supabase/.morph/standards/integration/api/graphql.md +0 -91
  310. package/stacks/nextjs-supabase/.morph/standards/integration/api/grpc.md +0 -114
  311. package/stacks/nextjs-supabase/.morph/standards/integration/api/rest-design.md +0 -95
  312. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/cqrs.md +0 -101
  313. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/event-sourcing.md +0 -124
  314. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/service-bus.md +0 -95
  315. package/stacks/nextjs-supabase/.morph/standards/observability/logging.md +0 -131
  316. package/stacks/nextjs-supabase/.morph/standards/observability/metrics.md +0 -121
  317. package/stacks/nextjs-supabase/.morph/standards/observability/monitoring.md +0 -114
  318. package/stacks/nextjs-supabase/.morph/standards/observability/tracing.md +0 -132
  319. package/stacks/nextjs-supabase/.morph/standards/workflows/parallel-execution.md +0 -112
  320. package/stacks/nextjs-supabase/.morph/standards/workflows/thread-management.md +0 -113
  321. package/stacks/nextjs-supabase/CLAUDE.md +0 -155
  322. package/stacks/nextjs-supabase/README.md +0 -103
  323. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-apply.md +0 -0
  324. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-archive.md +0 -0
  325. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-preflight.md +0 -0
  326. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-proposal.md +0 -0
  327. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-status.md +0 -0
  328. /package/{stacks/blazor-azure/.claude → framework}/commands/morph-troubleshoot.md +0 -0
  329. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/blazor-ui.md +0 -0
  330. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/production.md +0 -0
  331. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/setup.md +0 -0
  332. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/team-orchestration.md +0 -0
  333. /package/{stacks/blazor-azure/.morph → framework}/standards/ai-agents/workflows.md +0 -0
  334. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/aggregates.md +0 -0
  335. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/entities.md +0 -0
  336. /package/{stacks/blazor-azure/.morph → framework}/standards/architecture/ddd/value-objects.md +0 -0
  337. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/minimal-api.md +0 -0
  338. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/rest.md +0 -0
  339. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/api/validation.md +0 -0
  340. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/authentication/passkeys.md +0 -0
  341. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/ef-core.md +0 -0
  342. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/migrations.md +0 -0
  343. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/postgresql/database.md +0 -0
  344. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/repository-patterns.md +0 -0
  345. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/database/vector-search-rag.md +0 -0
  346. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/async.md +0 -0
  347. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/core.md +0 -0
  348. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/di.md +0 -0
  349. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/dotnet/program-cs-checklist.md +0 -0
  350. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/asaas/asaas-api.md +0 -0
  351. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/clerk/clerk-auth.md +0 -0
  352. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -0
  353. /package/{stacks/blazor-azure/.morph → framework}/standards/backend/integrations/resend/resend-email.md +0 -0
  354. /package/{stacks/blazor-azure/.morph → framework}/standards/context/analytics.md +0 -0
  355. /package/{stacks/blazor-azure/.morph → framework}/standards/context/bundles.md +0 -0
  356. /package/{stacks/blazor-azure/.morph → framework}/standards/context/priming.md +0 -0
  357. /package/{stacks/blazor-azure/.morph → framework}/standards/core/architecture.md +0 -0
  358. /package/{stacks/blazor-azure/.morph → framework}/standards/core/coding.md +0 -0
  359. /package/{stacks/blazor-azure/.morph → framework}/standards/core/git-branching-strategy.md +0 -0
  360. /package/{stacks/blazor-azure/.morph → framework}/standards/core/git.md +0 -0
  361. /package/{stacks/blazor-azure/.morph → framework}/standards/core/testing.md +0 -0
  362. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/blob-storage.md +0 -0
  363. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cache/redis.md +0 -0
  364. /package/{stacks/blazor-azure/.morph → framework}/standards/data/nosql/cosmos-db.md +0 -0
  365. /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/azure-ai-search.md +0 -0
  366. /package/{stacks/blazor-azure/.morph → framework}/standards/data/vector-search/rag-chunking.md +0 -0
  367. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/design-checklist.md +0 -0
  368. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui-setup.md +0 -0
  369. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/fluent-ui.md +0 -0
  370. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/html-conversion.md +0 -0
  371. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/lifecycle.md +0 -0
  372. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/pitfalls.md +0 -0
  373. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/blazor/state.md +0 -0
  374. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/animations.md +0 -0
  375. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/design-system/naming.md +0 -0
  376. /package/{stacks/blazor-azure/.morph → framework}/standards/frontend/nextjs/nextjs-patterns.md +0 -0
  377. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/azure.md +0 -0
  378. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -0
  379. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -0
  380. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/devops/local-development.md +0 -0
  381. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/functions.md +0 -0
  382. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/service-bus.md +0 -0
  383. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/azure/services/storage.md +0 -0
  384. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/docker/easypanel-deploy.md +0 -0
  385. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/mcp-setup.md +0 -0
  386. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-auth.md +0 -0
  387. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-pgvector.md +0 -0
  388. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-rls.md +0 -0
  389. /package/{stacks/blazor-azure/.morph → framework}/standards/infrastructure/supabase/supabase-storage.md +0 -0
  390. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/graphql.md +0 -0
  391. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/grpc.md +0 -0
  392. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/api/rest-design.md +0 -0
  393. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/cqrs.md +0 -0
  394. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/event-sourcing.md +0 -0
  395. /package/{stacks/blazor-azure/.morph → framework}/standards/integration/event-driven/service-bus.md +0 -0
  396. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/logging.md +0 -0
  397. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/metrics.md +0 -0
  398. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/monitoring.md +0 -0
  399. /package/{stacks/blazor-azure/.morph → framework}/standards/observability/tracing.md +0 -0
  400. /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/parallel-execution.md +0 -0
  401. /package/{stacks/blazor-azure/.morph → framework}/standards/workflows/thread-management.md +0 -0
@@ -0,0 +1,149 @@
1
+ # Feature Specification: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **ID** | {{FEATURE_NAME}} |
6
+ | **Status** | Draft / In Review / Approved / In Progress / Done |
7
+ | **Created** | {{DATE}} |
8
+ | **Stack** | {{STACK}} |
9
+ | **Complexity** | Low / Medium / High |
10
+ | **Estimated Cost** | $X/month |
11
+ | **Agents** | Core: All / Specialists: {list} |
12
+
13
+ ---
14
+
15
+ ## Overview
16
+
17
+ **Problem:** {What problem this feature solves}
18
+
19
+ **Solution:** {High-level solution}
20
+
21
+ **Success Criteria:**
22
+ - [ ] {Criterion 1}
23
+ - [ ] {Criterion 2}
24
+
25
+ ---
26
+
27
+ ## Requirements
28
+
29
+ **Functional:** FR1: {desc} | FR2: {desc} | FR3: {desc}
30
+
31
+ **Non-Functional:** NFR1: Performance - {target} | NFR2: Reliability - {target}
32
+
33
+ ---
34
+
35
+ ## User Stories
36
+
37
+ ### US001: {Title}
38
+ **As** {user type} **I want** {feature} **so that** {benefit}
39
+
40
+ **Acceptance Criteria:** 1. {criterion} 2. {criterion}
41
+
42
+ **Edge Cases:** {edge case}: {handling}
43
+
44
+ ---
45
+
46
+ ## Technical Design
47
+
48
+ ### Stack
49
+ | Component | Technology |
50
+ |-----------|------------|
51
+ | Frontend | {Blazor Server / Next.js} |
52
+ | Backend | .NET 10 / C# 14 |
53
+ | Database | {Azure SQL / Cosmos DB} |
54
+
55
+ ### Data Model
56
+
57
+ #### {EntityName}
58
+ | Column | Type | Constraints |
59
+ |--------|------|-------------|
60
+ | Id | Guid | PK |
61
+ | {Property} | {Type} | {Constraints} |
62
+ | CreatedAt | datetime2 | Default: GETUTCDATE() |
63
+
64
+ ### Contracts
65
+
66
+ > **Ref:** `framework/standards/blazor-efcore.md` for background operations
67
+
68
+ ```csharp
69
+ public interface I{{pascalCase FEATURE_NAME}}Service
70
+ {
71
+ Task<{{pascalCase FEATURE_NAME}}Dto> GetByIdAsync(int id);
72
+ Task<{{pascalCase FEATURE_NAME}}Dto> CreateAsync(Create{{pascalCase FEATURE_NAME}}Request request);
73
+ }
74
+ ```
75
+
76
+ **Contracts Workflow:** Generate `contracts.cs` FIRST → validate names → reference in spec → approve with user.
77
+
78
+ **Validation Checklist:**
79
+ - [ ] Property names are descriptive (not generic "Data", "Value")
80
+ - [ ] Records use correct types (Stream vs byte[], Guid vs string)
81
+ - [ ] Response DTOs have all properties needed for UI
82
+ - [ ] Request DTOs have implicit validations (required, nullable)
83
+
84
+ ---
85
+
86
+ ## UI/UX Design (if front-end)
87
+
88
+ ### Wireframes
89
+ ```
90
+ {ASCII wireframe per screen - include states: loading, error, empty}
91
+ ```
92
+
93
+ ### User Flow
94
+ 1. {Step} → {System response}
95
+
96
+ ---
97
+
98
+ ## Flows
99
+
100
+ ### {Flow Name}
101
+ **Trigger:** {what starts this flow}
102
+ 1. {Actor} {action} → {system response}
103
+ 2. If {condition}: Path A / Else: Path B
104
+ **End State:** {final state}
105
+
106
+ ---
107
+
108
+ ## Cost Estimate
109
+
110
+ | Resource | SKU | Monthly Cost | Justification |
111
+ |----------|-----|--------------|---------------|
112
+ | {Resource} | {SKU} | ${X} | {Why} |
113
+ | **Total** | | **${X}/month** | |
114
+
115
+ ---
116
+
117
+ ## ADRs (Architectural Decision Records)
118
+
119
+ ### ADR-001: {Decision Title}
120
+ **Status:** Proposed / Accepted
121
+ **Context:** {Why decide now}
122
+ **Decision:** {What we chose}
123
+ **Alternatives:** 1. {Alt} (pros/cons) 2. {Alt} (pros/cons)
124
+ **Trade-offs:** {key trade-offs}
125
+
126
+ ---
127
+
128
+ ## Security
129
+
130
+ | Action | Required Policy |
131
+ |--------|-----------------|
132
+ | View | CanView{Feature} |
133
+ | Create | CanManage{Feature} |
134
+
135
+ ## Risks
136
+
137
+ | Risk | Impact | Mitigation |
138
+ |------|--------|------------|
139
+ | {Risk} | {H/M/L} | {Mitigation} |
140
+
141
+ ## Out of Scope
142
+ - {Item}
143
+
144
+ ## Definition of Done
145
+ - [ ] Code implemented
146
+ - [ ] Tests >80% coverage
147
+ - [ ] Code review approved
148
+ - [ ] Deploy to staging
149
+ - [ ] Recap.md generated
@@ -0,0 +1,357 @@
1
+ # Design System CSS Index Template
2
+
3
+ > Template de indice estruturado para arquivos CSS grandes.
4
+ > Copie este header para o inicio do seu `design-system.css`.
5
+
6
+ ## Indice Padrao
7
+
8
+ ```css
9
+ /* ===========================================================================
10
+ {PROJECT_NAME} Design System
11
+ ===========================================================================
12
+
13
+ Indice de Secoes
14
+ ================
15
+
16
+ 1-99: Tokens e Variaveis CSS
17
+ 100-199: Reset e Base Styles
18
+ 200-299: Tipografia
19
+ 300-399: Layout e Containers
20
+ 400-499: Componentes Base (buttons, inputs, cards)
21
+ 500-599: Componentes Compostos (forms, tables, lists)
22
+ 600-699: Navegacao (header, sidebar, footer, menus)
23
+ 700-799: Paginas Especificas
24
+ 800-849: Modais e Overlays
25
+ 850-899: Animacoes e Keyframes
26
+ 900-949: Responsivo e Media Queries
27
+ 950-979: Utilities e Helpers
28
+ 980-989: Overrides de Fluent UI / MudBlazor
29
+ 990-999: Hotfixes e Temporarios
30
+
31
+ Convencoes de Nomenclatura
32
+ ==========================
33
+
34
+ Prefixo por Pagina:
35
+ - .home-* : Pagina inicial
36
+ - .checkout-* : Pagina de checkout
37
+ - .dashboard-* : Pagina de dashboard
38
+ - .auth-* : Paginas de autenticacao
39
+
40
+ Prefixo por Componente:
41
+ - .btn-* : Botoes
42
+ - .card-* : Cards
43
+ - .modal-* : Modais
44
+ - .form-* : Formularios
45
+ - .nav-* : Navegacao
46
+
47
+ Sufixos de Estado:
48
+ - *--active : Estado ativo
49
+ - *--disabled : Estado desabilitado
50
+ - *--loading : Estado de loading
51
+ - *--error : Estado de erro
52
+
53
+ Validacao:
54
+ morph-spec validate-css src/MyApp.Web
55
+
56
+ =========================================================================== */
57
+
58
+
59
+ /* ===========================================================================
60
+ SECAO 1-99: TOKENS E VARIAVEIS CSS
61
+ =========================================================================== */
62
+
63
+ :root {
64
+ /* Cores Primarias */
65
+ --primary: #3b82f6;
66
+ --primary-hover: #2563eb;
67
+ --primary-active: #1d4ed8;
68
+
69
+ /* Cores Secundarias */
70
+ --secondary: #6b7280;
71
+ --secondary-hover: #4b5563;
72
+
73
+ /* Cores Semanticas */
74
+ --success: #10b981;
75
+ --warning: #f59e0b;
76
+ --error: #ef4444;
77
+ --info: #06b6d4;
78
+
79
+ /* Neutros */
80
+ --neutral-50: #f9fafb;
81
+ --neutral-100: #f3f4f6;
82
+ --neutral-200: #e5e7eb;
83
+ --neutral-300: #d1d5db;
84
+ --neutral-400: #9ca3af;
85
+ --neutral-500: #6b7280;
86
+ --neutral-600: #4b5563;
87
+ --neutral-700: #374151;
88
+ --neutral-800: #1f2937;
89
+ --neutral-900: #111827;
90
+
91
+ /* Tipografia */
92
+ --font-family: 'Inter', system-ui, -apple-system, sans-serif;
93
+ --font-family-mono: 'JetBrains Mono', monospace;
94
+
95
+ --font-size-xs: 0.75rem; /* 12px */
96
+ --font-size-sm: 0.875rem; /* 14px */
97
+ --font-size-base: 1rem; /* 16px */
98
+ --font-size-lg: 1.125rem; /* 18px */
99
+ --font-size-xl: 1.25rem; /* 20px */
100
+ --font-size-2xl: 1.5rem; /* 24px */
101
+ --font-size-3xl: 1.875rem; /* 30px */
102
+ --font-size-4xl: 2.25rem; /* 36px */
103
+
104
+ /* Espacamento (base 4px) */
105
+ --space-1: 0.25rem; /* 4px */
106
+ --space-2: 0.5rem; /* 8px */
107
+ --space-3: 0.75rem; /* 12px */
108
+ --space-4: 1rem; /* 16px */
109
+ --space-5: 1.25rem; /* 20px */
110
+ --space-6: 1.5rem; /* 24px */
111
+ --space-8: 2rem; /* 32px */
112
+ --space-10: 2.5rem; /* 40px */
113
+ --space-12: 3rem; /* 48px */
114
+
115
+ /* Border Radius */
116
+ --radius-sm: 0.25rem; /* 4px */
117
+ --radius-md: 0.5rem; /* 8px */
118
+ --radius-lg: 0.75rem; /* 12px */
119
+ --radius-xl: 1rem; /* 16px */
120
+ --radius-full: 9999px;
121
+
122
+ /* Sombras */
123
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
124
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
125
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
126
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
127
+
128
+ /* Transicoes */
129
+ --transition-fast: 150ms ease;
130
+ --transition-normal: 300ms ease;
131
+ --transition-slow: 500ms ease;
132
+
133
+ /* Z-Index */
134
+ --z-dropdown: 1000;
135
+ --z-sticky: 1020;
136
+ --z-fixed: 1030;
137
+ --z-modal-backdrop: 1040;
138
+ --z-modal: 1050;
139
+ --z-popover: 1060;
140
+ --z-tooltip: 1070;
141
+ }
142
+
143
+
144
+ /* ===========================================================================
145
+ SECAO 100-199: RESET E BASE STYLES
146
+ =========================================================================== */
147
+
148
+ /* ... */
149
+
150
+
151
+ /* ===========================================================================
152
+ SECAO 200-299: TIPOGRAFIA
153
+ =========================================================================== */
154
+
155
+ /* ... */
156
+
157
+
158
+ /* ===========================================================================
159
+ SECAO 300-399: LAYOUT E CONTAINERS
160
+ =========================================================================== */
161
+
162
+ .page-layout {
163
+ min-height: 100vh;
164
+ display: flex;
165
+ flex-direction: column;
166
+ }
167
+
168
+ .page-content {
169
+ flex: 1;
170
+ padding: var(--space-6);
171
+ }
172
+
173
+ .container {
174
+ width: 100%;
175
+ max-width: 1280px;
176
+ margin: 0 auto;
177
+ padding: 0 var(--space-4);
178
+ }
179
+
180
+
181
+ /* ===========================================================================
182
+ SECAO 400-499: COMPONENTES BASE
183
+ =========================================================================== */
184
+
185
+ /* Botoes */
186
+ .btn-primary { /* ... */ }
187
+ .btn-secondary { /* ... */ }
188
+
189
+ /* Cards */
190
+ .card { /* ... */ }
191
+ .card-premium { /* ... */ }
192
+
193
+ /* Inputs */
194
+ .input { /* ... */ }
195
+
196
+
197
+ /* ===========================================================================
198
+ SECAO 500-599: COMPONENTES COMPOSTOS
199
+ =========================================================================== */
200
+
201
+ /* Forms */
202
+ .form-group { /* ... */ }
203
+ .form-label { /* ... */ }
204
+
205
+ /* Tables */
206
+ .data-table { /* ... */ }
207
+
208
+
209
+ /* ===========================================================================
210
+ SECAO 600-699: NAVEGACAO
211
+ =========================================================================== */
212
+
213
+ .page-header-nav { /* ... */ }
214
+ .page-footer { /* ... */ }
215
+ .sidebar { /* ... */ }
216
+
217
+
218
+ /* ===========================================================================
219
+ SECAO 700-799: PAGINAS ESPECIFICAS
220
+ =========================================================================== */
221
+
222
+ /* Home */
223
+ .home-hero { /* ... */ }
224
+ .home-features { /* ... */ }
225
+
226
+ /* Checkout */
227
+ .checkout-form { /* ... */ }
228
+ .checkout-summary { /* ... */ }
229
+
230
+
231
+ /* ===========================================================================
232
+ SECAO 800-849: MODAIS E OVERLAYS
233
+ =========================================================================== */
234
+
235
+ .modal-overlay {
236
+ position: fixed;
237
+ inset: 0;
238
+ background: rgba(0, 0, 0, 0.5);
239
+ backdrop-filter: blur(4px);
240
+ z-index: var(--z-modal-backdrop);
241
+ }
242
+
243
+ .modal-container {
244
+ position: fixed;
245
+ top: 50%;
246
+ left: 50%;
247
+ transform: translate(-50%, -50%);
248
+ z-index: var(--z-modal);
249
+ }
250
+
251
+
252
+ /* ===========================================================================
253
+ SECAO 850-899: ANIMACOES E KEYFRAMES
254
+ =========================================================================== */
255
+
256
+ @keyframes slideInUp {
257
+ from {
258
+ opacity: 0;
259
+ transform: translateY(20px);
260
+ }
261
+ to {
262
+ opacity: 1;
263
+ transform: translateY(0);
264
+ }
265
+ }
266
+
267
+ @keyframes scaleIn {
268
+ from {
269
+ opacity: 0;
270
+ transform: scale(0.95);
271
+ }
272
+ to {
273
+ opacity: 1;
274
+ transform: scale(1);
275
+ }
276
+ }
277
+
278
+ .animate-slideInUp {
279
+ animation: slideInUp var(--transition-normal) forwards;
280
+ }
281
+
282
+ .animate-scaleIn {
283
+ animation: scaleIn var(--transition-fast) forwards;
284
+ }
285
+
286
+ /* Stagger delays para animacoes em sequencia */
287
+ .stagger-1 { animation-delay: 0.1s; }
288
+ .stagger-2 { animation-delay: 0.2s; }
289
+ .stagger-3 { animation-delay: 0.3s; }
290
+ .stagger-4 { animation-delay: 0.4s; }
291
+ .stagger-5 { animation-delay: 0.5s; }
292
+
293
+
294
+ /* ===========================================================================
295
+ SECAO 900-949: RESPONSIVO E MEDIA QUERIES
296
+ =========================================================================== */
297
+
298
+ @media (max-width: 768px) {
299
+ /* Tablet e Mobile */
300
+ }
301
+
302
+ @media (max-width: 480px) {
303
+ /* Mobile */
304
+ }
305
+
306
+
307
+ /* ===========================================================================
308
+ SECAO 950-979: UTILITIES E HELPERS
309
+ =========================================================================== */
310
+
311
+ .sr-only {
312
+ position: absolute;
313
+ width: 1px;
314
+ height: 1px;
315
+ padding: 0;
316
+ margin: -1px;
317
+ overflow: hidden;
318
+ clip: rect(0, 0, 0, 0);
319
+ white-space: nowrap;
320
+ border: 0;
321
+ }
322
+
323
+
324
+ /* ===========================================================================
325
+ SECAO 980-989: OVERRIDES DE FLUENT UI / MUDBLAZOR
326
+ =========================================================================== */
327
+
328
+ /* Fluent UI overrides */
329
+ .fluent-card {
330
+ /* Customizacoes */
331
+ }
332
+
333
+
334
+ /* ===========================================================================
335
+ SECAO 990-999: HOTFIXES E TEMPORARIOS
336
+ =========================================================================== */
337
+
338
+ /* TODO: Remover apos fix no componente X */
339
+ ```
340
+
341
+ ## Uso
342
+
343
+ 1. Copie o header para o inicio do seu `design-system.css`
344
+ 2. Substitua `{PROJECT_NAME}` pelo nome do seu projeto
345
+ 3. Adicione suas classes CSS nas secoes apropriadas
346
+ 4. Mantenha o indice atualizado conforme adiciona novas secoes
347
+
348
+ ## Beneficios
349
+
350
+ - **Navegacao rapida:** Use Ctrl+G (go to line) para pular para secoes
351
+ - **Organizacao clara:** Cada tipo de componente em sua secao
352
+ - **Facil manutencao:** Encontre onde adicionar novos estilos
353
+ - **Evita conflitos:** Prefixos por pagina previnem colisoes
354
+
355
+ ---
356
+
357
+ *Template MORPH-SPEC v2.2.0 by Polymorphism Tech*
@@ -0,0 +1,90 @@
1
+ # Spec Template Reference
2
+
3
+ > **Layer:** 3 | **Load:** on-demand | **Keywords:** spec, specification, template
4
+
5
+ **Use the stack's `.morph/templates/spec.md` as the canonical template.**
6
+
7
+ This file contains extended examples for each spec section.
8
+
9
+ ---
10
+
11
+ ## Example: Entity (Pseudo-code)
12
+
13
+ ```csharp
14
+ class ProcessingJob {
15
+ Guid Id
16
+ string OriginalPhotoUrl // Azure Blob URL, max 500 chars
17
+ string? ProcessedPhotoUrl // Nullable, populated after processing
18
+ ProcessingStatus Status // Enum: Pending, Processing, Completed, Failed
19
+ DateTime CreatedAt
20
+ ICollection<ExecutionLog> Logs // 1:N relationship
21
+ }
22
+
23
+ enum ProcessingStatus {
24
+ Pending = 0, Processing = 1, Completed = 2, // Normal flow
25
+ Failed = 100 // Error states (high values)
26
+ }
27
+ ```
28
+
29
+ ## Example: Command (Pseudo-code)
30
+
31
+ ```csharp
32
+ UploadPhotoCommand {
33
+ Input: IFormFile photo, string? email
34
+ Output: Guid jobId
35
+
36
+ Handler:
37
+ 1. Validate file (size <= 10MB, type in [.jpg, .png])
38
+ 2. Upload to Azure Blob Storage
39
+ 3. Create ProcessingJob entity (status = Pending)
40
+ 4. Enqueue Hangfire background job
41
+ 5. Return jobId
42
+ }
43
+ ```
44
+
45
+ ## Example: API Endpoints
46
+
47
+ ```csharp
48
+ PhotoProcessingController {
49
+ POST /api/upload → multipart/form-data → { jobId: Guid }
50
+ GET /api/status/{id} → jobId → { status, progress, createdAt }
51
+ GET /api/download/{id} → jobId → Redirect to Blob URL or 404
52
+ }
53
+ ```
54
+
55
+ ## Example: Flow
56
+
57
+ ```
58
+ Upload Flow (Actor: User)
59
+ 1. User selects photo → System validates (size, type) → If invalid: show error
60
+ 2. User sees preview → clicks "Upload"
61
+ 3. System creates ProcessingJob → uploads to Blob → enqueues Hangfire job → returns jobId
62
+ 4. System navigates to /processing/{jobId} → polls every 5s
63
+ End State: User on progress page, job processing in background
64
+ ```
65
+
66
+ ## Example: ADR
67
+
68
+ ### ADR-001: Use Hangfire for Background Jobs
69
+ **Status:** Accepted
70
+ **Context:** Need background processing for AI photo transformation (30-120s).
71
+ **Decision:** Hangfire (self-hosted).
72
+ **Alternatives:**
73
+ 1. Azure Functions — serverless, auto-scaling, but cold start + $10/mo for 50k jobs
74
+ 2. Hangfire — zero cost, simpler, but scales with app
75
+ 3. Quartz.NET — more features, but steeper learning curve
76
+ **Trade-offs:** Simplicity vs Features (Hangfire sufficient for MVP)
77
+
78
+ ## Example: Cost Estimate
79
+
80
+ | Resource | SKU | Monthly | Justification |
81
+ |----------|-----|---------|---------------|
82
+ | Blob Storage | LRS | $0.02 | Store photos, low redundancy OK |
83
+ | Azure SQL | Basic | $4.99 | < 100k jobs/month |
84
+ | Container App | Consumption | $0.49 | Scale to zero |
85
+ | Hangfire | Self-hosted | $0.00 | In-process |
86
+ | **Total** | | **~$5.50** | |
87
+
88
+ ---
89
+
90
+ *MORPH-SPEC by Polymorphism Tech*