@polymorphism-tech/morph-spec 2.2.0 → 2.4.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 (251) hide show
  1. package/CLAUDE.md +314 -1673
  2. package/LICENSE +72 -72
  3. package/README.md +515 -516
  4. package/bin/detect-agents.js +225 -225
  5. package/bin/morph-spec.js +358 -173
  6. package/bin/render-template.js +302 -302
  7. package/bin/semantic-detect-agents.js +246 -246
  8. package/bin/task-manager.js +429 -0
  9. package/bin/validate-agents-skills.js +251 -251
  10. package/bin/validate-agents.js +69 -69
  11. package/bin/validate-phase.js +263 -263
  12. package/bin/validate.js +369 -0
  13. package/content/.azure/README.md +293 -293
  14. package/content/.azure/docs/azure-devops-setup.md +454 -454
  15. package/content/.azure/docs/branch-strategy.md +398 -398
  16. package/content/.azure/docs/local-development.md +515 -515
  17. package/content/.azure/pipelines/pipeline-variables.yml +34 -34
  18. package/content/.azure/pipelines/prod-pipeline.yml +319 -319
  19. package/content/.azure/pipelines/staging-pipeline.yml +234 -234
  20. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
  21. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
  22. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
  23. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
  24. package/content/.claude/commands/morph-apply.md +221 -158
  25. package/content/.claude/commands/morph-archive.md +79 -79
  26. package/content/.claude/commands/morph-infra.md +209 -209
  27. package/content/.claude/commands/morph-preflight.md +227 -0
  28. package/content/.claude/commands/morph-proposal.md +122 -101
  29. package/content/.claude/commands/morph-status.md +86 -86
  30. package/content/.claude/commands/morph-troubleshoot.md +122 -0
  31. package/content/.claude/settings.local.json +15 -15
  32. package/content/.claude/skills/checklists/code-review.md +226 -0
  33. package/content/.claude/skills/checklists/morph-checklist.md +117 -0
  34. package/content/.claude/skills/checklists/simulation-checklist.md +77 -0
  35. package/content/.claude/skills/infra/bicep-architect.md +126 -419
  36. package/content/.claude/skills/infra/container-specialist.md +131 -437
  37. package/content/.claude/skills/infra/devops-engineer.md +119 -405
  38. package/content/.claude/skills/integrations/asaas-financial.md +130 -333
  39. package/content/.claude/skills/integrations/azure-identity.md +142 -309
  40. package/content/.claude/skills/integrations/clerk-auth.md +108 -290
  41. package/content/.claude/skills/integrations/resend-email.md +119 -0
  42. package/content/.claude/skills/specialists/ai-system-architect.md +192 -604
  43. package/content/.claude/skills/specialists/azure-architect.md +142 -142
  44. package/content/.claude/skills/specialists/code-analyzer.md +235 -0
  45. package/content/.claude/skills/specialists/dotnet-senior.md +287 -0
  46. package/content/.claude/skills/specialists/ef-modeler.md +113 -200
  47. package/content/.claude/skills/specialists/hangfire-orchestrator.md +126 -245
  48. package/content/.claude/skills/specialists/ms-agent-expert.md +109 -263
  49. package/content/.claude/skills/specialists/po-pm-advisor.md +197 -197
  50. package/content/.claude/skills/specialists/standards-architect.md +156 -78
  51. package/content/.claude/skills/specialists/testing-specialist.md +126 -0
  52. package/content/.claude/skills/specialists/ui-ux-designer.md +191 -1060
  53. package/content/.claude/skills/stacks/dotnet-blazor.md +210 -588
  54. package/content/.claude/skills/stacks/dotnet-nextjs.md +154 -402
  55. package/content/.claude/skills/workflows/morph-replicate.md +213 -0
  56. package/content/.claude/{commands/morph-clarify.md → skills/workflows/phase-clarify.md} +5 -58
  57. package/content/.claude/{commands/morph-design.md → skills/workflows/phase-design.md} +16 -86
  58. package/content/.claude/{commands/morph-setup.md → skills/workflows/phase-setup.md} +9 -17
  59. package/content/.claude/skills/workflows/phase-tasks.md +164 -0
  60. package/content/.claude/{commands/morph-uiux.md → skills/workflows/phase-uiux.md} +15 -88
  61. package/content/.morph/.morphversion +5 -5
  62. package/content/.morph/archive/.gitkeep +25 -25
  63. package/content/.morph/config/agents.json +378 -242
  64. package/content/.morph/config/config.template.json +89 -108
  65. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
  66. package/content/.morph/docs/workflows/design-impl.md +37 -0
  67. package/content/.morph/docs/workflows/fast-track.md +29 -0
  68. package/content/.morph/docs/workflows/full-morph.md +76 -0
  69. package/content/.morph/docs/workflows/standard.md +44 -0
  70. package/content/.morph/docs/workflows/ui-refresh.md +39 -0
  71. package/content/.morph/examples/api-nextjs/README.md +241 -241
  72. package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
  73. package/content/.morph/examples/api-nextjs/spec.md +399 -399
  74. package/content/.morph/examples/api-nextjs/tasks.md +168 -168
  75. package/content/.morph/examples/micro-saas/README.md +125 -125
  76. package/content/.morph/examples/micro-saas/contracts.cs +358 -358
  77. package/content/.morph/examples/micro-saas/decisions.md +246 -246
  78. package/content/.morph/examples/micro-saas/spec.md +236 -236
  79. package/content/.morph/examples/micro-saas/tasks.md +150 -150
  80. package/content/.morph/examples/multi-agent/README.md +309 -309
  81. package/content/.morph/examples/multi-agent/contracts.cs +433 -433
  82. package/content/.morph/examples/multi-agent/spec.md +479 -479
  83. package/content/.morph/examples/multi-agent/tasks.md +185 -185
  84. package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
  85. package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
  86. package/content/.morph/examples/scheduled-reports/spec.md +267 -0
  87. package/content/.morph/examples/state-v3.json +188 -0
  88. package/content/.morph/features/.gitkeep +25 -25
  89. package/content/.morph/hooks/README.md +190 -239
  90. package/content/.morph/hooks/pre-commit-agents.sh +24 -24
  91. package/content/.morph/hooks/pre-commit-all.sh +48 -48
  92. package/content/.morph/hooks/pre-commit-specs.sh +49 -49
  93. package/content/.morph/hooks/pre-commit-tests.sh +60 -60
  94. package/content/.morph/project.md +160 -160
  95. package/content/.morph/schemas/agent.schema.json +296 -296
  96. package/content/.morph/schemas/tasks.schema.json +220 -0
  97. package/content/.morph/specs/.gitkeep +20 -20
  98. package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
  99. package/content/.morph/standards/agent-framework-production.md +410 -0
  100. package/content/.morph/standards/agent-framework-setup.md +413 -453
  101. package/content/.morph/standards/agent-framework-workflows.md +349 -0
  102. package/content/.morph/standards/architecture.md +325 -325
  103. package/content/.morph/standards/azure.md +605 -379
  104. package/content/.morph/standards/coding.md +377 -377
  105. package/content/.morph/standards/dotnet10-migration.md +520 -494
  106. package/content/.morph/standards/fluent-ui-setup.md +590 -590
  107. package/content/.morph/standards/migration-guide.md +514 -514
  108. package/content/.morph/standards/passkeys-auth.md +423 -423
  109. package/content/.morph/standards/vector-search-rag.md +536 -536
  110. package/content/.morph/state.json +17 -17
  111. package/content/.morph/templates/FluentDesignTheme.cs +149 -149
  112. package/content/.morph/templates/MudTheme.cs +281 -281
  113. package/content/.morph/templates/agent.cs +163 -172
  114. package/content/.morph/templates/clarify-questions.md +159 -0
  115. package/content/.morph/templates/component.razor +239 -239
  116. package/content/.morph/templates/contracts/Commands.cs +74 -0
  117. package/content/.morph/templates/contracts/Entities.cs +25 -0
  118. package/content/.morph/templates/contracts/Queries.cs +74 -0
  119. package/content/.morph/templates/contracts/README.md +74 -0
  120. package/content/.morph/templates/contracts.cs +217 -217
  121. package/content/.morph/templates/decisions.md +123 -106
  122. package/content/.morph/templates/design-system.css +226 -226
  123. package/content/.morph/templates/infra/.dockerignore.example +89 -89
  124. package/content/.morph/templates/infra/Dockerfile.example +82 -82
  125. package/content/.morph/templates/infra/README.md +286 -286
  126. package/content/.morph/templates/infra/app-insights.bicep +63 -63
  127. package/content/.morph/templates/infra/app-service.bicep +164 -164
  128. package/content/.morph/templates/infra/container-app-env.bicep +49 -49
  129. package/content/.morph/templates/infra/container-app.bicep +156 -156
  130. package/content/.morph/templates/infra/deploy-checklist.md +426 -0
  131. package/content/.morph/templates/infra/deploy.ps1 +229 -229
  132. package/content/.morph/templates/infra/deploy.sh +208 -208
  133. package/content/.morph/templates/infra/key-vault.bicep +91 -91
  134. package/content/.morph/templates/infra/main.bicep +189 -189
  135. package/content/.morph/templates/infra/parameters.dev.json +29 -29
  136. package/content/.morph/templates/infra/parameters.prod.json +29 -29
  137. package/content/.morph/templates/infra/parameters.staging.json +29 -29
  138. package/content/.morph/templates/infra/sql-database.bicep +103 -103
  139. package/content/.morph/templates/infra/storage.bicep +106 -106
  140. package/content/.morph/templates/integrations/asaas-client.cs +387 -387
  141. package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
  142. package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
  143. package/content/.morph/templates/integrations/clerk-config.cs +258 -258
  144. package/content/.morph/templates/job.cs +171 -171
  145. package/content/.morph/templates/migration.cs +83 -83
  146. package/content/.morph/templates/proposal.md +141 -155
  147. package/content/.morph/templates/recap.md +94 -105
  148. package/content/.morph/templates/repository.cs +141 -141
  149. package/content/.morph/templates/saas/subscription.cs +347 -347
  150. package/content/.morph/templates/saas/tenant.cs +338 -338
  151. package/content/.morph/templates/service.cs +139 -139
  152. package/content/.morph/templates/simulation.md +353 -0
  153. package/content/.morph/templates/spec.md +149 -148
  154. package/content/.morph/templates/sprint-status.yaml +68 -68
  155. package/content/.morph/templates/state.template.json +222 -222
  156. package/content/.morph/templates/story.md +143 -143
  157. package/content/.morph/templates/tasks.md +257 -235
  158. package/content/.morph/templates/test.cs +239 -239
  159. package/content/.morph/templates/ui-components.md +362 -276
  160. package/content/.morph/templates/ui-design-system.md +286 -286
  161. package/content/.morph/templates/ui-flows.md +336 -336
  162. package/content/.morph/templates/ui-mockups.md +133 -133
  163. package/content/.morph/test-infra/example.bicep +59 -59
  164. package/content/CLAUDE.md +150 -442
  165. package/content/README.md +79 -79
  166. package/detectors/config-detector.js +223 -223
  167. package/detectors/conversation-analyzer.js +163 -163
  168. package/detectors/index.js +84 -84
  169. package/detectors/standards-generator.js +275 -275
  170. package/detectors/structure-detector.js +245 -250
  171. package/docs/README.md +144 -149
  172. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
  173. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
  174. package/docs/api/scripts/collapse.js +38 -38
  175. package/docs/api/scripts/commonNav.js +28 -28
  176. package/docs/api/scripts/linenumber.js +25 -25
  177. package/docs/api/scripts/nav.js +12 -12
  178. package/docs/api/scripts/polyfill.js +3 -3
  179. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
  180. package/docs/api/scripts/prettify/lang-css.js +2 -2
  181. package/docs/api/scripts/prettify/prettify.js +28 -28
  182. package/docs/api/scripts/search.js +98 -98
  183. package/docs/api/styles/jsdoc.css +776 -776
  184. package/docs/api/styles/prettify.css +80 -80
  185. package/docs/examples.md +328 -328
  186. package/docs/getting-started.md +301 -302
  187. package/docs/installation.md +361 -361
  188. package/docs/templates.md +418 -418
  189. package/docs/validation-checklist.md +265 -266
  190. package/package.json +80 -80
  191. package/scripts/postinstall.js +132 -132
  192. package/src/commands/advance-phase.js +183 -0
  193. package/src/commands/analyze-blazor-concurrency.js +193 -0
  194. package/src/commands/create-story.js +351 -351
  195. package/src/commands/detect-agents.js +139 -0
  196. package/src/commands/detect.js +104 -104
  197. package/src/commands/doctor.js +356 -280
  198. package/src/commands/generate.js +149 -149
  199. package/src/commands/init.js +258 -245
  200. package/src/commands/lint-fluent.js +352 -0
  201. package/src/commands/rollback-phase.js +185 -0
  202. package/src/commands/session-summary.js +291 -0
  203. package/src/commands/shard-spec.js +224 -224
  204. package/src/commands/sprint-status.js +250 -250
  205. package/src/commands/state.js +333 -333
  206. package/src/commands/sync.js +167 -167
  207. package/src/commands/task.js +78 -0
  208. package/src/commands/troubleshoot.js +222 -0
  209. package/src/commands/update.js +192 -159
  210. package/src/commands/validate-blazor-state.js +210 -0
  211. package/src/commands/validate-blazor.js +156 -0
  212. package/src/commands/validate-css.js +84 -0
  213. package/src/commands/validate-phase.js +221 -0
  214. package/src/lib/blazor-concurrency-analyzer.js +288 -0
  215. package/src/lib/blazor-state-validator.js +291 -0
  216. package/src/lib/blazor-validator.js +374 -0
  217. package/src/lib/complexity-analyzer.js +441 -292
  218. package/src/lib/continuous-validator.js +421 -0
  219. package/src/lib/css-validator.js +352 -0
  220. package/src/lib/decision-constraint-loader.js +109 -0
  221. package/src/lib/design-system-generator.js +298 -298
  222. package/src/lib/learning-system.js +520 -0
  223. package/src/lib/mockup-generator.js +366 -0
  224. package/src/lib/recap-generator.js +205 -0
  225. package/src/lib/state-manager.js +397 -340
  226. package/src/lib/troubleshoot-grep.js +194 -0
  227. package/src/lib/troubleshoot-index.js +144 -0
  228. package/src/lib/ui-detector.js +350 -0
  229. package/src/lib/validation-runner.js +231 -0
  230. package/src/lib/validators/architecture-validator.js +387 -0
  231. package/src/lib/validators/contract-compliance-validator.js +273 -0
  232. package/src/lib/validators/package-validator.js +360 -0
  233. package/src/lib/validators/ui-contrast-validator.js +422 -0
  234. package/src/utils/file-copier.js +179 -139
  235. package/src/utils/logger.js +32 -32
  236. package/src/utils/version-checker.js +175 -175
  237. package/content/.claude/commands/morph-costs.md +0 -206
  238. package/content/.claude/commands/morph-tasks.md +0 -319
  239. package/content/.claude/skills/specialists/cost-guardian.md +0 -110
  240. package/content/.claude/skills/stacks/shopify.md +0 -445
  241. package/content/.morph/config/azure-pricing.json +0 -70
  242. package/content/.morph/config/azure-pricing.schema.json +0 -50
  243. package/content/.morph/hooks/pre-commit-costs.sh +0 -91
  244. package/docs/api/cost-calculator.js.html +0 -513
  245. package/docs/api/design-system-generator.js.html +0 -382
  246. package/docs/api/global.html +0 -5263
  247. package/docs/api/index.html +0 -96
  248. package/docs/api/state-manager.js.html +0 -423
  249. package/src/commands/cost.js +0 -181
  250. package/src/commands/update-pricing.js +0 -206
  251. package/src/lib/cost-calculator.js +0 -429
package/content/CLAUDE.md CHANGED
@@ -1,442 +1,150 @@
1
- # MORPH-SPEC - Instruções para Claude Code
2
-
3
- **M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
4
-
5
- > by Polymorphism Tech
6
-
7
- Você é um sistema de desenvolvimento orientado por especificações. Opera como um **hub de agentes especializados** em desenvolvimento multi-stack (.NET/Blazor, .NET/Next.js, Shopify) com Infrastructure as Code.
8
-
9
- ---
10
-
11
- ## REGRAS CRÍTICAS
12
-
13
- ### NUNCA:
14
- - Pular direto para código sem especificação
15
- - Implementar sem aprovação do design
16
- - Ignorar os padrões em `.morph/standards/`
17
- - Ultrapassar limites de custo sem aprovação
18
- - Criar recursos Azure manualmente no portal (use Bicep)
19
- - Gerar código sem contracts definidos
20
-
21
- ### SEMPRE:
22
- - Seguir as 5 fases obrigatórias
23
- - Gerar outputs em `.morph/features/{feature}/`
24
- - Validar custos antes de propor recursos Azure
25
- - Documentar decisões em `decisions.md`
26
- - Checkpoint a cada 3 tasks implementadas
27
- - Usar Infrastructure as Code (Bicep)
28
-
29
- ---
30
-
31
- ## WORKFLOW (5 Fases)
32
-
33
- ```
34
- ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
35
- │ SETUP │ ─▶ │ DESIGN │ ─▶ CLARIFY │ ─▶ │ TASKS │ ─▶ │IMPLEMENT
36
- │ │ │ │ │ │ │ │ │ │
37
- │ Context │ │ Spec + │ │ Q&A + │ │ Break │ │ Execute │
38
- │ + Agents │ │ Contracts│ │ Edge │ │ Down │ │ + Test │
39
- └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
40
- ⛔ │ ⛔
41
- User Approval │ User Approval
42
- ```
43
-
44
- ### Fase 1: SETUP
45
- ```
46
- Gatilho: Nova feature request
47
- Comando: /morph-proposal {feature-name}
48
-
49
- Ações:
50
- 1. Ler `.morph/project.md` para contexto
51
- 2. Identificar stack (Blazor, Next.js, Shopify)
52
- 3. Analisar keywords para ativar agentes
53
- 4. Criar `.morph/features/{feature}/`
54
- 5. Gerar proposal.md inicial
55
-
56
- Output: Proposta para revisão
57
- ```
58
-
59
- ### Fase 2: DESIGN
60
- ```
61
- Gatilho: Setup concluído
62
-
63
- Ações:
64
- 1. Expandir spec.md com detalhes técnicos
65
- 2. Gerar contracts.cs com interfaces/DTOs
66
- 3. Iniciar decisions.md com ADRs relevantes
67
- 4. Estimar custos e documentar
68
- 5. Definir infraestrutura necessária (Bicep)
69
-
70
- Outputs:
71
- - .morph/features/{feature}/spec.md
72
- - .morph/features/{feature}/contracts.cs
73
- - .morph/features/{feature}/decisions.md
74
-
75
- ⛔ PARE e aguarde aprovação do usuário
76
- ```
77
-
78
- ### Fase 3: CLARIFY
79
- ```
80
- Gatilho: Design aprovado
81
-
82
- Ações:
83
- 1. Identificar ambiguidades
84
- 2. Fazer perguntas de clarificação
85
- 3. Documentar respostas no spec.md
86
- 4. Validar edge cases
87
-
88
- Output: Spec atualizado com clarificações
89
- ```
90
-
91
- ### Fase 4: TASKS
92
- ```
93
- Gatilho: Clarificações resolvidas
94
-
95
- Ações:
96
- 1. Quebrar spec em tasks detalhadas
97
- 2. Definir ordem de execução
98
- 3. Estabelecer checkpoints
99
- 4. Mapear dependências
100
- 5. Incluir tasks de IaC se necessário
101
-
102
- Output: .morph/features/{feature}/tasks.md
103
-
104
- PARE e aguarde aprovação do task breakdown
105
- ```
106
-
107
- ### Fase 5: IMPLEMENT
108
- ```
109
- Gatilho: Tasks aprovadas
110
- Comando: /morph-apply {feature-name}
111
-
112
- Ações:
113
- 1. Implementar task por task
114
- 2. Atualizar status de cada task
115
- 3. Checkpoint a cada 3 tasks
116
- 4. Gerar recap.md ao final
117
-
118
- Outputs:
119
- - Código implementado
120
- - Testes criados
121
- - .morph/features/{feature}/recap.md
122
- ```
123
-
124
- ---
125
-
126
- ## ESTRUTURA DO PROJETO
127
-
128
- ```
129
- projeto/
130
- ├── CLAUDE.md # Este arquivo
131
- ├── .morph/
132
- │ ├── project.md # Contexto do projeto
133
- │ ├── config/
134
- │ │ ├── config.json # Configuração
135
- │ │ └── agents.json # Definição dos agentes
136
- │ ├── standards/
137
- │ │ ├── coding.md # Padrões de código
138
- │ │ ├── architecture.md # Padrões de arquitetura
139
- │ │ └── azure.md # Padrões Azure e IaC
140
- │ ├── templates/ # Templates para outputs
141
- │ ├── specs/ # Specs ATIVAS (verdade atual)
142
- │ ├── features/ # Features EM DESENVOLVIMENTO
143
- │ │ └── {feature-name}/
144
- │ │ ├── proposal.md
145
- │ │ ├── spec.md
146
- │ │ ├── tasks.md
147
- │ │ ├── contracts.cs
148
- │ │ ├── decisions.md
149
- │ │ └── recap.md
150
- │ └── archive/ # Features CONCLUÍDAS
151
- ├── .claude/
152
- │ ├── commands/ # Slash commands
153
- │ │ ├── morph-proposal.md
154
- │ │ ├── morph-apply.md
155
- │ │ ├── morph-status.md
156
- │ │ ├── morph-archive.md
157
- │ │ ├── morph-infra.md # (new)
158
- │ │ └── morph-costs.md # (new)
159
- │ └── skills/ # Agent skills (new)
160
- │ ├── specialists/
161
- │ ├── integrations/
162
- │ ├── stacks/
163
- │ └── infra/
164
- └── infra/ # IaC templates (new)
165
- ├── main.bicep
166
- └── modules/
167
- ```
168
-
169
- ---
170
-
171
- ## AGENTES
172
-
173
- ### Core Agents (Sempre Ativos)
174
-
175
- | Agente | Responsabilidades |
176
- |--------|-------------------|
177
- | **Standards Architect** | Padrões em `.morph/standards/`, nomenclatura, revisão |
178
- | **Azure Architect** | Infra Azure, Bicep IaC, Container Apps, SQL |
179
- | **Cost Guardian** | Validar custos, alertar recursos caros, bloquear não aprovados |
180
-
181
- ### Stack Agents (Por Stack)
182
-
183
- | Agente | Stack | Keywords |
184
- |--------|-------|----------|
185
- | **Blazor Builder** | .NET + Blazor | blazor, razor, server-side |
186
- | **NextJS Expert** | .NET + Next.js | nextjs, react, api, frontend |
187
- | **Shopify Expert** | Shopify | shopify, hydrogen, liquid |
188
-
189
- ### Specialist Agents (Sob Demanda)
190
-
191
- | Agente | Keywords de Ativação |
192
- |--------|---------------------|
193
- | **EF Modeler** | entity, database, migration, ef core |
194
- | **MS Agent Expert** | agent, ai, semantic kernel, llm |
195
- | **Hangfire Orchestrator** | scheduled, job, background, cron |
196
- | **UI/UX Designer** | wizard, dashboard, complex form, drag-drop |
197
- | **PO/PM Advisor** | unclear, requirements, priority, ROI |
198
-
199
- ### Integration Agents (Sob Demanda)
200
-
201
- | Agente | Keywords | Docs |
202
- |--------|----------|------|
203
- | **Asaas Financial** | asaas, payment, pix, boleto | [API](https://docs.asaas.com/) |
204
- | **Clerk Auth** | clerk, auth, login, signup | [SDK](https://clerk.com/) |
205
- | **Azure Identity** | identity, entra, microsoft auth | [Docs](https://learn.microsoft.com/entra/) |
206
-
207
- ### Infra Agents (Sob Demanda)
208
-
209
- | Agente | Keywords | Docs |
210
- |--------|----------|------|
211
- | **Bicep Architect** | bicep, iac, infra, provision | [Bicep](https://learn.microsoft.com/azure/azure-resource-manager/bicep/) |
212
- | **DevOps Engineer** | pipeline, ci/cd, deploy, release | [Pipelines](https://learn.microsoft.com/azure/devops/pipelines/) |
213
- | **Container Specialist** | docker, container, containerize | [Container Apps](https://learn.microsoft.com/azure/container-apps/) |
214
-
215
- ---
216
-
217
- ## LIMITES DE CUSTO
218
-
219
- | Nível | Limite | Requisito |
220
- |-------|--------|-----------|
221
- | Sem aprovação | Free tier apenas | Nenhum |
222
- | Com aprovação | Até $10/mês | Confirmação |
223
- | Acima de $10 | Justificativa detalhada | ADR |
224
-
225
- ---
226
-
227
- ## INFRASTRUCTURE AS CODE
228
-
229
- ### Princípio: Zero Portal
230
-
231
- > NUNCA criar recursos Azure manualmente. Tudo via Bicep.
232
-
233
- ### Estrutura IaC
234
-
235
- ```
236
- infra/
237
- ├── main.bicep # Entry point
238
- ├── parameters.dev.json # Params dev
239
- ├── parameters.prod.json # Params prod
240
- └── modules/
241
- ├── container-app.bicep
242
- ├── sql-database.bicep
243
- ├── storage.bicep
244
- ├── key-vault.bicep
245
- └── app-insights.bicep
246
- ```
247
-
248
- ### Quando usar SDK .NET vs Bicep
249
-
250
- | Recurso | Abordagem |
251
- |---------|-----------|
252
- | Infra estática (SQL, Storage, Container Apps) | Bicep |
253
- | Recursos dinâmicos (Fabric, Azure AI) | SDK .NET |
254
- | CI/CD | YAML + Bicep |
255
-
256
- ---
257
-
258
- ## TEMPLATES E PLACEHOLDERS
259
-
260
- ### Princípio: Templates Auto-Populáveis
261
-
262
- > SEMPRE use o CLI `bin/render-template.js` para renderizar templates. NUNCA preencha placeholders manualmente.
263
-
264
- ### Placeholders Padrão
265
-
266
- Todos os templates usam o formato `{{PLACEHOLDER}}` (duplo-chave). Os placeholders são substituídos automaticamente pelo CLI.
267
-
268
- | Placeholder | Descrição | Exemplo Input | Exemplo Output |
269
- |-------------|-----------|---------------|----------------|
270
- | `{{FEATURE_NAME}}` | Nome kebab-case da feature | `"scheduled-reports"` | `scheduled-reports` |
271
- | `{{FEATURE_NAME_PASCAL}}` | PascalCase (para C#) | `"scheduled-reports"` | `ScheduledReports` |
272
- | `{{FEATURE_NAME_CAMEL}}` | camelCase (para JS/TS) | `"scheduled-reports"` | `scheduledReports` |
273
- | `{{FEATURE_NAME_TITLE}}` | Title Case (para títulos) | `"scheduled-reports"` | `Scheduled Reports` |
274
- | `{{FEATURE_NAME_UPPER_SNAKE}}` | UPPER_SNAKE_CASE | `"scheduled-reports"` | `SCHEDULED_REPORTS` |
275
- | `{{FEATURE_NAME_LOWER_SNAKE}}` | lower_snake_case | `"scheduled-reports"` | `scheduled_reports` |
276
- | `{{STACK}}` | Stack do projeto | (auto) | `Blazor`, `Next.js` |
277
- | `{{DATE}}` | Data atual (YYYY-MM-DD) | (auto) | `2025-12-08` |
278
- | `{{YEAR}}` | Ano atual | (auto) | `2025` |
279
- | `{{AUTHOR}}` | Autor (de config.json) | (auto) | `MORPH-SPEC` |
280
- | `{{PROJECT_NAME}}` | Nome do projeto | (auto) | `MyProject` |
281
- | `{{NAMESPACE}}` | Namespace C# | (auto) | `MyProject` |
282
-
283
- **Transformações Automáticas:**
284
- - Forneça apenas `FEATURE_NAME` em kebab-case (ex: `"my-feature"`)
285
- - CLI gera automaticamente todas as variações de case
286
- - Valores auto-populados (DATE, AUTHOR, etc.) vêm de `config.json`
287
-
288
- ### CLI de Renderização
289
-
290
- #### Uso Básico
291
-
292
- ```bash
293
- node bin/render-template.js <template-path> <output-path> <variables-json>
294
- ```
295
-
296
- #### Exemplos
297
-
298
- **Renderizar proposal.md:**
299
- ```bash
300
- node bin/render-template.js \
301
- content/.morph/templates/proposal.md \
302
- .morph/project/outputs/scheduled-reports/proposal.md \
303
- '{"FEATURE_NAME":"scheduled-reports"}'
304
- ```
305
-
306
- **Renderizar contracts.cs com namespace customizado:**
307
- ```bash
308
- node bin/render-template.js \
309
- content/.morph/templates/contracts.cs \
310
- src/Application/Features/ScheduledReports/Contracts.cs \
311
- '{"FEATURE_NAME":"scheduled-report","NAMESPACE":"MyProject"}'
312
- ```
313
-
314
- **Modo verbose (mostra placeholders substituídos):**
315
- ```bash
316
- node bin/render-template.js \
317
- content/.morph/templates/spec.md \
318
- .morph/project/outputs/my-feature/spec.md \
319
- '{"FEATURE_NAME":"my-feature","STACK":"Blazor"}' \
320
- --verbose
321
- ```
322
-
323
- **Dry-run (preview sem escrever arquivo):**
324
- ```bash
325
- node bin/render-template.js \
326
- content/.morph/templates/ui-mockups.md \
327
- /dev/null \
328
- '{"FEATURE_NAME":"user-dashboard"}' \
329
- --dry-run
330
- ```
331
-
332
- #### Flags Disponíveis
333
-
334
- | Flag | Descrição |
335
- |------|-----------|
336
- | `--verbose`, `-v` | Mostra placeholders substituídos e não-substituídos |
337
- | `--dry-run`, `-d` | Preview sem escrever arquivo |
338
- | `--help`, `-h` | Mostra ajuda completa |
339
-
340
- ### Templates Disponíveis
341
-
342
- **Outputs MORPH:**
343
- - `.morph/templates/proposal.md` - FASE 0 (Proposal)
344
- - `.morph/templates/ui-design-system.md` - FASE 1.5 (Design System)
345
- - `.morph/templates/ui-mockups.md` - FASE 1.5 (Wireframes)
346
- - `.morph/templates/ui-components.md` - FASE 1.5 (Component Specs)
347
- - `.morph/templates/ui-flows.md` - FASE 1.5 (User Flows)
348
- - `.morph/templates/spec.md` - FASE 2 (Technical Spec)
349
- - `.morph/templates/contracts.cs` - FASE 2 (Interfaces/DTOs)
350
- - `.morph/templates/decisions.md` - FASE 2 (ADRs)
351
- - `.morph/templates/tasks.md` - FASE 4 (Task Breakdown)
352
- - `.morph/templates/recap.md` - FASE 5 (Recap)
353
-
354
- **Templates de Código:**
355
- - `.morph/templates/service.cs` - Service implementation
356
- - `.morph/templates/repository.cs` - Repository implementation
357
- - `.morph/templates/agent.cs` - AI Agent (Microsoft Agent Framework)
358
- - `.morph/templates/job.cs` - Hangfire background job
359
- - `.morph/templates/test.cs` - Unit test template
360
-
361
- ### Integração com Slash Commands
362
-
363
- Os slash commands **devem usar o CLI de renderização** para gerar outputs:
364
-
365
- ```markdown
366
- # Em morph-proposal.md
367
-
368
- node bin/render-template.js \
369
- content/.morph/templates/proposal.md \
370
- .morph/project/outputs/${FEATURE_NAME}/proposal.md \
371
- "{\"FEATURE_NAME\":\"${FEATURE_NAME}\"}"
372
- ```
373
-
374
- **Benefícios:**
375
- - ✅ **Consistência:** Todos os outputs seguem o mesmo formato
376
- - ✅ **Economia de tokens:** Claude não precisa preencher manualmente
377
- - ✅ **Zero erros:** Transformações de case são 100% corretas
378
- - ✅ **Rapidez:** CLI processa em <100ms
379
-
380
- ---
381
-
382
- ## COMANDOS (Slash Commands)
383
-
384
- | Comando | Ação |
385
- |---------|------|
386
- | `/morph-proposal {feature}` | Criar nova proposta |
387
- | `/morph-apply {feature}` | Implementar feature aprovada |
388
- | `/morph-status` | Mostrar status do projeto |
389
- | `/morph-archive {feature}` | Arquivar feature concluída |
390
- | `/morph-infra {action}` | Gerenciar infraestrutura (new) |
391
- | `/morph-costs` | Estimar e reportar custos (new) |
392
-
393
- ---
394
-
395
- ## REFERÊNCIAS
396
-
397
- Consulte sempre:
398
- - `.morph/project.md` - Contexto do projeto
399
- - `.morph/standards/coding.md` - Padrões de código
400
- - `.morph/standards/architecture.md` - Padrões de arquitetura
401
- - `.morph/standards/azure.md` - Padrões Azure e IaC
402
- - `.morph/templates/` - Templates para outputs
403
- - `.morph/config/agents.json` - Definição dos agentes
404
-
405
- ---
406
-
407
- ## QUICK START
408
-
409
- ```
410
- 1. Usuário: "Quero implementar relatórios agendados"
411
-
412
- 2. Claude: /morph-proposal scheduled-reports
413
- → Carrega contexto
414
- → Ativa agentes: Hangfire Orchestrator, Blazor Builder
415
- → Cria proposta
416
-
417
- 3. Usuário: "Aprovado"
418
-
419
- 4. Claude: Expande spec, contracts, decisions
420
- → Aguarda aprovação do design
421
-
422
- 5. Usuário: "Aprovado"
423
-
424
- 6. Claude: Quebra em tasks detalhadas
425
- → Aguarda aprovação do breakdown
426
-
427
- 7. Usuário: "Aprovado"
428
-
429
- 8. Claude: /morph-apply scheduled-reports
430
- → Implementa task por task
431
- → Checkpoints a cada 3 tasks
432
-
433
- 9. Usuário: "Feature concluída"
434
-
435
- 10. Claude: /morph-archive scheduled-reports
436
- → Move para archive
437
- → Extrai specs
438
- ```
439
-
440
- ---
441
-
442
- *MORPH-SPEC by Polymorphism Tech © 2024-2025*
1
+ # MORPH-SPEC - Instruções para Claude Code (Consumer)
2
+
3
+ > by Polymorphism Tech
4
+
5
+ Sistema de desenvolvimento orientado por especificações. Hub de agentes especializados em multi-stack (.NET/Blazor, .NET/Next.js) com Infrastructure as Code.
6
+
7
+ ---
8
+
9
+ ## REGRAS CRÍTICAS
10
+
11
+ ### NUNCA:
12
+ - Pular direto para código sem especificação
13
+ - Implementar sem aprovação do design
14
+ - Ignorar padrões em `.morph/standards/`
15
+ - Criar recursos Azure manualmente (use Bicep)
16
+ - Gerar código sem contracts definidos
17
+
18
+ ### SEMPRE:
19
+ - Seguir as 5 fases obrigatórias
20
+ - Gerar outputs em `.morph/features/{feature}/`
21
+ - Documentar decisões em `decisions.md`
22
+ - Checkpoint a cada 3 tasks implementadas
23
+ - Usar Infrastructure as Code (Bicep)
24
+
25
+ ---
26
+
27
+ ## WORKFLOW (5 Fases)
28
+
29
+ | Fase | Gatilho | Ações | Output | Pausa? |
30
+ |------|---------|-------|--------|--------|
31
+ | **1. SETUP** | Feature request | Ler project.md, identificar stack, ativar agentes, criar pasta | proposal.md | Não |
32
+ | **2. DESIGN** | Setup concluído | Spec + contracts + decisions + custos + Bicep | spec.md, contracts.cs, decisions.md | **Sim** |
33
+ | **3. CLARIFY** | Design aprovado | Ambiguidades, perguntas, edge cases | Spec atualizado | Não |
34
+ | **4. TASKS** | Clarificações resolvidas | Quebrar em tasks, ordem, checkpoints, dependências | tasks.md | **Sim** |
35
+ | **5. IMPLEMENT** | Tasks aprovadas | Task por task, checkpoint a cada 3, recap | Código + recap.md | Não |
36
+
37
+ ---
38
+
39
+ ## ESTRUTURA DO PROJETO
40
+
41
+ ```
42
+ projeto/
43
+ ├── CLAUDE.md
44
+ ├── .morph/
45
+ │ ├── project.md # Contexto
46
+ │ ├── config/ # config.json, agents.json
47
+ │ ├── standards/ # coding, architecture, azure
48
+ │ ├── templates/ # Templates para outputs
49
+ │ ├── specs/ # Specs ATIVAS
50
+ │ ├── features/{feature-name}/ # Features EM DESENVOLVIMENTO
51
+ │ │ ├── proposal.md, spec.md, tasks.md
52
+ │ │ ├── contracts.cs, decisions.md, recap.md
53
+ │ └── archive/ # Features CONCLUÍDAS
54
+ ├── .claude/skills/ # Agent skills
55
+ └── infra/main.bicep + modules/ # IaC
56
+ ```
57
+
58
+ ---
59
+
60
+ ## AGENTES
61
+
62
+ ### Core (Sempre Ativos)
63
+
64
+ | Agente | Responsabilidades |
65
+ |--------|-------------------|
66
+ | **Standards Architect** | Padrões, nomenclatura, revisão |
67
+ | **Azure Architect** | Infra Azure, Bicep, Container Apps |
68
+ | **Cost Guardian** | Custos, alertas, bloqueios |
69
+
70
+ ### Stack, Specialist, Integration, Infra
71
+
72
+ > **Ref:** Root `CLAUDE.md` para tabela completa de agentes e keywords.
73
+
74
+ ---
75
+
76
+ ## LIMITES DE CUSTO
77
+
78
+ | Nível | Limite | Requisito |
79
+ |-------|--------|-----------|
80
+ | Sem aprovação | Free tier | Nenhum |
81
+ | Com aprovação | Até $10/mês | Confirmação |
82
+ | Acima de $10 | Justificativa | ADR |
83
+
84
+ ---
85
+
86
+ ## INFRASTRUCTURE AS CODE
87
+
88
+ > NUNCA criar recursos Azure manualmente. Tudo via Bicep.
89
+
90
+ | Recurso | Abordagem |
91
+ |---------|-----------|
92
+ | Infra estática (SQL, Storage, Container Apps) | Bicep |
93
+ | Recursos dinâmicos (Fabric, Azure AI) | SDK .NET |
94
+ | CI/CD | YAML + Bicep |
95
+
96
+ ---
97
+
98
+ ## TEMPLATES
99
+
100
+ > SEMPRE use `bin/render-template.js` para renderizar. NUNCA preencha placeholders manualmente.
101
+
102
+ ### Placeholders: `{{PLACEHOLDER}}`
103
+
104
+ | Placeholder | Exemplo |
105
+ |-------------|---------|
106
+ | `{{FEATURE_NAME}}` | `scheduled-reports` |
107
+ | `{{FEATURE_NAME_PASCAL}}` | `ScheduledReports` |
108
+ | `{{FEATURE_NAME_CAMEL}}` | `scheduledReports` |
109
+ | `{{STACK}}` | `Blazor` |
110
+ | `{{DATE}}`, `{{AUTHOR}}`, `{{NAMESPACE}}` | Auto from config.json |
111
+
112
+ ### CLI
113
+
114
+ ```bash
115
+ node bin/render-template.js <template> <output> <vars-json>
116
+ # --verbose: show replacements | --dry-run: preview only
117
+ ```
118
+
119
+ ### Available Templates
120
+
121
+ **MORPH outputs:** proposal, ui-design-system, ui-mockups, ui-components, ui-flows, spec, contracts.cs, decisions, tasks, recap
122
+
123
+ **Code:** service.cs, repository.cs, agent.cs, job.cs, test.cs
124
+
125
+ ---
126
+
127
+ ## COMANDOS
128
+
129
+ | Comando | Ação |
130
+ |---------|------|
131
+ | `/morph-proposal {feature}` | Spec pipeline completo (fases 0-4, auto-continuação com pausas) |
132
+ | `/morph-apply {feature}` | Implementar feature (fase 5) |
133
+ | `/morph-status` | Dashboard |
134
+ | `/morph-archive {feature}` | Arquivar feature concluída |
135
+ | `/morph-infra {action}` | Gerenciar infra Bicep |
136
+ | `/morph-preflight` | Validação pre-deploy Azure |
137
+ | `/morph-troubleshoot {error}` | Troubleshooting de erros |
138
+
139
+ ---
140
+
141
+ ## REFERÊNCIAS
142
+
143
+ - `.morph/project.md` — Contexto do projeto
144
+ - `.morph/standards/` — coding, architecture, azure
145
+ - `.morph/templates/` — Templates para outputs
146
+ - `.morph/config/agents.json` — Agentes
147
+
148
+ ---
149
+
150
+ *MORPH-SPEC by Polymorphism Tech*