@polymorphism-tech/morph-spec 7.7.3 → 7.8.1

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 (187) hide show
  1. package/README.md +2 -2
  2. package/bin/validate.js +379 -379
  3. package/claude-plugin.json +1 -1
  4. package/docs/CHEATSHEET.md +1 -1
  5. package/docs/QUICKSTART.md +1 -1
  6. package/framework/CLAUDE.md +1 -1
  7. package/framework/MORPH.md +3 -2
  8. package/framework/agents.json +1 -1
  9. package/framework/commands/commit.md +166 -166
  10. package/framework/commands/morph-infra.md +215 -215
  11. package/framework/commands/morph-preflight.md +205 -205
  12. package/framework/commands/morph-troubleshoot.md +124 -124
  13. package/framework/evals/scenarios/dotnet-crud.yaml +1 -1
  14. package/framework/hooks/claude-code/statusline.py +679 -679
  15. package/framework/hooks/claude-code/statusline.sh +11 -11
  16. package/framework/hooks/git/commit-msg/conventional-commits.sh +33 -33
  17. package/framework/hooks/git/pre-commit/agents.sh +25 -25
  18. package/framework/hooks/git/pre-commit/orchestrator.sh +64 -64
  19. package/framework/hooks/git/pre-commit/specs.sh +50 -50
  20. package/framework/hooks/git/pre-push/run-tests.sh +44 -44
  21. package/framework/hooks/shared/activity-logger.js +160 -160
  22. package/framework/hooks/shared/hook-response.js +45 -45
  23. package/framework/hooks/shared/payload-utils.js +78 -78
  24. package/framework/hooks/shared/stdin-reader.js +26 -26
  25. package/framework/rubrics/backend.json +41 -41
  26. package/framework/rules/ai-agents-standards.md +45 -45
  27. package/framework/rules/dotnet-templates.md +86 -87
  28. package/framework/rules/frontend-standards.md +13 -13
  29. package/framework/rules/infrastructure-standards.md +27 -27
  30. package/framework/rules/neon-standards.md +25 -25
  31. package/framework/rules/nextjs-standards.md +20 -20
  32. package/framework/rules/nextjs-templates.md +40 -40
  33. package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
  34. package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
  35. package/framework/skills/core/morph-apply/SKILL.md +1 -1
  36. package/framework/skills/core/morph-brainstorming/SKILL.md +9 -5
  37. package/framework/skills/core/morph-eval/SKILL.md +1 -1
  38. package/framework/skills/core/morph-implement/SKILL.md +1 -1
  39. package/framework/skills/core/morph-plan/SKILL.md +11 -6
  40. package/framework/skills/core/morph-proposal/SKILL.md +1 -1
  41. package/framework/skills/core/morph-review/SKILL.md +13 -7
  42. package/framework/skills/core/morph-stack-scan/SKILL.md +5 -5
  43. package/framework/skills/core/morph-standards/SKILL.md +1 -1
  44. package/framework/standards/STANDARDS.json +1 -1
  45. package/framework/standards/ai-agents/agent-session.md +160 -160
  46. package/framework/standards/ai-agents/batching.md +193 -193
  47. package/framework/standards/ai-agents/context-providers.md +188 -188
  48. package/framework/standards/ai-agents/mcp-server.md +250 -250
  49. package/framework/standards/ai-agents/mcp-tools.md +197 -197
  50. package/framework/standards/ai-agents/middleware-patterns.md +207 -207
  51. package/framework/standards/ai-agents/modalities-image-gen.md +173 -173
  52. package/framework/standards/ai-agents/modalities-speech-to-text.md +171 -171
  53. package/framework/standards/ai-agents/modalities-text-to-speech.md +181 -181
  54. package/framework/standards/ai-agents/modalities-vision.md +201 -201
  55. package/framework/standards/ai-agents/multi-agent-patterns.md +155 -155
  56. package/framework/standards/ai-agents/production.md +275 -275
  57. package/framework/standards/ai-agents/prompts-in-db.md +214 -214
  58. package/framework/standards/ai-agents/providers/model-registry.md +158 -158
  59. package/framework/standards/ai-agents/service-tier-flex.md +135 -135
  60. package/framework/standards/ai-agents/structured-output.md +249 -249
  61. package/framework/standards/ai-agents/sweet-spot.md +109 -109
  62. package/framework/standards/architecture/vertical-slice/vertical-slice.md +34 -35
  63. package/framework/standards/backend/api/validation.md +2 -2
  64. package/framework/standards/backend/dotnet/scrutor.md +1 -3
  65. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +42 -37
  66. package/framework/standards/data/nosql/cache/redis.md +2 -2
  67. package/framework/templates/CLAUDE.md.core.template +1 -1
  68. package/framework/templates/IDE-SNIPPETS.md +262 -262
  69. package/framework/templates/README.md +0 -1
  70. package/framework/templates/REGISTRY.json +0 -21
  71. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
  72. package/framework/templates/code/dotnet/abstractions/handler.cs +0 -3
  73. package/framework/templates/code/dotnet/ai-agents/AgentBootstrap.cs.template +39 -39
  74. package/framework/templates/code/dotnet/ai-agents/EmbeddingService.cs.template +68 -68
  75. package/framework/templates/code/dotnet/ai-agents/ModelRegistry.cs.template +117 -117
  76. package/framework/templates/code/dotnet/ai-agents/PromptRepository.cs.template +95 -95
  77. package/framework/templates/code/dotnet/ai-agents/ResilientToolMiddleware.cs.template +61 -61
  78. package/framework/templates/code/dotnet/ai-agents/VectorSearchTool.cs.template +107 -107
  79. package/framework/templates/code/dotnet/ai-agents/model-registry.json.template +58 -58
  80. package/framework/templates/code/dotnet/constants/api-tags.cs +1 -1
  81. package/framework/templates/code/dotnet/contracts/contracts-vsa.cs +281 -282
  82. package/framework/templates/code/dotnet/database/migration.cs +83 -83
  83. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -21
  84. package/framework/templates/code/dotnet/feature/handler.cs.hbs +23 -24
  85. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
  86. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
  87. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -15
  88. package/framework/templates/code/dotnet/jobs/job.cs +15 -15
  89. package/framework/templates/code/dotnet/test.cs +72 -101
  90. package/framework/templates/code/sql/ai-agents/agent-prompts-migration.sql.template +58 -58
  91. package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
  92. package/framework/templates/code/typescript/contracts.ts +167 -167
  93. package/framework/templates/docs/clarifications.md +253 -253
  94. package/framework/templates/docs/schema-analysis.md +119 -119
  95. package/framework/templates/docs/ui-components.md +52 -52
  96. package/framework/templates/docs/ui-design-system.md +76 -76
  97. package/framework/templates/docs/ui-flows.md +167 -167
  98. package/framework/templates/docs/ui-mockups.md +98 -98
  99. package/framework/templates/feature/decisions.md +122 -122
  100. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -43
  101. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
  102. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -32
  103. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
  104. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -22
  105. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
  106. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -54
  107. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
  108. package/framework/templates/infrastructure/docker/docker-compose.template.yml +50 -50
  109. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
  110. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
  111. package/framework/templates/infrastructure/github/README.md +56 -56
  112. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
  113. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
  114. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
  115. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
  116. package/framework/templates/integrations/asaas-client.cs +387 -387
  117. package/framework/templates/integrations/asaas-webhook.cs +351 -351
  118. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
  119. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
  120. package/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +113 -113
  121. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -95
  122. package/framework/templates/project/validate.js +120 -120
  123. package/framework/templates/state.template.json +17 -17
  124. package/framework/templates/ui/design-system.css +226 -226
  125. package/package.json +1 -1
  126. package/src/commands/dashboard/dashboard.js +53 -53
  127. package/src/commands/index.js +13 -13
  128. package/src/commands/mcp/mcp-setup.js +519 -519
  129. package/src/commands/project/checkpoint.js +209 -209
  130. package/src/commands/project/update.js +7 -4
  131. package/src/core/state/phase-state-machine.js +197 -197
  132. package/src/core/templates/template-renderer.js +477 -477
  133. package/src/dashboard/app/components/DetailPanel.jsx +11 -11
  134. package/src/dashboard/app/components/FlowGraph.jsx +17 -17
  135. package/src/dashboard/app/components/SearchFilter.jsx +22 -22
  136. package/src/dashboard/app/hooks/useDetailPanel.js +15 -15
  137. package/src/dashboard/app/main.jsx +13 -13
  138. package/src/dashboard/app/pages/AgentMap.jsx +370 -370
  139. package/src/dashboard/app/pages/HookInspector.jsx +418 -418
  140. package/src/dashboard/app/pages/LiveState.jsx +239 -239
  141. package/src/dashboard/app/pages/PhasePipeline.jsx +408 -408
  142. package/src/dashboard/app/pages/RulesMap.jsx +273 -273
  143. package/src/dashboard/app/pages/SkillsLibrary.jsx +366 -366
  144. package/src/dashboard/app/pages/Standards.jsx +332 -332
  145. package/src/dashboard/app/styles/index.css +47 -47
  146. package/src/dashboard/index.html +12 -12
  147. package/src/dashboard/package.json +24 -24
  148. package/src/dashboard/scanner/hooks-scanner.js +41 -41
  149. package/src/dashboard/scanner/phases-scanner.js +15 -15
  150. package/src/dashboard/scanner/rubrics-scanner.js +12 -12
  151. package/src/dashboard/scanner/rules-scanner.js +37 -37
  152. package/src/dashboard/scanner/skills-scanner.js +43 -43
  153. package/src/dashboard/scanner/squads-scanner.js +13 -13
  154. package/src/dashboard/scanner/standards-scanner.js +26 -26
  155. package/src/dashboard/vite-plugin-morph-data.js +17 -17
  156. package/src/dashboard/vite.config.js +24 -24
  157. package/src/lib/agents/metrics-aggregator.js +56 -56
  158. package/src/lib/agents/metrics-calculator.js +125 -125
  159. package/src/lib/agents/output-collector.js +73 -73
  160. package/src/lib/detectors/claude-config-detector.js +152 -152
  161. package/src/lib/detectors/design-system-detector.js +231 -231
  162. package/src/lib/detectors/index.js +217 -217
  163. package/src/lib/generators/architecture-scanner.js +639 -639
  164. package/src/lib/generators/design-system-generator.js +508 -508
  165. package/src/lib/generators/index.js +13 -13
  166. package/src/lib/generators/settings-generator.js +209 -209
  167. package/src/lib/hooks/hook-executor.js +167 -167
  168. package/src/lib/installers/mcp-installer.js +719 -719
  169. package/src/lib/tasks/task-classifier.js +30 -30
  170. package/src/lib/tasks/task-parser.js +209 -209
  171. package/src/lib/tasks/test-runner.js +81 -81
  172. package/src/lib/validators/architecture/architecture-validator.js +259 -259
  173. package/src/lib/validators/checkpoint-persistence.js +39 -39
  174. package/src/lib/validators/contracts/contract-compliance-validator.js +274 -274
  175. package/src/lib/validators/css/css-validator.js +340 -340
  176. package/src/lib/validators/packages/package-validator.js +347 -347
  177. package/src/lib/validators/shared/emit-validator-dispatch.js +14 -14
  178. package/src/lib/validators/shared/issue-counter.js +14 -14
  179. package/src/lib/validators/validation-runner.js +349 -349
  180. package/src/scripts/setup-infra.js +383 -383
  181. package/src/utils/agent-id-mapper.js +11 -11
  182. package/src/utils/banner.js +52 -43
  183. package/src/utils/claude-settings-manager.js +300 -300
  184. package/src/utils/skills-installer.js +172 -172
  185. package/framework/templates/.idea/morph-templates.xml +0 -92
  186. package/framework/templates/.vscode/morph-templates.code-snippets +0 -186
  187. package/framework/templates/code/dotnet/backend/repository.cs +0 -141
@@ -1,41 +1,41 @@
1
- {
2
- "id": "backend",
3
- "version": "1.1.0",
4
- "description": "Backend-focused rubric. Higher weight on architecture, security, and package health. Deterministic-validator rubric — approve threshold aligned to the single bar 9 from MORPH.md §0.",
5
- "categories": {
6
- "functionality": {
7
- "weight": 0.25,
8
- "validators": ["contract-compliance"],
9
- "description": "Core feature correctness and contract compliance"
10
- },
11
- "code_quality": {
12
- "weight": 0.25,
13
- "validators": ["architecture"],
14
- "description": "Architecture patterns, dependency direction, and code structure"
15
- },
16
- "design_ui": {
17
- "weight": 0.05,
18
- "validators": ["design-system", "css", "contrast", "nextjs-component"],
19
- "description": "Design system compliance (minimal weight for backend projects)"
20
- },
21
- "security": {
22
- "weight": 0.15,
23
- "validators": [],
24
- "description": "Security posture (agent-evaluated, no automated validator)"
25
- },
26
- "packages": {
27
- "weight": 0.20,
28
- "validators": ["packages"],
29
- "description": "Dependency health, version compatibility, and deprecated packages"
30
- },
31
- "maf_compliance": {
32
- "weight": 0.10,
33
- "validators": [],
34
- "description": "MAF agent compliance (agent-evaluated, applies only when the feature touches AI agents): Microsoft.Agents.AI GA packages used; Model Registry alias referenced not hardcoded models; structured output for pipelined agents; prompts from DB not hardcoded; no Semantic Kernel; no hosted agent services."
35
- }
36
- },
37
- "thresholds": {
38
- "approve": 9.0,
39
- "retry": 6.0
40
- }
41
- }
1
+ {
2
+ "id": "backend",
3
+ "version": "1.1.0",
4
+ "description": "Backend-focused rubric. Higher weight on architecture, security, and package health. Deterministic-validator rubric — approve threshold aligned to the single bar 9 from MORPH.md §0.",
5
+ "categories": {
6
+ "functionality": {
7
+ "weight": 0.25,
8
+ "validators": ["contract-compliance"],
9
+ "description": "Core feature correctness and contract compliance"
10
+ },
11
+ "code_quality": {
12
+ "weight": 0.25,
13
+ "validators": ["architecture"],
14
+ "description": "Architecture patterns, dependency direction, and code structure"
15
+ },
16
+ "design_ui": {
17
+ "weight": 0.05,
18
+ "validators": ["design-system", "css", "contrast", "nextjs-component"],
19
+ "description": "Design system compliance (minimal weight for backend projects)"
20
+ },
21
+ "security": {
22
+ "weight": 0.15,
23
+ "validators": [],
24
+ "description": "Security posture (agent-evaluated, no automated validator)"
25
+ },
26
+ "packages": {
27
+ "weight": 0.20,
28
+ "validators": ["packages"],
29
+ "description": "Dependency health, version compatibility, and deprecated packages"
30
+ },
31
+ "maf_compliance": {
32
+ "weight": 0.10,
33
+ "validators": [],
34
+ "description": "MAF agent compliance (agent-evaluated, applies only when the feature touches AI agents): Microsoft.Agents.AI GA packages used; Model Registry alias referenced not hardcoded models; structured output for pipelined agents; prompts from DB not hardcoded; no Semantic Kernel; no hosted agent services."
35
+ }
36
+ },
37
+ "thresholds": {
38
+ "approve": 9.0,
39
+ "retry": 6.0
40
+ }
41
+ }
@@ -1,45 +1,45 @@
1
- ---
2
- paths:
3
- - "**/Agents/**"
4
- - "**/agents/**"
5
- - "**/*Agent*.cs"
6
- stacks:
7
- - dotnet
8
- ---
9
-
10
- # Microsoft Agent Framework Standards
11
-
12
- > **Layer 0/1 — auto-carregados.** São os standards core: aplicam-se a praticamente todo
13
- > agente MAF. Carregue-os sempre que tocar código de agentes.
14
-
15
- @.morph/framework/standards/ai-agents/setup.md
16
- @.morph/framework/standards/ai-agents/sweet-spot.md
17
- @.morph/framework/standards/ai-agents/providers/model-registry.md
18
- @.morph/framework/standards/ai-agents/structured-output.md
19
- @.morph/framework/standards/ai-agents/multi-agent-patterns.md
20
- @.morph/framework/standards/ai-agents/prompts-in-db.md
21
- @.morph/framework/standards/ai-agents/rag-custom-pgvector.md
22
- @.morph/framework/standards/ai-agents/middleware-patterns.md
23
- @.morph/framework/standards/ai-agents/workflows.md
24
- @.morph/framework/standards/ai-agents/production.md
25
-
26
- ---
27
-
28
- > **Layer 2 — sob demanda (NÃO auto-carregados).** São standards de modalidade, otimização e
29
- > MCP: relevantes apenas quando a feature usa especificamente esse recurso. Carregue via
30
- > `morph-standards` quando uma keyword corresponder — manter fora do auto-load preserva o
31
- > context window para o trabalho que importa.
32
-
33
- | Standard | Carregue quando a feature envolve |
34
- |----------|-----------------------------------|
35
- | `ai-agents/modalities-vision.md` | imagem → texto (OCR, análise de documento, visão) |
36
- | `ai-agents/modalities-image-gen.md` | texto → imagem (geração de mockups, posts, assets) |
37
- | `ai-agents/modalities-speech-to-text.md` | áudio → texto (transcrição, legendagem) |
38
- | `ai-agents/modalities-text-to-speech.md` | texto → áudio (síntese de voz) |
39
- | `ai-agents/batching.md` | processar N prompts independentes em lote (Batch API) |
40
- | `ai-agents/service-tier-flex.md` | otimização de custo em jobs assíncronos (tier flex) |
41
- | `ai-agents/agent-session.md` | agentes conversacionais com histórico/reducers |
42
- | `ai-agents/context-providers.md` | injeção dinâmica de contexto (`AIContextProvider`) |
43
- | `ai-agents/mcp-tools.md` | agente MAF consome um MCP server externo |
44
- | `ai-agents/mcp-server.md` | projeto expõe capacidades como MCP server |
45
- | `integration/mcp/mcp-tools.md` | integração MCP cross-domain (fora do escopo MAF) |
1
+ ---
2
+ paths:
3
+ - "**/Agents/**"
4
+ - "**/agents/**"
5
+ - "**/*Agent*.cs"
6
+ stacks:
7
+ - dotnet
8
+ ---
9
+
10
+ # Microsoft Agent Framework Standards
11
+
12
+ > **Layer 0/1 — auto-carregados.** São os standards core: aplicam-se a praticamente todo
13
+ > agente MAF. Carregue-os sempre que tocar código de agentes.
14
+
15
+ @.morph/framework/standards/ai-agents/setup.md
16
+ @.morph/framework/standards/ai-agents/sweet-spot.md
17
+ @.morph/framework/standards/ai-agents/providers/model-registry.md
18
+ @.morph/framework/standards/ai-agents/structured-output.md
19
+ @.morph/framework/standards/ai-agents/multi-agent-patterns.md
20
+ @.morph/framework/standards/ai-agents/prompts-in-db.md
21
+ @.morph/framework/standards/ai-agents/rag-custom-pgvector.md
22
+ @.morph/framework/standards/ai-agents/middleware-patterns.md
23
+ @.morph/framework/standards/ai-agents/workflows.md
24
+ @.morph/framework/standards/ai-agents/production.md
25
+
26
+ ---
27
+
28
+ > **Layer 2 — sob demanda (NÃO auto-carregados).** São standards de modalidade, otimização e
29
+ > MCP: relevantes apenas quando a feature usa especificamente esse recurso. Carregue via
30
+ > `morph-standards` quando uma keyword corresponder — manter fora do auto-load preserva o
31
+ > context window para o trabalho que importa.
32
+
33
+ | Standard | Carregue quando a feature envolve |
34
+ |----------|-----------------------------------|
35
+ | `ai-agents/modalities-vision.md` | imagem → texto (OCR, análise de documento, visão) |
36
+ | `ai-agents/modalities-image-gen.md` | texto → imagem (geração de mockups, posts, assets) |
37
+ | `ai-agents/modalities-speech-to-text.md` | áudio → texto (transcrição, legendagem) |
38
+ | `ai-agents/modalities-text-to-speech.md` | texto → áudio (síntese de voz) |
39
+ | `ai-agents/batching.md` | processar N prompts independentes em lote (Batch API) |
40
+ | `ai-agents/service-tier-flex.md` | otimização de custo em jobs assíncronos (tier flex) |
41
+ | `ai-agents/agent-session.md` | agentes conversacionais com histórico/reducers |
42
+ | `ai-agents/context-providers.md` | injeção dinâmica de contexto (`AIContextProvider`) |
43
+ | `ai-agents/mcp-tools.md` | agente MAF consome um MCP server externo |
44
+ | `ai-agents/mcp-server.md` | projeto expõe capacidades como MCP server |
45
+ | `integration/mcp/mcp-tools.md` | integração MCP cross-domain (fora do escopo MAF) |
@@ -1,87 +1,86 @@
1
- ---
2
- paths:
3
- - "**/*.cs"
4
- - "**/*.csproj"
5
- stacks:
6
- - dotnet
7
- ---
8
-
9
- # .NET Code Templates
10
-
11
- When implementing .NET features, use these templates as reference patterns.
12
- Read the template file to see the exact pattern, then generate code following it.
13
-
14
- ## Scaffold (preferred for new slices)
15
-
16
- **Always use scaffold for new VSA slices — never create feature files manually.**
17
-
18
- ```bash
19
- morph-spec scaffold dotnet <feature> <slice-name> [--namespace <ns>] [--dry-run]
20
- ```
21
-
22
- Examples:
23
- ```bash
24
- morph-spec scaffold dotnet book create-book
25
- morph-spec scaffold dotnet book get-book-by-id
26
- morph-spec scaffold dotnet book update-book
27
- morph-spec scaffold dotnet book delete-book
28
- morph-spec scaffold dotnet book get-all-books
29
- ```
30
-
31
- Generates 7 files: endpoint, handler, request, response, validator + entity, errors (shared at feature level). Entity/errors auto-skipped if they already exist.
32
-
33
- **Only use `template render` for individual files when adding to an existing slice.**
34
-
35
- ## VSA Feature Templates (Vertical Slice Architecture)
36
-
37
- For each new feature slice, follow the patterns in these templates:
38
-
39
- | Template | Path | Purpose |
40
- |----------|------|---------|
41
- | Endpoint | `.morph/framework/templates/code/dotnet/feature/endpoint.cs.hbs` | IApiEndpoint with MapEndpoint() |
42
- | Handler | `.morph/framework/templates/code/dotnet/feature/handler.cs.hbs` | IHandler<TRequest, TResponse> |
43
- | Request | `.morph/framework/templates/code/dotnet/feature/request.cs.hbs` | Sealed record DTO |
44
- | Response | `.morph/framework/templates/code/dotnet/feature/response.cs.hbs` | Sealed record DTO |
45
- | Validator | `.morph/framework/templates/code/dotnet/feature/validator.cs.hbs` | FluentValidation AbstractValidator |
46
- | Entity | `.morph/framework/templates/code/dotnet/feature/entity.cs.hbs` | Domain entity |
47
- | Errors | `.morph/framework/templates/code/dotnet/feature/errors.cs.hbs` | Error factory |
48
-
49
- ## Base Abstractions (read once per project setup)
50
-
51
- | Template | Path | Purpose |
52
- |----------|------|---------|
53
- | IHandler | `.morph/framework/templates/code/dotnet/abstractions/handler.cs` | Handler interface |
54
- | Result<T> | `.morph/framework/templates/code/dotnet/abstractions/result.cs` | Railway-oriented result |
55
- | Error | `.morph/framework/templates/code/dotnet/abstractions/error.cs` | Error types |
56
- | IApiEndpoint | `.morph/framework/templates/code/dotnet/abstractions/api-endpoint.cs` | Endpoint interface |
57
-
58
- ## Extensions & Pipeline (read once per project setup)
59
-
60
- | Template | Path | Purpose |
61
- |----------|------|---------|
62
- | Handler Registration | `.morph/framework/templates/code/dotnet/extensions/handler-registration.cs` | Scrutor auto-discovery |
63
- | Map Endpoints | `.morph/framework/templates/code/dotnet/extensions/map-endpoints.cs` | IApiEndpoint discovery |
64
- | Result Extensions | `.morph/framework/templates/code/dotnet/extensions/result-extensions.cs` | Match() pattern |
65
- | Database Config | `.morph/framework/templates/code/dotnet/extensions/database-extensions.cs` | EF Core + Npgsql |
66
- | Health Checks | `.morph/framework/templates/code/dotnet/extensions/health-checks.cs` | Health endpoints |
67
- | Validation Decorator | `.morph/framework/templates/code/dotnet/pipelines/validation-decorator.cs` | FluentValidation pipeline |
68
- | Logging Decorator | `.morph/framework/templates/code/dotnet/pipelines/logging-decorator.cs` | Duration tracking |
69
- | Exception Handler | `.morph/framework/templates/code/dotnet/exceptions/exception-handler.cs` | ProblemDetails |
70
- | API Tags | `.morph/framework/templates/code/dotnet/constants/api-tags.cs` | Scalar/Swagger groups |
71
-
72
- ## Specialized Templates
73
-
74
- | Template | Path | Purpose |
75
- |----------|------|---------|
76
- | Repository | `.morph/framework/templates/code/dotnet/backend/repository.cs` | EF Core repository |
77
- | Migration | `.morph/framework/templates/code/dotnet/database/migration.cs` | EF Core migration |
78
- | Hangfire Job | `.morph/framework/templates/code/dotnet/jobs/job.cs` | Background job |
79
- | MAF Agent | `.morph/framework/templates/code/dotnet/jobs/agent.cs` | MS Agent Framework |
80
- | Unit Test | `.morph/framework/templates/code/dotnet/test.cs` | xUnit AAA test |
81
- | Contracts VSA | `.morph/framework/templates/code/dotnet/contracts/contracts-vsa.cs` | Full slice contracts |
82
-
83
- ## Usage
84
-
85
- 1. **Read the template** to see the exact pattern
86
- 2. **Generate code following the same structure** (naming, namespaces, imports)
87
- 3. Or render via CLI: `morph-spec template render <id> <output> '<variables>'`
1
+ ---
2
+ paths:
3
+ - "**/*.cs"
4
+ - "**/*.csproj"
5
+ stacks:
6
+ - dotnet
7
+ ---
8
+
9
+ # .NET Code Templates
10
+
11
+ When implementing .NET features, use these templates as reference patterns.
12
+ Read the template file to see the exact pattern, then generate code following it.
13
+
14
+ ## Scaffold (preferred for new slices)
15
+
16
+ **Always use scaffold for new VSA slices — never create feature files manually.**
17
+
18
+ ```bash
19
+ morph-spec scaffold dotnet <feature> <slice-name> [--namespace <ns>] [--dry-run]
20
+ ```
21
+
22
+ Examples:
23
+ ```bash
24
+ morph-spec scaffold dotnet book create-book
25
+ morph-spec scaffold dotnet book get-book-by-id
26
+ morph-spec scaffold dotnet book update-book
27
+ morph-spec scaffold dotnet book delete-book
28
+ morph-spec scaffold dotnet book get-all-books
29
+ ```
30
+
31
+ Generates 7 files: endpoint, handler, request, response, validator + entity, errors (shared at feature level). Entity/errors auto-skipped if they already exist.
32
+
33
+ **Only use `template render` for individual files when adding to an existing slice.**
34
+
35
+ ## VSA Feature Templates (Vertical Slice Architecture)
36
+
37
+ For each new feature slice, follow the patterns in these templates:
38
+
39
+ | Template | Path | Purpose |
40
+ |----------|------|---------|
41
+ | Endpoint | `.morph/framework/templates/code/dotnet/feature/endpoint.cs.hbs` | IApiEndpoint with MapEndpoint() |
42
+ | Handler | `.morph/framework/templates/code/dotnet/feature/handler.cs.hbs` | IHandler<TRequest, TResponse> |
43
+ | Request | `.morph/framework/templates/code/dotnet/feature/request.cs.hbs` | Sealed record DTO |
44
+ | Response | `.morph/framework/templates/code/dotnet/feature/response.cs.hbs` | Sealed record DTO |
45
+ | Validator | `.morph/framework/templates/code/dotnet/feature/validator.cs.hbs` | FluentValidation AbstractValidator |
46
+ | Entity | `.morph/framework/templates/code/dotnet/feature/entity.cs.hbs` | Domain entity |
47
+ | Errors | `.morph/framework/templates/code/dotnet/feature/errors.cs.hbs` | Error factory |
48
+
49
+ ## Base Abstractions (read once per project setup)
50
+
51
+ | Template | Path | Purpose |
52
+ |----------|------|---------|
53
+ | IHandler | `.morph/framework/templates/code/dotnet/abstractions/handler.cs` | Handler interface |
54
+ | Result<T> | `.morph/framework/templates/code/dotnet/abstractions/result.cs` | Railway-oriented result |
55
+ | Error | `.morph/framework/templates/code/dotnet/abstractions/error.cs` | Error types |
56
+ | IApiEndpoint | `.morph/framework/templates/code/dotnet/abstractions/api-endpoint.cs` | Endpoint interface |
57
+
58
+ ## Extensions & Pipeline (read once per project setup)
59
+
60
+ | Template | Path | Purpose |
61
+ |----------|------|---------|
62
+ | Handler Registration | `.morph/framework/templates/code/dotnet/extensions/handler-registration.cs` | Scrutor auto-discovery |
63
+ | Map Endpoints | `.morph/framework/templates/code/dotnet/extensions/map-endpoints.cs` | IApiEndpoint discovery |
64
+ | Result Extensions | `.morph/framework/templates/code/dotnet/extensions/result-extensions.cs` | Match() pattern |
65
+ | Database Config | `.morph/framework/templates/code/dotnet/extensions/database-extensions.cs` | EF Core + Npgsql |
66
+ | Health Checks | `.morph/framework/templates/code/dotnet/extensions/health-checks.cs` | Health endpoints |
67
+ | Validation Decorator | `.morph/framework/templates/code/dotnet/pipelines/validation-decorator.cs` | FluentValidation pipeline |
68
+ | Logging Decorator | `.morph/framework/templates/code/dotnet/pipelines/logging-decorator.cs` | Duration tracking |
69
+ | Exception Handler | `.morph/framework/templates/code/dotnet/exceptions/exception-handler.cs` | ProblemDetails |
70
+ | API Tags | `.morph/framework/templates/code/dotnet/constants/api-tags.cs` | Scalar/Swagger groups |
71
+
72
+ ## Specialized Templates
73
+
74
+ | Template | Path | Purpose |
75
+ |----------|------|---------|
76
+ | Migration | `.morph/framework/templates/code/dotnet/database/migration.cs` | EF Core migration |
77
+ | Hangfire Job | `.morph/framework/templates/code/dotnet/jobs/job.cs` | Background job |
78
+ | MAF Agent | `.morph/framework/templates/code/dotnet/jobs/agent.cs` | MS Agent Framework |
79
+ | Unit Test | `.morph/framework/templates/code/dotnet/test.cs` | xUnit AAA test |
80
+ | Contracts VSA | `.morph/framework/templates/code/dotnet/contracts/contracts-vsa.cs` | Full slice contracts |
81
+
82
+ ## Usage
83
+
84
+ 1. **Read the template** to see the exact pattern
85
+ 2. **Generate code following the same structure** (naming, namespaces, imports)
86
+ 3. Or render via CLI: `morph-spec template render <id> <output> '<variables>'`
@@ -1,13 +1,13 @@
1
- ---
2
- paths:
3
- - "**/*.tsx"
4
- - "**/*.css"
5
- - "**/*.scss"
6
- stacks:
7
- - nextjs
8
- ---
9
-
10
- # Frontend Standards
11
-
12
- @.morph/framework/standards/frontend/design-system/naming.md
13
- @.morph/framework/standards/frontend/design-system/animations.md
1
+ ---
2
+ paths:
3
+ - "**/*.tsx"
4
+ - "**/*.css"
5
+ - "**/*.scss"
6
+ stacks:
7
+ - nextjs
8
+ ---
9
+
10
+ # Frontend Standards
11
+
12
+ @.morph/framework/standards/frontend/design-system/naming.md
13
+ @.morph/framework/standards/frontend/design-system/animations.md
@@ -1,27 +1,27 @@
1
- ---
2
- paths:
3
- - "**/Dockerfile*"
4
- - "**/docker-compose*"
5
- - "**/.github/**"
6
- - "**/coolify*"
7
- stacks:
8
- - docker
9
- ---
10
-
11
- # Infrastructure Standards
12
-
13
- @.morph/framework/standards/infrastructure/docker/coolify-deploy.md
14
-
15
- ## Infrastructure Templates
16
-
17
- | Template | Path | Purpose |
18
- |----------|------|---------|
19
- | .NET API Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile` | Multi-stage .NET |
20
- | Next.js Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile` | Multi-stage Next.js |
21
- | Docker Compose | `.morph/framework/templates/infrastructure/docker/docker-compose.template.yml` | Local dev env |
22
- | Coolify Config | `.morph/framework/templates/infrastructure/docker/coolify.template.json` | Deployment config |
23
- | .NET Build CI | `.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs` | CI workflow |
24
- | Docker Push CI | `.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs` | Build & push |
25
- | Deploy Coolify | `.morph/framework/templates/infrastructure/github/workflows/deploy-coolify.yml.hbs` | CD via SSH |
26
-
27
- Read the template and adapt to your project structure.
1
+ ---
2
+ paths:
3
+ - "**/Dockerfile*"
4
+ - "**/docker-compose*"
5
+ - "**/.github/**"
6
+ - "**/coolify*"
7
+ stacks:
8
+ - docker
9
+ ---
10
+
11
+ # Infrastructure Standards
12
+
13
+ @.morph/framework/standards/infrastructure/docker/coolify-deploy.md
14
+
15
+ ## Infrastructure Templates
16
+
17
+ | Template | Path | Purpose |
18
+ |----------|------|---------|
19
+ | .NET API Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile` | Multi-stage .NET |
20
+ | Next.js Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile` | Multi-stage Next.js |
21
+ | Docker Compose | `.morph/framework/templates/infrastructure/docker/docker-compose.template.yml` | Local dev env |
22
+ | Coolify Config | `.morph/framework/templates/infrastructure/docker/coolify.template.json` | Deployment config |
23
+ | .NET Build CI | `.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs` | CI workflow |
24
+ | Docker Push CI | `.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs` | Build & push |
25
+ | Deploy Coolify | `.morph/framework/templates/infrastructure/github/workflows/deploy-coolify.yml.hbs` | CD via SSH |
26
+
27
+ Read the template and adapt to your project structure.
@@ -1,25 +1,25 @@
1
- ---
2
- paths:
3
- - "**/neon/**"
4
- - "**/database/**"
5
- - "**/*Migration*.sql"
6
- - "**/*migration*.sql"
7
- stacks:
8
- - neon
9
- ---
10
-
11
- # Neon PostgreSQL Standards
12
-
13
- @.morph/framework/standards/infrastructure/neon/neon-setup.md
14
- @.morph/framework/standards/infrastructure/neon/neon-pgvector.md
15
- @.morph/framework/standards/infrastructure/neon/neon-pgrag.md
16
- @.morph/framework/standards/backend/integrations/neon-auth/neon-auth.md
17
-
18
- ## SQL Templates
19
-
20
- | Template | Path | Purpose |
21
- |----------|------|---------|
22
- | PostgreSQL Migration | `.morph/framework/templates/code/sql/postgresql-migration.sql` | Database migration |
23
- | PostgreSQL RLS Policy | `.morph/framework/templates/code/sql/postgresql-rls-policy.sql` | Row-level security |
24
-
25
- Read the template and adapt to your project structure.
1
+ ---
2
+ paths:
3
+ - "**/neon/**"
4
+ - "**/database/**"
5
+ - "**/*Migration*.sql"
6
+ - "**/*migration*.sql"
7
+ stacks:
8
+ - neon
9
+ ---
10
+
11
+ # Neon PostgreSQL Standards
12
+
13
+ @.morph/framework/standards/infrastructure/neon/neon-setup.md
14
+ @.morph/framework/standards/infrastructure/neon/neon-pgvector.md
15
+ @.morph/framework/standards/infrastructure/neon/neon-pgrag.md
16
+ @.morph/framework/standards/backend/integrations/neon-auth/neon-auth.md
17
+
18
+ ## SQL Templates
19
+
20
+ | Template | Path | Purpose |
21
+ |----------|------|---------|
22
+ | PostgreSQL Migration | `.morph/framework/templates/code/sql/postgresql-migration.sql` | Database migration |
23
+ | PostgreSQL RLS Policy | `.morph/framework/templates/code/sql/postgresql-rls-policy.sql` | Row-level security |
24
+
25
+ Read the template and adapt to your project structure.
@@ -1,20 +1,20 @@
1
- ---
2
- paths:
3
- - "**/*.tsx"
4
- - "**/*.ts"
5
- stacks:
6
- - nextjs
7
- ---
8
-
9
- # Next.js Standards
10
-
11
- @.morph/framework/standards/frontend/nextjs/naming-conventions.md
12
- @.morph/framework/standards/frontend/nextjs/project-structure.md
13
- @.morph/framework/standards/frontend/nextjs/app-router.md
14
- @.morph/framework/standards/frontend/nextjs/components.md
15
- @.morph/framework/standards/frontend/nextjs/data-fetching.md
16
- @.morph/framework/standards/frontend/nextjs/forms.md
17
- @.morph/framework/standards/frontend/nextjs/state-management.md
18
- @.morph/framework/standards/frontend/nextjs/testing.md
19
- @.morph/framework/standards/frontend/nextjs/nextjs-patterns.md
20
- @.morph/framework/standards/frontend/nextjs/motion-patterns.md
1
+ ---
2
+ paths:
3
+ - "**/*.tsx"
4
+ - "**/*.ts"
5
+ stacks:
6
+ - nextjs
7
+ ---
8
+
9
+ # Next.js Standards
10
+
11
+ @.morph/framework/standards/frontend/nextjs/naming-conventions.md
12
+ @.morph/framework/standards/frontend/nextjs/project-structure.md
13
+ @.morph/framework/standards/frontend/nextjs/app-router.md
14
+ @.morph/framework/standards/frontend/nextjs/components.md
15
+ @.morph/framework/standards/frontend/nextjs/data-fetching.md
16
+ @.morph/framework/standards/frontend/nextjs/forms.md
17
+ @.morph/framework/standards/frontend/nextjs/state-management.md
18
+ @.morph/framework/standards/frontend/nextjs/testing.md
19
+ @.morph/framework/standards/frontend/nextjs/nextjs-patterns.md
20
+ @.morph/framework/standards/frontend/nextjs/motion-patterns.md
@@ -1,40 +1,40 @@
1
- ---
2
- paths:
3
- - "**/*.tsx"
4
- - "**/*.ts"
5
- stacks:
6
- - nextjs
7
- ---
8
-
9
- # Next.js Code Templates
10
-
11
- When implementing Next.js features, use these templates as reference patterns.
12
- Read the template file to see the exact pattern, then generate code following it.
13
-
14
- ## Scaffold (preferred for new features)
15
-
16
- **Always use scaffold for new feature pages — never create feature files manually.**
17
-
18
- ```bash
19
- morph-spec scaffold nextjs <feature> [--dry-run]
20
- ```
21
-
22
- Examples:
23
- ```bash
24
- morph-spec scaffold nextjs book
25
- morph-spec scaffold nextjs user-profile
26
- ```
27
-
28
- Generates 4 files: page (Server Component), list component, form component, TanStack Query hook.
29
-
30
- **Only use `template render` for individual files when modifying an existing feature.**
31
-
32
- | Template | Path | Purpose |
33
- |----------|------|---------|
34
- | Server Page | `.morph/framework/templates/frontend/nextjs/page.tsx.hbs` | App Router server component |
35
- | Client Component | `.morph/framework/templates/frontend/nextjs/client-component.tsx.hbs` | `'use client'` component |
36
- | Feature Form | `.morph/framework/templates/frontend/nextjs/feature-form.tsx.hbs` | react-hook-form + Zod + shadcn |
37
- | Custom Hook | `.morph/framework/templates/frontend/nextjs/use-feature.ts.hbs` | TanStack Query hook |
38
- | Env Config | `.morph/framework/templates/frontend/nextjs/env.mjs.hbs` | T3 Env validation |
39
- | TypeScript Config | `.morph/framework/templates/frontend/nextjs/tsconfig.json.hbs` | Path aliases |
40
- | Dockerfile | `.morph/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs` | Multi-stage build |
1
+ ---
2
+ paths:
3
+ - "**/*.tsx"
4
+ - "**/*.ts"
5
+ stacks:
6
+ - nextjs
7
+ ---
8
+
9
+ # Next.js Code Templates
10
+
11
+ When implementing Next.js features, use these templates as reference patterns.
12
+ Read the template file to see the exact pattern, then generate code following it.
13
+
14
+ ## Scaffold (preferred for new features)
15
+
16
+ **Always use scaffold for new feature pages — never create feature files manually.**
17
+
18
+ ```bash
19
+ morph-spec scaffold nextjs <feature> [--dry-run]
20
+ ```
21
+
22
+ Examples:
23
+ ```bash
24
+ morph-spec scaffold nextjs book
25
+ morph-spec scaffold nextjs user-profile
26
+ ```
27
+
28
+ Generates 4 files: page (Server Component), list component, form component, TanStack Query hook.
29
+
30
+ **Only use `template render` for individual files when modifying an existing feature.**
31
+
32
+ | Template | Path | Purpose |
33
+ |----------|------|---------|
34
+ | Server Page | `.morph/framework/templates/frontend/nextjs/page.tsx.hbs` | App Router server component |
35
+ | Client Component | `.morph/framework/templates/frontend/nextjs/client-component.tsx.hbs` | `'use client'` component |
36
+ | Feature Form | `.morph/framework/templates/frontend/nextjs/feature-form.tsx.hbs` | react-hook-form + Zod + shadcn |
37
+ | Custom Hook | `.morph/framework/templates/frontend/nextjs/use-feature.ts.hbs` | TanStack Query hook |
38
+ | Env Config | `.morph/framework/templates/frontend/nextjs/env.mjs.hbs` | T3 Env validation |
39
+ | TypeScript Config | `.morph/framework/templates/frontend/nextjs/tsconfig.json.hbs` | Path aliases |
40
+ | Dockerfile | `.morph/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs` | Multi-stage build |
@@ -4,7 +4,7 @@ description: Guia a criação de uma landing page nova ponta-a-ponta a partir do
4
4
  version: core
5
5
  when-to-invoke: ao iniciar um novo projeto de LP com o template Umbraco genérico
6
6
  user-invokable: true
7
- cliVersion: "7.7.3"
7
+ cliVersion: "7.8.1"
8
8
  ---
9
9
 
10
10
  # create-umbraco-lp
@@ -4,7 +4,7 @@ description: Migra uma landing page existente (React/Vite, Next.js estático ou
4
4
  version: core
5
5
  when-to-invoke: ao receber instrução "use /migrate-lp-to-umbraco {projeto}" do usuário, ou quando o usuário descrever necessidade de migrar uma LP para Umbraco
6
6
  user-invokable: true
7
- cliVersion: "7.7.3"
7
+ cliVersion: "7.8.1"
8
8
  ---
9
9
 
10
10
  # migrate-lp-to-umbraco
@@ -4,7 +4,7 @@ description: Orquestra a execução autônoma de tasks de uma feature morph-spec
4
4
  version: core
5
5
  when-to-invoke: após Gate 2 aprovado, ao receber instrução "use /morph-apply" ou "implementar feature"
6
6
  user-invokable: true
7
- cliVersion: "7.7.3"
7
+ cliVersion: "7.8.0"
8
8
  ---
9
9
 
10
10
  # morph-apply