@polymorphism-tech/morph-spec 4.5.0 → 4.7.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 (292) hide show
  1. package/CLAUDE.md +77 -56
  2. package/README.md +394 -700
  3. package/docs/ARCHITECTURE.md +331 -0
  4. package/docs/CHEATSHEET.md +221 -0
  5. package/docs/COMMAND-FLOWS.md +368 -0
  6. package/docs/QUICKSTART.md +212 -0
  7. package/docs/examples/order-management/contracts.cs +84 -0
  8. package/docs/examples/order-management/proposal.md +24 -0
  9. package/docs/examples/order-management/spec.md +162 -0
  10. package/docs/plans/2026-02-23-ddd-architecture-refactor.md +1153 -0
  11. package/docs/plans/2026-02-23-ddd-nextsteps.md +682 -0
  12. package/docs/plans/2026-02-23-infra-architect-refactor.md +437 -0
  13. package/docs/plans/2026-02-23-nextjs-code-review-design.md +156 -0
  14. package/docs/plans/2026-02-23-nextjs-code-review-impl.md +1254 -0
  15. package/docs/plans/2026-02-23-nextjs-standards-design.md +149 -0
  16. package/docs/plans/2026-02-23-nextjs-standards-impl.md +1846 -0
  17. package/framework/{skills/level-2-domains → agents}/README.md +14 -14
  18. package/framework/{skills/level-2-domains → agents}/ai-agents/ai-system-architect.md +1 -4
  19. package/framework/{skills/level-2-domains → agents}/architecture/po-pm-advisor.md +1 -2
  20. package/framework/{skills/level-2-domains → agents}/architecture/prompt-engineer.md +1 -2
  21. package/framework/{skills/level-2-domains → agents}/architecture/seo-growth-hacker.md +1 -2
  22. package/framework/{skills/level-2-domains → agents}/architecture/standards-architect.md +159 -162
  23. package/framework/agents/backend/api-designer.md +103 -0
  24. package/framework/{skills/level-2-domains → agents}/backend/dotnet-senior.md +1 -2
  25. package/framework/agents/backend/ef-modeler.md +119 -0
  26. package/framework/{skills/level-2-domains → agents}/backend/hangfire-orchestrator.md +1 -4
  27. package/framework/{skills/level-2-domains → agents}/backend/ms-agent-expert.md +1 -4
  28. package/framework/{skills/level-2-domains → agents}/frontend/blazor-builder.md +1 -4
  29. package/framework/agents/frontend/nextjs-expert.md +118 -0
  30. package/framework/{skills/level-2-domains → agents}/frontend/ui-ux-designer.md +1 -2
  31. package/framework/{skills/level-2-domains → agents}/infrastructure/azure-architect.md +147 -148
  32. package/framework/{skills/level-2-domains → agents}/infrastructure/azure-deploy-specialist.md +1 -2
  33. package/framework/{skills/level-2-domains → agents}/infrastructure/bicep-architect.md +1 -4
  34. package/framework/{skills/level-2-domains → agents}/infrastructure/container-specialist.md +1 -4
  35. package/framework/{skills/level-2-domains → agents}/infrastructure/devops-engineer.md +1 -4
  36. package/framework/agents/infrastructure/infra-architect.md +45 -0
  37. package/framework/{skills/level-2-domains → agents}/integrations/asaas-financial.md +1 -4
  38. package/framework/{skills/level-2-domains → agents}/integrations/azure-identity.md +1 -4
  39. package/framework/{skills/level-2-domains → agents}/integrations/clerk-auth.md +1 -4
  40. package/framework/{skills/level-2-domains → agents}/integrations/hangfire-integration.md +1 -2
  41. package/framework/{skills/level-2-domains → agents}/integrations/resend-email.md +1 -4
  42. package/framework/{skills/level-2-domains → agents}/quality/code-analyzer.md +1 -4
  43. package/framework/{skills/level-2-domains → agents}/quality/testing-specialist.md +1 -4
  44. package/framework/agents.json +1145 -278
  45. package/framework/hooks/claude-code/statusline.py +384 -85
  46. package/framework/hooks/shared/phase-utils.js +129 -129
  47. package/framework/rules/frontend-standards.md +0 -3
  48. package/framework/rules/nextjs-standards.md +17 -0
  49. package/framework/skills/README.md +66 -0
  50. package/framework/skills/level-0-meta/{brainstorming.md → brainstorming/SKILL.md} +3 -1
  51. package/framework/skills/level-0-meta/brainstorming/references/proposal-example.md +138 -0
  52. package/framework/skills/level-0-meta/{code-review.md → code-review/SKILL.md} +3 -2
  53. package/framework/skills/level-0-meta/code-review/references/review-example.md +164 -0
  54. package/framework/skills/level-0-meta/code-review/scripts/scan-csharp.mjs +121 -0
  55. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +147 -0
  56. package/framework/skills/level-0-meta/code-review-nextjs/references/review-example-nextjs.md +254 -0
  57. package/framework/skills/level-0-meta/{morph-checklist.md → morph-checklist/SKILL.md} +2 -5
  58. package/framework/skills/{level-1-workflows/morph-replicate.md → level-0-meta/morph-replicate/SKILL.md} +6 -7
  59. package/framework/skills/level-0-meta/{simulation-checklist.md → simulation-checklist/SKILL.md} +3 -6
  60. package/framework/skills/level-0-meta/{tool-usage-guide.md → tool-usage-guide/SKILL.md} +4 -5
  61. package/framework/skills/level-0-meta/{verification-before-completion.md → verification-before-completion/SKILL.md} +3 -1
  62. package/framework/skills/level-0-meta/verification-before-completion/scripts/check-phase-outputs.mjs +110 -0
  63. package/framework/skills/level-1-workflows/{phase-clarify.md → phase-clarify/SKILL.md} +3 -3
  64. package/framework/skills/level-1-workflows/phase-clarify/references/clarifications-example.md +117 -0
  65. package/framework/skills/level-1-workflows/{phase-codebase-analysis.md → phase-codebase-analysis/SKILL.md} +2 -3
  66. package/framework/skills/level-1-workflows/{phase-design.md → phase-design/SKILL.md} +46 -182
  67. package/framework/skills/level-1-workflows/phase-design/references/spec-example.md +253 -0
  68. package/framework/skills/level-1-workflows/{phase-implement.md → phase-implement/SKILL.md} +3 -3
  69. package/framework/skills/level-1-workflows/phase-implement/references/recap-example.md +132 -0
  70. package/framework/skills/level-1-workflows/{phase-setup.md → phase-setup/SKILL.md} +2 -3
  71. package/framework/skills/level-1-workflows/{phase-tasks.md → phase-tasks/SKILL.md} +42 -3
  72. package/framework/skills/level-1-workflows/phase-tasks/references/tasks-example.md +231 -0
  73. package/framework/skills/level-1-workflows/phase-tasks/scripts/validate-tasks.mjs +112 -0
  74. package/framework/skills/level-1-workflows/{phase-uiux.md → phase-uiux/SKILL.md} +2 -3
  75. package/framework/standards/STANDARDS.json +121 -0
  76. package/framework/standards/architecture/ddd/bounded-contexts.md +105 -0
  77. package/framework/standards/architecture/ddd/complexity-levels.md +108 -0
  78. package/framework/standards/architecture/ddd/ubiquitous-language.md +58 -0
  79. package/framework/standards/frontend/nextjs/app-router.md +123 -0
  80. package/framework/standards/frontend/nextjs/components.md +132 -0
  81. package/framework/standards/frontend/nextjs/data-fetching.md +126 -0
  82. package/framework/standards/frontend/nextjs/forms.md +128 -0
  83. package/framework/standards/frontend/nextjs/naming-conventions.md +67 -0
  84. package/framework/standards/frontend/nextjs/project-structure.md +102 -0
  85. package/framework/standards/frontend/nextjs/state-management.md +72 -0
  86. package/framework/standards/frontend/nextjs/testing.md +111 -0
  87. package/framework/templates/REGISTRY.json +538 -142
  88. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +69 -0
  89. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +86 -0
  90. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +41 -0
  91. package/framework/templates/docs/spec.md +49 -0
  92. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -0
  93. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -0
  94. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -0
  95. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -0
  96. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -0
  97. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -0
  98. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -0
  99. package/framework/templates/project-structure/dotnet-ddd.md +70 -0
  100. package/framework/workflows/docs/enforcement-pipeline.md +2 -1
  101. package/package.json +1 -1
  102. package/scripts/scan-nextjs.mjs +169 -0
  103. package/src/commands/project/doctor.js +52 -1
  104. package/src/commands/project/init.js +19 -65
  105. package/src/commands/project/update.js +7 -63
  106. package/src/lib/detectors/claude-config-detector.js +1 -3
  107. package/src/lib/standards/standards-context-injector.js +5 -0
  108. package/src/lib/validators/nextjs/index.js +6 -0
  109. package/src/lib/validators/nextjs/next-component-validator.js +181 -0
  110. package/src/lib/validators/validation-runner.js +5 -0
  111. package/src/utils/agents-installer.js +16 -4
  112. package/src/utils/skills-installer.js +59 -15
  113. package/.morph/.morphversion +0 -5
  114. package/.morph/analytics/threads-log.jsonl +0 -44
  115. package/.morph/config/config.json +0 -8
  116. package/.morph/context/README.md +0 -17
  117. package/.morph/framework/agents.json +0 -948
  118. package/.morph/framework/standards/STANDARDS.json +0 -812
  119. package/.morph/framework/standards/ai-agents/blazor-ui.md +0 -364
  120. package/.morph/framework/standards/ai-agents/production.md +0 -415
  121. package/.morph/framework/standards/ai-agents/setup.md +0 -418
  122. package/.morph/framework/standards/ai-agents/team-orchestration.md +0 -479
  123. package/.morph/framework/standards/ai-agents/workflows.md +0 -354
  124. package/.morph/framework/standards/architecture/ddd/aggregates.md +0 -120
  125. package/.morph/framework/standards/architecture/ddd/entities.md +0 -99
  126. package/.morph/framework/standards/architecture/ddd/value-objects.md +0 -124
  127. package/.morph/framework/standards/backend/api/minimal-api.md +0 -494
  128. package/.morph/framework/standards/backend/api/rest.md +0 -492
  129. package/.morph/framework/standards/backend/api/validation.md +0 -88
  130. package/.morph/framework/standards/backend/authentication/passkeys.md +0 -428
  131. package/.morph/framework/standards/backend/database/ef-core.md +0 -199
  132. package/.morph/framework/standards/backend/database/migrations.md +0 -393
  133. package/.morph/framework/standards/backend/database/postgresql/database.md +0 -352
  134. package/.morph/framework/standards/backend/database/repository-patterns.md +0 -528
  135. package/.morph/framework/standards/backend/database/vector-search-rag.md +0 -541
  136. package/.morph/framework/standards/backend/dotnet/async.md +0 -366
  137. package/.morph/framework/standards/backend/dotnet/core.md +0 -117
  138. package/.morph/framework/standards/backend/dotnet/di.md +0 -439
  139. package/.morph/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  140. package/.morph/framework/standards/backend/integrations/asaas/asaas-api.md +0 -216
  141. package/.morph/framework/standards/backend/integrations/clerk/clerk-auth.md +0 -290
  142. package/.morph/framework/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -350
  143. package/.morph/framework/standards/backend/integrations/resend/resend-email.md +0 -385
  144. package/.morph/framework/standards/context/analytics.md +0 -96
  145. package/.morph/framework/standards/context/bundles.md +0 -110
  146. package/.morph/framework/standards/context/priming.md +0 -78
  147. package/.morph/framework/standards/core/architecture.md +0 -185
  148. package/.morph/framework/standards/core/coding.md +0 -214
  149. package/.morph/framework/standards/core/git-branching-strategy.md +0 -403
  150. package/.morph/framework/standards/core/git.md +0 -185
  151. package/.morph/framework/standards/core/testing.md +0 -295
  152. package/.morph/framework/standards/data/nosql/blob-storage.md +0 -102
  153. package/.morph/framework/standards/data/nosql/cache/redis.md +0 -97
  154. package/.morph/framework/standards/data/nosql/cosmos-db.md +0 -118
  155. package/.morph/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  156. package/.morph/framework/standards/data/vector-search/rag-chunking.md +0 -104
  157. package/.morph/framework/standards/frontend/blazor/design-checklist.md +0 -222
  158. package/.morph/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  159. package/.morph/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  160. package/.morph/framework/standards/frontend/blazor/html-conversion.md +0 -184
  161. package/.morph/framework/standards/frontend/blazor/lifecycle.md +0 -195
  162. package/.morph/framework/standards/frontend/blazor/pitfalls.md +0 -198
  163. package/.morph/framework/standards/frontend/blazor/state.md +0 -191
  164. package/.morph/framework/standards/frontend/design-system/animations.md +0 -151
  165. package/.morph/framework/standards/frontend/design-system/naming.md +0 -64
  166. package/.morph/framework/standards/frontend/nextjs/nextjs-patterns.md +0 -198
  167. package/.morph/framework/standards/infrastructure/azure/azure.md +0 -624
  168. package/.morph/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  169. package/.morph/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  170. package/.morph/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  171. package/.morph/framework/standards/infrastructure/azure/services/functions.md +0 -486
  172. package/.morph/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  173. package/.morph/framework/standards/infrastructure/azure/services/storage.md +0 -407
  174. package/.morph/framework/standards/infrastructure/docker/easypanel-deploy.md +0 -196
  175. package/.morph/framework/standards/infrastructure/supabase/mcp-setup.md +0 -252
  176. package/.morph/framework/standards/infrastructure/supabase/supabase-auth.md +0 -176
  177. package/.morph/framework/standards/infrastructure/supabase/supabase-pgvector.md +0 -169
  178. package/.morph/framework/standards/infrastructure/supabase/supabase-rls.md +0 -184
  179. package/.morph/framework/standards/infrastructure/supabase/supabase-storage.md +0 -153
  180. package/.morph/framework/standards/integration/api/graphql.md +0 -91
  181. package/.morph/framework/standards/integration/api/grpc.md +0 -114
  182. package/.morph/framework/standards/integration/api/rest-design.md +0 -95
  183. package/.morph/framework/standards/integration/event-driven/cqrs.md +0 -101
  184. package/.morph/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  185. package/.morph/framework/standards/integration/event-driven/service-bus.md +0 -95
  186. package/.morph/framework/standards/integration/mcp/mcp-tools.md +0 -384
  187. package/.morph/framework/standards/observability/logging.md +0 -131
  188. package/.morph/framework/standards/observability/metrics.md +0 -121
  189. package/.morph/framework/standards/observability/monitoring.md +0 -114
  190. package/.morph/framework/standards/observability/tracing.md +0 -132
  191. package/.morph/framework/standards/workflows/parallel-execution.md +0 -112
  192. package/.morph/framework/standards/workflows/thread-management.md +0 -113
  193. package/.morph/framework/templates/.idea/morph-templates.xml +0 -92
  194. package/.morph/framework/templates/.vscode/morph-templates.code-snippets +0 -186
  195. package/.morph/framework/templates/IDE-SNIPPETS.md +0 -266
  196. package/.morph/framework/templates/README.md +0 -814
  197. package/.morph/framework/templates/REGISTRY.json +0 -1492
  198. package/.morph/framework/templates/code/dotnet/backend/repository.cs +0 -141
  199. package/.morph/framework/templates/code/dotnet/backend/service.cs +0 -139
  200. package/.morph/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  201. package/.morph/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  202. package/.morph/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  203. package/.morph/framework/templates/code/dotnet/contracts/README.md +0 -74
  204. package/.morph/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  205. package/.morph/framework/templates/code/dotnet/contracts/contracts.cs +0 -217
  206. package/.morph/framework/templates/code/dotnet/contracts/contracts.cs.hbs +0 -172
  207. package/.morph/framework/templates/code/dotnet/database/migration.cs +0 -83
  208. package/.morph/framework/templates/code/dotnet/frontend/component.razor +0 -239
  209. package/.morph/framework/templates/code/dotnet/jobs/agent.cs +0 -163
  210. package/.morph/framework/templates/code/dotnet/jobs/job.cs +0 -171
  211. package/.morph/framework/templates/code/dotnet/test.cs +0 -239
  212. package/.morph/framework/templates/code/sql/rls-policy.sql +0 -57
  213. package/.morph/framework/templates/code/sql/supabase-migration.sql +0 -100
  214. package/.morph/framework/templates/code/sql/supabase-migration.template.sql +0 -113
  215. package/.morph/framework/templates/code/typescript/contracts.ts +0 -168
  216. package/.morph/framework/templates/context/CONTEXT-FEATURE.md +0 -276
  217. package/.morph/framework/templates/context/CONTEXT.md +0 -181
  218. package/.morph/framework/templates/docs/clarifications.md +0 -253
  219. package/.morph/framework/templates/docs/onboarding.md +0 -123
  220. package/.morph/framework/templates/docs/proposal.md +0 -182
  221. package/.morph/framework/templates/docs/schema-analysis.md +0 -119
  222. package/.morph/framework/templates/docs/spec.md +0 -149
  223. package/.morph/framework/templates/docs/ui-components.md +0 -124
  224. package/.morph/framework/templates/docs/ui-design-system.md +0 -76
  225. package/.morph/framework/templates/docs/ui-flows.md +0 -167
  226. package/.morph/framework/templates/docs/ui-mockups.md +0 -98
  227. package/.morph/framework/templates/examples/design-system-examples.md +0 -357
  228. package/.morph/framework/templates/examples/spec-examples.md +0 -90
  229. package/.morph/framework/templates/feature/decisions.md +0 -187
  230. package/.morph/framework/templates/feature/recap.md +0 -146
  231. package/.morph/framework/templates/feature/tasks.md +0 -199
  232. package/.morph/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  233. package/.morph/framework/templates/infrastructure/azure/README.md +0 -286
  234. package/.morph/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  235. package/.morph/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  236. package/.morph/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  237. package/.morph/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  238. package/.morph/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  239. package/.morph/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  240. package/.morph/framework/templates/infrastructure/azure/deploy.sh +0 -208
  241. package/.morph/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  242. package/.morph/framework/templates/infrastructure/azure/main.bicep +0 -189
  243. package/.morph/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  244. package/.morph/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  245. package/.morph/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  246. package/.morph/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  247. package/.morph/framework/templates/infrastructure/azure/storage.bicep +0 -106
  248. package/.morph/framework/templates/infrastructure/docker/Dockerfile.template +0 -58
  249. package/.morph/framework/templates/infrastructure/docker/docker-compose.template.yml +0 -67
  250. package/.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +0 -38
  251. package/.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +0 -48
  252. package/.morph/framework/templates/infrastructure/docker/easypanel.template.json +0 -54
  253. package/.morph/framework/templates/infrastructure/github/README.md +0 -593
  254. package/.morph/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  255. package/.morph/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +0 -45
  256. package/.morph/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +0 -27
  257. package/.morph/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  258. package/.morph/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +0 -31
  259. package/.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +0 -59
  260. package/.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +0 -39
  261. package/.morph/framework/templates/integrations/asaas-client.cs +0 -387
  262. package/.morph/framework/templates/integrations/asaas-webhook.cs +0 -351
  263. package/.morph/framework/templates/integrations/azure-identity-config.cs +0 -288
  264. package/.morph/framework/templates/integrations/clerk-config.cs +0 -258
  265. package/.morph/framework/templates/meta-prompts/fusion/fusion-agent.md +0 -76
  266. package/.morph/framework/templates/meta-prompts/fusion/fusion-aggregator.md +0 -100
  267. package/.morph/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  268. package/.morph/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  269. package/.morph/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  270. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +0 -113
  271. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +0 -80
  272. package/.morph/framework/templates/meta-prompts/squad-leaders/backend-squad.md +0 -90
  273. package/.morph/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +0 -126
  274. package/.morph/framework/templates/meta-prompts/squad-leaders/squad-leader.md +0 -43
  275. package/.morph/framework/templates/meta-prompts/validators/checkpoint-validator.md +0 -107
  276. package/.morph/framework/templates/meta-prompts/validators/pre-commit-validator.md +0 -95
  277. package/.morph/framework/templates/saas/subscription.cs +0 -347
  278. package/.morph/framework/templates/saas/tenant.cs +0 -338
  279. package/.morph/framework/templates/state.template.json +0 -17
  280. package/.morph/framework/templates/ui/FluentDesignTheme.cs +0 -149
  281. package/.morph/framework/templates/ui/MudTheme.cs +0 -281
  282. package/.morph/framework/templates/ui/design-system.css +0 -226
  283. package/.morph/logs/tool-failures.log +0 -51
  284. package/.morph/memory/pre-compact-2026-02-22T17-01-01-658Z.json +0 -16
  285. package/.morph/state.json +0 -48
  286. package/framework/skills/level-2-domains/backend/api-designer.md +0 -66
  287. package/framework/skills/level-2-domains/backend/ef-modeler.md +0 -65
  288. package/framework/skills/level-2-domains/frontend/nextjs-expert.md +0 -161
  289. package/framework/skills/level-3-technologies/README.md +0 -7
  290. package/framework/skills/level-4-patterns/README.md +0 -7
  291. package/framework/templates/code/dotnet/contracts/contracts.cs +0 -217
  292. package/framework/templates/code/dotnet/contracts/contracts.cs.hbs +0 -172
@@ -1,149 +0,0 @@
1
- using Microsoft.FluentUI.AspNetCore.Components;
2
-
3
- namespace {Namespace}.Themes;
4
-
5
- /// <summary>
6
- /// Fluent UI Design 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 FluentDesignTheme
13
- {
14
- /// <summary>
15
- /// Paleta de cores do tema
16
- /// </summary>
17
- public static DesignThemePalette GetPalette() => new()
18
- {
19
- // Cores Principais
20
- Primary = "#{hex da cor primária}", // Ex: #3b82f6
21
- Secondary = "#{hex da cor secundária}", // Ex: #6b7280
22
-
23
- // Cores de Estado
24
- Success = "#{hex}", // Ex: #10b981
25
- Error = "#{hex}", // Ex: #ef4444
26
- Warning = "#{hex}", // Ex: #f59e0b
27
- Info = "#{hex}", // Ex: #06b6d4
28
-
29
- // Neutros
30
- NeutralLight = "#{hex do gray-50}", // Ex: #f9fafb
31
- NeutralLighter = "#{hex do gray-100}", // Ex: #f3f4f6
32
- NeutralDark = "#{hex do gray-800}", // Ex: #1f2937
33
- NeutralDarker = "#{hex do gray-900}", // Ex: #111827
34
-
35
- // Background e Foreground
36
- Background = "#ffffff",
37
- Foreground = "#{hex do gray-900}", // Texto principal
38
-
39
- // Accent (geralmente = Primary)
40
- Accent = "#{hex da cor primária}",
41
- };
42
-
43
- /// <summary>
44
- /// Configuração de tipografia
45
- /// </summary>
46
- public static DesignThemeTypography GetTypography() => new()
47
- {
48
- FontFamily = "'{Font Name}', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
49
-
50
- // Tamanhos
51
- FontSizeBase = "1rem", // 16px
52
- FontSizeSmall = "0.875rem", // 14px
53
- FontSizeLarge = "1.125rem", // 18px
54
-
55
- // Weights
56
- FontWeightRegular = 400,
57
- FontWeightSemibold = 600,
58
- FontWeightBold = 700,
59
-
60
- // Line Heights
61
- LineHeightBase = 1.5,
62
- };
63
-
64
- /// <summary>
65
- /// Configuração de espaçamento e layout
66
- /// </summary>
67
- public static DesignThemeLayout GetLayout() => new()
68
- {
69
- // Espaçamento (baseado em múltiplos de {base}px - ex: 4px)
70
- SpacingBase = "0.25rem", // 4px
71
- SpacingSmall = "0.5rem", // 8px
72
- SpacingMedium = "1rem", // 16px
73
- SpacingLarge = "1.5rem", // 24px
74
-
75
- // Border Radius
76
- BorderRadiusSmall = "0.125rem", // 2px
77
- BorderRadiusMedium = "0.375rem", // 6px
78
- BorderRadiusLarge = "0.5rem", // 8px
79
-
80
- // Shadows (depende da biblioteca - ajustar conforme API)
81
- Elevation1 = "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
82
- Elevation2 = "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
83
- Elevation3 = "0 10px 15px -3px rgba(0, 0, 0, 0.1)",
84
- };
85
-
86
- /// <summary>
87
- /// Aplica o tema customizado ao FluentUI
88
- /// </summary>
89
- /// <param name="services">Service collection</param>
90
- public static void AddFluentUIWithCustomTheme(this IServiceCollection services)
91
- {
92
- services.AddFluentUIComponents(options =>
93
- {
94
- // Aplicar paleta customizada
95
- options.DesignThemePalette = GetPalette();
96
-
97
- // Outras configurações do Fluent UI
98
- // ...
99
- });
100
- }
101
- }
102
-
103
- /// <summary>
104
- /// Classe de configuração de tipografia
105
- /// (Ajustar conforme API do Fluent UI Blazor v4.x)
106
- /// </summary>
107
- public class DesignThemeTypography
108
- {
109
- public string FontFamily { get; set; } = string.Empty;
110
- public string FontSizeBase { get; set; } = string.Empty;
111
- public string FontSizeSmall { get; set; } = string.Empty;
112
- public string FontSizeLarge { get; set; } = string.Empty;
113
- public int FontWeightRegular { get; set; }
114
- public int FontWeightSemibold { get; set; }
115
- public int FontWeightBold { get; set; }
116
- public double LineHeightBase { get; set; }
117
- }
118
-
119
- /// <summary>
120
- /// Classe de configuração de layout
121
- /// (Ajustar conforme API do Fluent UI Blazor v4.x)
122
- /// </summary>
123
- public class DesignThemeLayout
124
- {
125
- public string SpacingBase { get; set; } = string.Empty;
126
- public string SpacingSmall { get; set; } = string.Empty;
127
- public string SpacingMedium { get; set; } = string.Empty;
128
- public string SpacingLarge { get; set; } = string.Empty;
129
-
130
- public string BorderRadiusSmall { get; set; } = string.Empty;
131
- public string BorderRadiusMedium { get; set; } = string.Empty;
132
- public string BorderRadiusLarge { get; set; } = string.Empty;
133
-
134
- public string Elevation1 { get; set; } = string.Empty;
135
- public string Elevation2 { get; set; } = string.Empty;
136
- public string Elevation3 { get; set; } = string.Empty;
137
- }
138
-
139
- /// <summary>
140
- /// EXEMPLO DE USO:
141
- ///
142
- /// // Program.cs
143
- /// builder.Services.AddFluentUIWithCustomTheme();
144
- ///
145
- /// // App.razor ou MainLayout.razor
146
- /// <FluentDesignTheme Mode="DesignThemeMode.Light" />
147
- ///
148
- /// // Componentes podem acessar cores via CSS variables ou propriedades do tema
149
- /// </summary>
@@ -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,226 +0,0 @@
1
- /**
2
- * Design System - {Project Name}
3
- *
4
- * CSS Variables generated from ui-design-system.md
5
- * Use estas variáveis em todo o projeto para manter consistência visual.
6
- *
7
- * Template MORPH-SPEC v2.1.1 by Polymorphism Tech
8
- */
9
-
10
- :root {
11
- /* ========================================
12
- * CORES PRINCIPAIS
13
- * ======================================== */
14
-
15
- --color-primary: #{hex da cor primária};
16
- --color-primary-hover: #{hex da cor primária mais escura};
17
- --color-primary-active: #{hex da cor primária ainda mais escura};
18
-
19
- --color-secondary: #{hex da cor secundária};
20
- --color-secondary-hover: #{hex};
21
- --color-secondary-active: #{hex};
22
-
23
- /* ========================================
24
- * CORES DE ESTADO
25
- * ======================================== */
26
-
27
- --color-success: #{hex};
28
- --color-success-bg: #{hex com transparência ou shade mais claro};
29
- --color-success-border: #{hex};
30
-
31
- --color-error: #{hex};
32
- --color-error-bg: #{hex};
33
- --color-error-border: #{hex};
34
-
35
- --color-warning: #{hex};
36
- --color-warning-bg: #{hex};
37
- --color-warning-border: #{hex};
38
-
39
- --color-info: #{hex};
40
- --color-info-bg: #{hex};
41
- --color-info-border: #{hex};
42
-
43
- /* ========================================
44
- * ESCALA DE NEUTROS (Cinzas)
45
- * ======================================== */
46
-
47
- --color-gray-50: #{hex};
48
- --color-gray-100: #{hex};
49
- --color-gray-200: #{hex};
50
- --color-gray-300: #{hex};
51
- --color-gray-400: #{hex};
52
- --color-gray-500: #{hex};
53
- --color-gray-600: #{hex};
54
- --color-gray-700: #{hex};
55
- --color-gray-800: #{hex};
56
- --color-gray-900: #{hex};
57
-
58
- /* ========================================
59
- * TIPOGRAFIA - FONTES
60
- * ======================================== */
61
-
62
- --font-sans: '{Font Name}', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
63
- --font-serif: '{Font Name}', Georgia, 'Times New Roman', serif;
64
- --font-mono: '{Font Name}', 'Fira Code', 'Courier New', Consolas, monospace;
65
-
66
- /* ========================================
67
- * TIPOGRAFIA - TAMANHOS
68
- * ======================================== */
69
-
70
- --text-xs: 0.75rem; /* 12px */
71
- --text-sm: 0.875rem; /* 14px */
72
- --text-base: 1rem; /* 16px */
73
- --text-lg: 1.125rem; /* 18px */
74
- --text-xl: 1.25rem; /* 20px */
75
- --text-2xl: 1.5rem; /* 24px */
76
- --text-3xl: 1.875rem; /* 30px */
77
- --text-4xl: 2.25rem; /* 36px */
78
- --text-5xl: 3rem; /* 48px */
79
-
80
- /* ========================================
81
- * TIPOGRAFIA - LINE HEIGHTS
82
- * ======================================== */
83
-
84
- --leading-none: 1;
85
- --leading-tight: 1.25;
86
- --leading-snug: 1.375;
87
- --leading-normal: 1.5;
88
- --leading-relaxed: 1.625;
89
- --leading-loose: 2;
90
-
91
- /* ========================================
92
- * TIPOGRAFIA - FONT WEIGHTS
93
- * ======================================== */
94
-
95
- --font-light: 300;
96
- --font-regular: 400;
97
- --font-medium: 500;
98
- --font-semibold: 600;
99
- --font-bold: 700;
100
- --font-extrabold: 800;
101
-
102
- /* ========================================
103
- * ESPAÇAMENTO
104
- * Baseado em múltiplos de {base}px (ex: 4px)
105
- * ======================================== */
106
-
107
- --space-0: 0;
108
- --space-1: 0.25rem; /* 4px */
109
- --space-2: 0.5rem; /* 8px */
110
- --space-3: 0.75rem; /* 12px */
111
- --space-4: 1rem; /* 16px */
112
- --space-5: 1.25rem; /* 20px */
113
- --space-6: 1.5rem; /* 24px */
114
- --space-7: 1.75rem; /* 28px */
115
- --space-8: 2rem; /* 32px */
116
- --space-10: 2.5rem; /* 40px */
117
- --space-12: 3rem; /* 48px */
118
- --space-16: 4rem; /* 64px */
119
- --space-20: 5rem; /* 80px */
120
- --space-24: 6rem; /* 96px */
121
-
122
- /* ========================================
123
- * BORDER RADIUS
124
- * ======================================== */
125
-
126
- --rounded-none: 0;
127
- --rounded-sm: 0.125rem; /* 2px */
128
- --rounded-md: 0.375rem; /* 6px */
129
- --rounded-lg: 0.5rem; /* 8px */
130
- --rounded-xl: 0.75rem; /* 12px */
131
- --rounded-2xl: 1rem; /* 16px */
132
- --rounded-full: 9999px;
133
-
134
- /* ========================================
135
- * SOMBRAS (Shadows)
136
- * ======================================== */
137
-
138
- --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
139
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
140
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
141
- --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
142
- --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
143
-
144
- /* ========================================
145
- * Z-INDEX LAYERS
146
- * ======================================== */
147
-
148
- --z-0: 0;
149
- --z-10: 10;
150
- --z-20: 20;
151
- --z-30: 30;
152
- --z-40: 40;
153
- --z-50: 50; /* Modals, dropdowns */
154
- --z-100: 100; /* Tooltips */
155
- --z-max: 9999; /* Toasts, notifications */
156
-
157
- /* ========================================
158
- * TRANSITIONS / ANIMATIONS
159
- * ======================================== */
160
-
161
- --transition-fast: 150ms ease-in-out;
162
- --transition-base: 250ms ease-in-out;
163
- --transition-slow: 350ms ease-in-out;
164
-
165
- --ease-in: cubic-bezier(0.4, 0, 1, 1);
166
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
167
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
168
-
169
- /* ========================================
170
- * BREAKPOINTS (informativo - usar em media queries)
171
- * ======================================== */
172
-
173
- /* @media (min-width: 640px) - sm */
174
- /* @media (min-width: 768px) - md */
175
- /* @media (min-width: 1024px) - lg */
176
- /* @media (min-width: 1280px) - xl */
177
- /* @media (min-width: 1536px) - 2xl */
178
- }
179
-
180
- /* ========================================
181
- * MODO ESCURO (Dark Mode)
182
- * Opcional - ajuste as cores para dark theme
183
- * ======================================== */
184
-
185
- @media (prefers-color-scheme: dark) {
186
- :root {
187
- /* Inverter cores conforme necessário */
188
- --color-gray-50: #{hex do gray-900};
189
- --color-gray-900: #{hex do gray-50};
190
- /* ... outras inversões */
191
- }
192
- }
193
-
194
- /* ========================================
195
- * CLASSES UTILITÁRIAS (Exemplo)
196
- * ======================================== */
197
-
198
- /* Exemplo de uso das variáveis */
199
- .btn-primary {
200
- background-color: var(--color-primary);
201
- color: white;
202
- padding: var(--space-2) var(--space-4);
203
- border-radius: var(--rounded-md);
204
- font-weight: var(--font-semibold);
205
- transition: background-color var(--transition-base);
206
- }
207
-
208
- .btn-primary:hover {
209
- background-color: var(--color-primary-hover);
210
- }
211
-
212
- .card {
213
- background-color: white;
214
- padding: var(--space-6);
215
- border-radius: var(--rounded-lg);
216
- box-shadow: var(--shadow-md);
217
- }
218
-
219
- .text-muted {
220
- color: var(--color-gray-600);
221
- font-size: var(--text-sm);
222
- }
223
-
224
- /* ========================================
225
- * FIM DO DESIGN SYSTEM
226
- * ======================================== */