@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/README.md CHANGED
@@ -1,516 +1,515 @@
1
- <h1 align="center">MORPH-SPEC</h1>
2
-
3
- <p align="center">
4
- <strong>Desenvolvimento orientado por especificações com agentes AI</strong><br>
5
- <em>by Polymorphism Tech</em>
6
- </p>
7
-
8
- <p align="center">
9
- <a href="https://www.npmjs.com/package/@polymorphism-tech/morph-spec"><img src="https://img.shields.io/npm/v/@polymorphism-tech/morph-spec.svg" alt="npm version"></a>
10
- <a href="https://www.npmjs.com/package/@polymorphism-tech/morph-spec"><img src="https://img.shields.io/npm/dm/@polymorphism-tech/morph-spec.svg" alt="npm downloads"></a>
11
- <a href="#licença"><img src="https://img.shields.io/npm/l/@polymorphism-tech/morph-spec.svg" alt="license"></a>
12
- </p>
13
-
14
- <p align="center">
15
- <a href="#instalação">Instalação</a> •
16
- <a href="#começando">Começando</a> •
17
- <a href="#comandos">Comandos</a> •
18
- <a href="#agentes">Agentes</a> •
19
- <a href="docs/">Documentação</a>
20
- </p>
21
-
22
- <p align="center">
23
- <strong>📚 Guias de Uso:</strong>
24
- <a href="QUICKSTART.md">Quick Start</a> •
25
- <a href="CHEATSHEET.md">Cheat Sheet</a> •
26
- <a href="docs/README.md">API Docs</a>
27
- </p>
28
-
29
- ---
30
-
31
- ## O que é MORPH-SPEC?
32
-
33
- **M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
34
-
35
- MORPH-SPEC é um framework de desenvolvimento orientado por especificações com **17 agentes AI especializados**. Cada agente tem expertise em tecnologias específicas e segue workflows estruturados para entregar código production-ready.
36
-
37
- **Stacks suportadas:** .NET/Blazor, .NET/Next.js, Shopify
38
- **Infraestrutura:** Azure Bicep (IaC)
39
- **Ferramenta:** Claude Code
40
-
41
- ---
42
-
43
- ## Instalação
44
-
45
- ### Pré-requisitos
46
-
47
- - [Node.js](https://nodejs.org/) 18+
48
- - [Claude Code](https://claude.ai/code) instalado
49
-
50
- ### Instalação Rápida (Recomendado)
51
-
52
- ```bash
53
- # Navegue até seu projeto
54
- cd /caminho/do/seu/projeto
55
-
56
- # Execute o instalador (não precisa instalar nada)
57
- npx @polymorphism-tech/morph-spec init
58
- ```
59
-
60
- ### Instalação Global (Opcional)
61
-
62
- Se preferir ter o comando disponível globalmente:
63
-
64
- ```bash
65
- npm install -g @polymorphism-tech/morph-spec
66
- morph-spec init
67
- ```
68
-
69
- <details>
70
- <summary><strong>⚠️ Windows + nvm-windows: Comando não reconhecido?</strong></summary>
71
-
72
- Se você usa **nvm-windows** para gerenciar versões do Node.js, o npm **não** adiciona automaticamente os pacotes globais ao PATH. Este é um [problema conhecido do nvm-windows](https://github.com/coreybutler/nvm-windows/issues/391).
73
-
74
- ### Solução 1: Adicionar ao PATH manualmente
75
-
76
- **PowerShell (executar como Administrador):**
77
- ```powershell
78
- # Verificar o caminho do npm global
79
- npm config get prefix
80
-
81
- # Adicionar ao PATH (substitua pelo caminho acima)
82
- $npmPath = "$env:APPDATA\npm"
83
- [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$npmPath", "User")
84
- ```
85
-
86
- Depois, **feche e reabra o terminal**.
87
-
88
- ### Solução 2: Use npx (Recomendado)
89
-
90
- O `npx` funciona sem configurar PATH:
91
- ```bash
92
- npx @polymorphism-tech/morph-spec init
93
- npx @polymorphism-tech/morph-spec doctor
94
- ```
95
-
96
- ### Verificar se funcionou
97
-
98
- ```bash
99
- morph-spec --version
100
- # Ou
101
- npx @polymorphism-tech/morph-spec --version
102
- ```
103
-
104
- ### Mais Ajuda
105
-
106
- ```bash
107
- morph-spec doctor # Detecta problemas de PATH automaticamente
108
- ```
109
-
110
- Veja também: [Troubleshooting](#troubleshooting)
111
-
112
- </details>
113
-
114
- ### Comandos CLI
115
-
116
- | Comando | Descrição |
117
- |---------|-----------|
118
- | `morph-spec init` | Inicializa MORPH no diretório atual |
119
- | `morph-spec init --force` | Sobrescreve instalação existente |
120
- | `morph-spec update` | Atualiza projeto para versão mais recente |
121
- | `morph-spec update --templates` | Atualiza apenas templates |
122
- | `morph-spec update --standards` | Atualiza apenas standards |
123
- | `morph-spec doctor` | Verifica saúde e versões da instalação |
124
-
125
- ### Verificar Instalação
126
-
127
- ```bash
128
- morph-spec doctor
129
- ```
130
-
131
- O comando `doctor` verifica:
132
- - ✓ Versão do CLI (se está atualizada)
133
- - ✓ Versão do MORPH no projeto
134
- - ✓ Estrutura de arquivos e configurações
135
-
136
- Ou abra seu projeto no Claude Code e execute:
137
- ```
138
- /morph-status
139
- ```
140
-
141
- ---
142
-
143
- ## Mantendo Atualizado
144
-
145
- ### 1. Verificar se há atualizações
146
-
147
- ```bash
148
- morph-spec doctor
149
- ```
150
-
151
- Isso mostrará se há versões mais recentes disponíveis.
152
-
153
- ### 2. Atualizar para a versão mais recente
154
-
155
- **Instalação Global:**
156
- ```bash
157
- # Primeiro, atualize o CLI
158
- npm install -g @polymorphism-tech/morph-spec@latest
159
-
160
- # Depois, atualize seu projeto
161
- cd /caminho/do/seu/projeto
162
- morph-spec update
163
- ```
164
-
165
- **Usando npx (Recomendado - sempre pega a versão mais recente):**
166
- ```bash
167
- cd /caminho/do/seu/projeto
168
- npx @polymorphism-tech/morph-spec@latest update
169
- ```
170
-
171
- ### 3. O que é atualizado?
172
-
173
- O comando `update` sincroniza:
174
- - ✅ Templates (`.morph/templates/`)
175
- - ✅ Standards (`.morph/standards/`)
176
- - ✅ Agentes (`.morph/config/agents.json`)
177
- - ✅ Comandos Claude (`.claude/commands/`)
178
- - ✅ Skills (`.claude/skills/`)
179
- - ✅ Instruções (CLAUDE.md)
180
-
181
- **Importante:** Seu `config.json` é preservado!
182
-
183
- ---
184
-
185
- ## Começando
186
-
187
- ### 1. Criar uma Proposta
188
-
189
- ```
190
- /morph-proposal minha-feature
191
- ```
192
-
193
- Descreva o que quer implementar. O MORPH vai gerar a especificação completa.
194
-
195
- ### 2. Revisar a Spec
196
-
197
- Arquivos gerados em `.morph/features/minha-feature/`:
198
- - `spec.md` - Especificação técnica
199
- - `contracts.cs` - Interfaces e DTOs
200
- - `decisions.md` - Decisões arquiteturais
201
-
202
- ### 3. Aprovar o Design
203
-
204
- Revise os arquivos gerados e aprove (ou peça ajustes).
205
-
206
- ### 4. Implementar
207
-
208
- ```
209
- /morph-apply minha-feature
210
- ```
211
-
212
- O MORPH implementa task por task, com testes a cada etapa.
213
-
214
- ### 5. Arquivar
215
-
216
- ```
217
- /morph-archive minha-feature
218
- ```
219
-
220
- Move a feature concluída para o arquivo.
221
-
222
- ---
223
-
224
- ## Como Funciona
225
-
226
- ```
227
- ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
228
- │ SETUP │ ─▶ │ DESIGN │ ─▶ │ CLARIFY │ ─▶ │ TASKS │ ─▶ │IMPLEMENT │
229
- │ │ │ │ │ │ │ │ │ │
230
- │ Contexto │ │ Spec + │ │ Q&A + │ │ Quebra │ │ Executa │
231
- │ + Agents │ │Contracts │ │ Edges │ │ Tasks │ │ + Testa │
232
- └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
233
- ⛔ ⛔
234
- Aprovação Aprovação
235
- ```
236
-
237
- **Pontos de aprovação:** O MORPH para em 2 momentos para você revisar antes de continuar.
238
-
239
- ---
240
-
241
- ## Comandos Claude Code
242
-
243
- | Comando | Descrição |
244
- |---------|-----------|
245
- | `/morph-proposal <nome>` | Cria nova feature |
246
- | `/morph-apply <nome>` | Implementa feature aprovada |
247
- | `/morph-status` | Mostra status do projeto |
248
- | `/morph-archive <nome>` | Arquiva feature concluída |
249
- | `/morph-infra <ação>` | Gerencia infraestrutura (init, validate, deploy) |
250
- | `/morph-costs` | Estima custos Azure |
251
-
252
- ---
253
-
254
- ## Agentes
255
-
256
- ### Sempre Ativos
257
-
258
- | Agente | Função |
259
- |--------|--------|
260
- | 📐 **Standards Architect** | Padrões de código e consistência |
261
- | ☁️ **Azure Architect** | Infraestrutura cloud e IaC |
262
- | 💰 **Cost Guardian** | Controle de custos |
263
-
264
- ### Por Stack
265
-
266
- | Agente | Keywords |
267
- |--------|----------|
268
- | 🔥 **Blazor Builder** | blazor, razor, component |
269
- | ⚛️ **NextJS Expert** | nextjs, react, frontend |
270
- | 🛒 **Shopify Expert** | shopify, hydrogen, liquid |
271
-
272
- ### Especialistas
273
-
274
- | Agente | Keywords |
275
- |--------|----------|
276
- | 🗄️ **EF Modeler** | database, entity, migration |
277
- | 🤖 **MS Agent Expert** | agent, ai, semantic kernel |
278
- | **Hangfire Orchestrator** | scheduled, job, background |
279
- | 🎨 **UI/UX Designer** | wizard, dashboard, complex form |
280
- | 📋 **PO/PM Advisor** | unclear, requirements, ROI |
281
-
282
- ### Integrações
283
-
284
- | Agente | Keywords |
285
- |--------|----------|
286
- | 💳 **Asaas Financial** | asaas, pix, boleto, payment |
287
- | 🔐 **Clerk Auth** | clerk, auth, login |
288
- | 🆔 **Azure Identity** | identity, entra, microsoft auth |
289
-
290
- ### Infraestrutura
291
-
292
- | Agente | Keywords |
293
- |--------|----------|
294
- | 🏗️ **Bicep Architect** | bicep, iac, infra |
295
- | 🚀 **DevOps Engineer** | pipeline, ci/cd, deploy |
296
- | 📦 **Container Specialist** | docker, container |
297
-
298
- ---
299
-
300
- ## Exemplos
301
-
302
- | Exemplo | Descrição |
303
- |---------|-----------|
304
- | [micro-saas](content/.morph/examples/micro-saas/) | SaaS completo com Blazor + Asaas billing |
305
- | [api-nextjs](content/.morph/examples/api-nextjs/) | .NET API + Next.js frontend |
306
- | [multi-agent](content/.morph/examples/multi-agent/) | Sistema multi-agente com Semantic Kernel |
307
-
308
- Cada exemplo inclui: `README.md`, `spec.md`, `contracts.cs`, `tasks.md`, `decisions.md`
309
-
310
- ---
311
-
312
- ## Estrutura do Projeto
313
-
314
- Após a instalação, seu projeto terá:
315
-
316
- ```
317
- seu-projeto/
318
- ├── CLAUDE.md # Instruções para o AI
319
- ├── .morph/
320
- │ ├── config/ # Configurações
321
- │ │ ├── config.json
322
- │ └── agents.json
323
- │ ├── standards/ # Padrões de código
324
- │ │ ├── coding.md
325
- │ │ ├── architecture.md
326
- │ └── azure.md
327
- │ ├── templates/ # Templates de código e IaC
328
- │ │ ├── infra/
329
- │ │ ├── integrations/
330
- │ └── saas/
331
- │ ├── examples/ # Exemplos completos
332
- ├── features/ # Features em desenvolvimento
333
- └── archive/ # Features concluídas
334
- └── .claude/
335
- ├── commands/ # Slash commands
336
- └── skills/ # Skills dos agentes
337
- ```
338
-
339
- ---
340
-
341
- ## Templates Incluídos
342
-
343
- ### IaC (Bicep)
344
- - `main.bicep`, `container-app.bicep`, `sql-database.bicep`, `storage.bicep`, `key-vault.bicep`, `app-insights.bicep`
345
-
346
- ### Integrações
347
- - `asaas-client.cs`, `asaas-webhook.cs`, `clerk-config.cs`, `azure-identity-config.cs`
348
-
349
- ### SaaS
350
- - `subscription.cs`, `tenant.cs`
351
-
352
- ### Código
353
- - `service.cs`, `repository.cs`, `component.razor`, `agent.cs`, `job.cs`, `test.cs`
354
-
355
- ---
356
-
357
- ## Custos
358
-
359
- O MORPH segue a filosofia **"Free tier first"**:
360
-
361
- | Nível | Limite | Requer |
362
- |-------|--------|--------|
363
- | Sem aprovação | Free tier | Nada |
364
- | Com aprovação | Até $10/mês | Confirmação |
365
- | Acima de $10 | Justificativa | ADR |
366
-
367
- ---
368
-
369
- ## 🔧 Troubleshooting
370
-
371
- ### Comando `morph-spec` não encontrado
372
-
373
- **Sintoma:** Após `npm install -g`, o comando não é reconhecido.
374
-
375
- **Diagnóstico:**
376
- ```bash
377
- npm config get prefix # Ver onde npm instala globalmente
378
- echo $PATH # Linux/Mac: Verificar se está no PATH
379
- $env:Path # Windows: Verificar se está no PATH
380
- ```
381
-
382
- **Causa comum:** Você está usando **nvm** ou **nvm-windows**, que não adiciona automaticamente npm global ao PATH.
383
-
384
- **Solução 1 - Usar npx (Recomendado):**
385
- ```bash
386
- npx @polymorphism-tech/morph-spec init
387
- ```
388
-
389
- **Solução 2 - Adicionar ao PATH:**
390
-
391
- **Linux/Mac:**
392
- ```bash
393
- # Adicionar ao ~/.bashrc ou ~/.zshrc
394
- export PATH="$HOME/.npm-global/bin:$PATH"
395
- ```
396
-
397
- **Windows (PowerShell como Admin):**
398
- ```powershell
399
- $npmPath = "$env:APPDATA\npm"
400
- [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$npmPath", "User")
401
- ```
402
-
403
- **Verificar correção:**
404
- ```bash
405
- morph-spec --version
406
- ```
407
-
408
- ---
409
-
410
- ### `morph-spec doctor` reporta problemas
411
-
412
- **O que o doctor verifica:**
413
- - ✓ Versão do CLI (atualizada?)
414
- - ✓ Versão do MORPH no projeto
415
- - ✓ Comando morph-spec no PATH
416
- - ✓ Estrutura de arquivos (.morph/, CLAUDE.md, etc.)
417
-
418
- **Se reportar "morph-spec not in PATH":**
419
- 1. Use `npx` como alternativa (sempre funciona)
420
- 2. Ou siga as instruções acima para adicionar ao PATH
421
-
422
- **Se reportar arquivos faltando:**
423
- ```bash
424
- morph-spec init --force # Reinstala estrutura completa
425
- ```
426
-
427
- ---
428
-
429
- ### Erro ao instalar globalmente no Windows
430
-
431
- **Erro:** `EPERM: operation not permitted`
432
-
433
- **Causa:** Falta de permissões de administrador.
434
-
435
- **Solução:**
436
- 1. Abra PowerShell ou CMD **como Administrador**
437
- 2. Execute: `npm install -g @polymorphism-tech/morph-spec`
438
-
439
- **Alternativa:** Use `npx` (não requer admin):
440
- ```bash
441
- npx @polymorphism-tech/morph-spec init
442
- ```
443
-
444
- ---
445
-
446
- ### nvm-windows específico
447
-
448
- Se você usa **nvm-windows** para gerenciar versões do Node.js:
449
-
450
- **Problema conhecido:** npm global não vai para PATH automaticamente
451
- **Issue oficial:** https://github.com/coreybutler/nvm-windows/issues/391
452
-
453
- **Recomendações:**
454
- 1. **Melhor opção:** Use `npx` para todos os comandos
455
- 2. **Alternativa:** Configure PATH manualmente (ver seção de instalação)
456
- 3. **Verificar:** Execute `morph-spec doctor` para diagnosticar
457
-
458
- ---
459
-
460
- ### Precisa de mais ajuda?
461
-
462
- ```bash
463
- morph-spec doctor # Diagnóstico automático
464
- morph-spec --help # Ver todos os comandos
465
- morph-spec <comando> --help # Ajuda de comando específico
466
- ```
467
-
468
- **Suporte:**
469
- - 📧 Email: support@polymorphism.com.br
470
- - 🐛 Issues: [GitHub](https://github.com/lucasPolymorphism/morph-spec-framework/issues)
471
-
472
- ---
473
-
474
- ## 📄 Licença e Distribuição
475
-
476
- **Repositório:** Privado (código fonte protegido)
477
- **Package npm:** Público e gratuito via `@polymorphism-tech/morph-spec`
478
-
479
- ### Licença Proprietária
480
-
481
- O MORPH-SPEC framework é software proprietário da Polymorphism Tech. Veja [LICENSE](LICENSE) para detalhes.
482
-
483
- **Você PODE:**
484
- - ✅ Usar o CLI tool gratuitamente
485
- - ✅ Gerar projetos para uso pessoal ou comercial
486
- - ✅ Modificar código gerado pelos templates
487
- - ✅ Distribuir seus projetos criados com MORPH-SPEC
488
-
489
- **Você NÃO PODE:**
490
- - ❌ Redistribuir ou vender o framework
491
- - ❌ Criar produtos derivados competidores
492
- - ❌ Modificar ou fazer engenharia reversa do framework
493
- - ❌ Remover avisos de copyright
494
-
495
- ### Código Gerado
496
-
497
- Todo código gerado usando MORPH-SPEC é **100% seu** para usar como quiser, incluindo uso comercial.
498
-
499
- ### Suporte
500
-
501
- - 📧 Email: support@polymorphism.com.br
502
- - 🌐 Website: https://polymorphism.com.br
503
- - 📦 npm: [@polymorphism-tech/morph-spec](https://www.npmjs.com/package/@polymorphism-tech/morph-spec)
504
-
505
- ---
506
-
507
- ## Links
508
-
509
- - 📦 [npm Package](https://www.npmjs.com/package/@polymorphism-tech/morph-spec)
510
- - 📚 [Documentação](docs/)
511
- - 💡 [Exemplos](content/.morph/examples/)
512
- - 🌐 [Polymorphism Tech](https://polymorphism.com.br)
513
-
514
- ---
515
-
516
- *MORPH-SPEC by Polymorphism Tech*
1
+ <h1 align="center">MORPH-SPEC</h1>
2
+
3
+ <p align="center">
4
+ <strong>Desenvolvimento orientado por especificações com agentes AI</strong><br>
5
+ <em>by Polymorphism Tech</em>
6
+ </p>
7
+
8
+ <p align="center">
9
+ <a href="https://www.npmjs.com/package/@polymorphism-tech/morph-spec"><img src="https://img.shields.io/npm/v/@polymorphism-tech/morph-spec.svg" alt="npm version"></a>
10
+ <a href="https://www.npmjs.com/package/@polymorphism-tech/morph-spec"><img src="https://img.shields.io/npm/dm/@polymorphism-tech/morph-spec.svg" alt="npm downloads"></a>
11
+ <a href="#licença"><img src="https://img.shields.io/npm/l/@polymorphism-tech/morph-spec.svg" alt="license"></a>
12
+ </p>
13
+
14
+ <p align="center">
15
+ <a href="#instalação">Instalação</a> •
16
+ <a href="#começando">Começando</a> •
17
+ <a href="#comandos">Comandos</a> •
18
+ <a href="#agentes">Agentes</a> •
19
+ <a href="docs/">Documentação</a>
20
+ </p>
21
+
22
+ <p align="center">
23
+ <strong>📚 Guias de Uso:</strong>
24
+ <a href="QUICKSTART.md">Quick Start</a> •
25
+ <a href="CHEATSHEET.md">Cheat Sheet</a> •
26
+ <a href="docs/README.md">API Docs</a>
27
+ </p>
28
+
29
+ ---
30
+
31
+ ## O que é MORPH-SPEC?
32
+
33
+ **M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
34
+
35
+ MORPH-SPEC é um framework de desenvolvimento orientado por especificações com **17 agentes AI especializados**. Cada agente tem expertise em tecnologias específicas e segue workflows estruturados para entregar código production-ready.
36
+
37
+ **Stacks suportadas:** .NET/Blazor, .NET/Next.js
38
+ **Infraestrutura:** Azure Bicep (IaC)
39
+ **Ferramenta:** Claude Code
40
+
41
+ ---
42
+
43
+ ## Instalação
44
+
45
+ ### Pré-requisitos
46
+
47
+ - [Node.js](https://nodejs.org/) 18+
48
+ - [Claude Code](https://claude.ai/code) instalado
49
+
50
+ ### Instalação Rápida (Recomendado)
51
+
52
+ ```bash
53
+ # Navegue até seu projeto
54
+ cd /caminho/do/seu/projeto
55
+
56
+ # Execute o instalador (não precisa instalar nada)
57
+ npx @polymorphism-tech/morph-spec init
58
+ ```
59
+
60
+ ### Instalação Global (Opcional)
61
+
62
+ Se preferir ter o comando disponível globalmente:
63
+
64
+ ```bash
65
+ npm install -g @polymorphism-tech/morph-spec
66
+ morph-spec init
67
+ ```
68
+
69
+ <details>
70
+ <summary><strong>⚠️ Windows + nvm-windows: Comando não reconhecido?</strong></summary>
71
+
72
+ Se você usa **nvm-windows** para gerenciar versões do Node.js, o npm **não** adiciona automaticamente os pacotes globais ao PATH. Este é um [problema conhecido do nvm-windows](https://github.com/coreybutler/nvm-windows/issues/391).
73
+
74
+ ### Solução 1: Adicionar ao PATH manualmente
75
+
76
+ **PowerShell (executar como Administrador):**
77
+ ```powershell
78
+ # Verificar o caminho do npm global
79
+ npm config get prefix
80
+
81
+ # Adicionar ao PATH (substitua pelo caminho acima)
82
+ $npmPath = "$env:APPDATA\npm"
83
+ [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$npmPath", "User")
84
+ ```
85
+
86
+ Depois, **feche e reabra o terminal**.
87
+
88
+ ### Solução 2: Use npx (Recomendado)
89
+
90
+ O `npx` funciona sem configurar PATH:
91
+ ```bash
92
+ npx @polymorphism-tech/morph-spec init
93
+ npx @polymorphism-tech/morph-spec doctor
94
+ ```
95
+
96
+ ### Verificar se funcionou
97
+
98
+ ```bash
99
+ morph-spec --version
100
+ # Ou
101
+ npx @polymorphism-tech/morph-spec --version
102
+ ```
103
+
104
+ ### Mais Ajuda
105
+
106
+ ```bash
107
+ morph-spec doctor # Detecta problemas de PATH automaticamente
108
+ ```
109
+
110
+ Veja também: [Troubleshooting](#troubleshooting)
111
+
112
+ </details>
113
+
114
+ ### Comandos CLI
115
+
116
+ | Comando | Descrição |
117
+ |---------|-----------|
118
+ | `morph-spec init` | Inicializa MORPH no diretório atual |
119
+ | `morph-spec init --force` | Sobrescreve instalação existente |
120
+ | `morph-spec update` | Atualiza projeto para versão mais recente |
121
+ | `morph-spec update --templates` | Atualiza apenas templates |
122
+ | `morph-spec update --standards` | Atualiza apenas standards |
123
+ | `morph-spec doctor` | Verifica saúde e versões da instalação |
124
+
125
+ ### Verificar Instalação
126
+
127
+ ```bash
128
+ morph-spec doctor
129
+ ```
130
+
131
+ O comando `doctor` verifica:
132
+ - ✓ Versão do CLI (se está atualizada)
133
+ - ✓ Versão do MORPH no projeto
134
+ - ✓ Estrutura de arquivos e configurações
135
+
136
+ Ou abra seu projeto no Claude Code e execute:
137
+ ```
138
+ /morph-status
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Mantendo Atualizado
144
+
145
+ ### 1. Verificar se há atualizações
146
+
147
+ ```bash
148
+ morph-spec doctor
149
+ ```
150
+
151
+ Isso mostrará se há versões mais recentes disponíveis.
152
+
153
+ ### 2. Atualizar para a versão mais recente
154
+
155
+ **Instalação Global:**
156
+ ```bash
157
+ # Primeiro, atualize o CLI
158
+ npm install -g @polymorphism-tech/morph-spec@latest
159
+
160
+ # Depois, atualize seu projeto
161
+ cd /caminho/do/seu/projeto
162
+ morph-spec update
163
+ ```
164
+
165
+ **Usando npx (Recomendado - sempre pega a versão mais recente):**
166
+ ```bash
167
+ cd /caminho/do/seu/projeto
168
+ npx @polymorphism-tech/morph-spec@latest update
169
+ ```
170
+
171
+ ### 3. O que é atualizado?
172
+
173
+ O comando `update` sincroniza:
174
+ - ✅ Templates (`.morph/templates/`)
175
+ - ✅ Standards (`.morph/standards/`)
176
+ - ✅ Agentes (`.morph/config/agents.json`)
177
+ - ✅ Comandos Claude (`.claude/commands/`)
178
+ - ✅ Skills (`.claude/skills/`)
179
+ - ✅ Instruções (CLAUDE.md)
180
+
181
+ **Importante:** Seu `config.json` é preservado!
182
+
183
+ ---
184
+
185
+ ## Começando
186
+
187
+ ### 1. Criar uma Proposta
188
+
189
+ ```
190
+ /morph-proposal minha-feature
191
+ ```
192
+
193
+ Descreva o que quer implementar. O MORPH vai gerar a especificação completa.
194
+
195
+ ### 2. Revisar a Spec
196
+
197
+ Arquivos gerados em `.morph/features/minha-feature/`:
198
+ - `spec.md` - Especificação técnica
199
+ - `contracts.cs` - Interfaces e DTOs
200
+ - `decisions.md` - Decisões arquiteturais
201
+
202
+ ### 3. Aprovar o Design
203
+
204
+ Revise os arquivos gerados e aprove (ou peça ajustes).
205
+
206
+ ### 4. Implementar
207
+
208
+ ```
209
+ /morph-apply minha-feature
210
+ ```
211
+
212
+ O MORPH implementa task por task, com testes a cada etapa.
213
+
214
+ ### 5. Arquivar
215
+
216
+ ```
217
+ /morph-archive minha-feature
218
+ ```
219
+
220
+ Move a feature concluída para o arquivo.
221
+
222
+ ---
223
+
224
+ ## Como Funciona
225
+
226
+ ```
227
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
228
+ │ SETUP │ ─▶ │ DESIGN │ ─▶ │ CLARIFY │ ─▶ │ TASKS │ ─▶ │IMPLEMENT │
229
+ │ │ │ │ │ │ │ │ │ │
230
+ │ Contexto │ │ Spec + │ │ Q&A + │ │ Quebra │ │ Executa │
231
+ │ + Agents │ │Contracts │ │ Edges │ │ Tasks │ │ + Testa │
232
+ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
233
+ ⛔ ⛔
234
+ Aprovação Aprovação
235
+ ```
236
+
237
+ **Pontos de aprovação:** O MORPH para em 2 momentos para você revisar antes de continuar.
238
+
239
+ ---
240
+
241
+ ## Comandos Claude Code
242
+
243
+ | Comando | Descrição |
244
+ |---------|-----------|
245
+ | `/morph-proposal <nome>` | Cria nova feature |
246
+ | `/morph-apply <nome>` | Implementa feature aprovada |
247
+ | `/morph-status` | Mostra status do projeto |
248
+ | `/morph-archive <nome>` | Arquiva feature concluída |
249
+ | `/morph-infra <ação>` | Gerencia infraestrutura (init, validate, deploy) |
250
+ | `/morph-costs` | Estima custos Azure |
251
+
252
+ ---
253
+
254
+ ## Agentes
255
+
256
+ ### Sempre Ativos
257
+
258
+ | Agente | Função |
259
+ |--------|--------|
260
+ | 📐 **Standards Architect** | Padrões de código e consistência |
261
+ | ☁️ **Azure Architect** | Infraestrutura cloud e IaC |
262
+ | 💰 **Cost Guardian** | Controle de custos |
263
+
264
+ ### Por Stack
265
+
266
+ | Agente | Keywords |
267
+ |--------|----------|
268
+ | 🔥 **Blazor Builder** | blazor, razor, component |
269
+ | ⚛️ **NextJS Expert** | nextjs, react, frontend |
270
+
271
+ ### Especialistas
272
+
273
+ | Agente | Keywords |
274
+ |--------|----------|
275
+ | 🗄️ **EF Modeler** | database, entity, migration |
276
+ | 🤖 **MS Agent Expert** | agent, ai, semantic kernel |
277
+ | **Hangfire Orchestrator** | scheduled, job, background |
278
+ | 🎨 **UI/UX Designer** | wizard, dashboard, complex form |
279
+ | 📋 **PO/PM Advisor** | unclear, requirements, ROI |
280
+
281
+ ### Integrações
282
+
283
+ | Agente | Keywords |
284
+ |--------|----------|
285
+ | 💳 **Asaas Financial** | asaas, pix, boleto, payment |
286
+ | 🔐 **Clerk Auth** | clerk, auth, login |
287
+ | 🆔 **Azure Identity** | identity, entra, microsoft auth |
288
+
289
+ ### Infraestrutura
290
+
291
+ | Agente | Keywords |
292
+ |--------|----------|
293
+ | 🏗️ **Bicep Architect** | bicep, iac, infra |
294
+ | 🚀 **DevOps Engineer** | pipeline, ci/cd, deploy |
295
+ | 📦 **Container Specialist** | docker, container |
296
+
297
+ ---
298
+
299
+ ## Exemplos
300
+
301
+ | Exemplo | Descrição |
302
+ |---------|-----------|
303
+ | [micro-saas](content/.morph/examples/micro-saas/) | SaaS completo com Blazor + Asaas billing |
304
+ | [api-nextjs](content/.morph/examples/api-nextjs/) | .NET API + Next.js frontend |
305
+ | [multi-agent](content/.morph/examples/multi-agent/) | Sistema multi-agente com Semantic Kernel |
306
+
307
+ Cada exemplo inclui: `README.md`, `spec.md`, `contracts.cs`, `tasks.md`, `decisions.md`
308
+
309
+ ---
310
+
311
+ ## Estrutura do Projeto
312
+
313
+ Após a instalação, seu projeto terá:
314
+
315
+ ```
316
+ seu-projeto/
317
+ ├── CLAUDE.md # Instruções para o AI
318
+ ├── .morph/
319
+ ├── config/ # Configurações
320
+ ├── config.json
321
+ │ │ └── agents.json
322
+ ├── standards/ # Padrões de código
323
+ ├── coding.md
324
+ │ │ ├── architecture.md
325
+ │ │ └── azure.md
326
+ ├── templates/ # Templates de código e IaC
327
+ ├── infra/
328
+ │ │ ├── integrations/
329
+ │ │ └── saas/
330
+ ├── examples/ # Exemplos completos
331
+ │ ├── features/ # Features em desenvolvimento
332
+ └── archive/ # Features concluídas
333
+ └── .claude/
334
+ ├── commands/ # Slash commands
335
+ └── skills/ # Skills dos agentes
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Templates Incluídos
341
+
342
+ ### IaC (Bicep)
343
+ - `main.bicep`, `container-app.bicep`, `sql-database.bicep`, `storage.bicep`, `key-vault.bicep`, `app-insights.bicep`
344
+
345
+ ### Integrações
346
+ - `asaas-client.cs`, `asaas-webhook.cs`, `clerk-config.cs`, `azure-identity-config.cs`
347
+
348
+ ### SaaS
349
+ - `subscription.cs`, `tenant.cs`
350
+
351
+ ### Código
352
+ - `service.cs`, `repository.cs`, `component.razor`, `agent.cs`, `job.cs`, `test.cs`
353
+
354
+ ---
355
+
356
+ ## Custos
357
+
358
+ O MORPH segue a filosofia **"Free tier first"**:
359
+
360
+ | Nível | Limite | Requer |
361
+ |-------|--------|--------|
362
+ | Sem aprovação | Free tier | Nada |
363
+ | Com aprovação | Até $10/mês | Confirmação |
364
+ | Acima de $10 | Justificativa | ADR |
365
+
366
+ ---
367
+
368
+ ## 🔧 Troubleshooting
369
+
370
+ ### Comando `morph-spec` não encontrado
371
+
372
+ **Sintoma:** Após `npm install -g`, o comando não é reconhecido.
373
+
374
+ **Diagnóstico:**
375
+ ```bash
376
+ npm config get prefix # Ver onde npm instala globalmente
377
+ echo $PATH # Linux/Mac: Verificar se está no PATH
378
+ $env:Path # Windows: Verificar se está no PATH
379
+ ```
380
+
381
+ **Causa comum:** Você está usando **nvm** ou **nvm-windows**, que não adiciona automaticamente npm global ao PATH.
382
+
383
+ **Solução 1 - Usar npx (Recomendado):**
384
+ ```bash
385
+ npx @polymorphism-tech/morph-spec init
386
+ ```
387
+
388
+ **Solução 2 - Adicionar ao PATH:**
389
+
390
+ **Linux/Mac:**
391
+ ```bash
392
+ # Adicionar ao ~/.bashrc ou ~/.zshrc
393
+ export PATH="$HOME/.npm-global/bin:$PATH"
394
+ ```
395
+
396
+ **Windows (PowerShell como Admin):**
397
+ ```powershell
398
+ $npmPath = "$env:APPDATA\npm"
399
+ [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$npmPath", "User")
400
+ ```
401
+
402
+ **Verificar correção:**
403
+ ```bash
404
+ morph-spec --version
405
+ ```
406
+
407
+ ---
408
+
409
+ ### `morph-spec doctor` reporta problemas
410
+
411
+ **O que o doctor verifica:**
412
+ - Versão do CLI (atualizada?)
413
+ - ✓ Versão do MORPH no projeto
414
+ - ✓ Comando morph-spec no PATH
415
+ - ✓ Estrutura de arquivos (.morph/, CLAUDE.md, etc.)
416
+
417
+ **Se reportar "morph-spec not in PATH":**
418
+ 1. Use `npx` como alternativa (sempre funciona)
419
+ 2. Ou siga as instruções acima para adicionar ao PATH
420
+
421
+ **Se reportar arquivos faltando:**
422
+ ```bash
423
+ morph-spec init --force # Reinstala estrutura completa
424
+ ```
425
+
426
+ ---
427
+
428
+ ### Erro ao instalar globalmente no Windows
429
+
430
+ **Erro:** `EPERM: operation not permitted`
431
+
432
+ **Causa:** Falta de permissões de administrador.
433
+
434
+ **Solução:**
435
+ 1. Abra PowerShell ou CMD **como Administrador**
436
+ 2. Execute: `npm install -g @polymorphism-tech/morph-spec`
437
+
438
+ **Alternativa:** Use `npx` (não requer admin):
439
+ ```bash
440
+ npx @polymorphism-tech/morph-spec init
441
+ ```
442
+
443
+ ---
444
+
445
+ ### nvm-windows específico
446
+
447
+ Se você usa **nvm-windows** para gerenciar versões do Node.js:
448
+
449
+ **Problema conhecido:** npm global não vai para PATH automaticamente
450
+ **Issue oficial:** https://github.com/coreybutler/nvm-windows/issues/391
451
+
452
+ **Recomendações:**
453
+ 1. **Melhor opção:** Use `npx` para todos os comandos
454
+ 2. **Alternativa:** Configure PATH manualmente (ver seção de instalação)
455
+ 3. **Verificar:** Execute `morph-spec doctor` para diagnosticar
456
+
457
+ ---
458
+
459
+ ### Precisa de mais ajuda?
460
+
461
+ ```bash
462
+ morph-spec doctor # Diagnóstico automático
463
+ morph-spec --help # Ver todos os comandos
464
+ morph-spec <comando> --help # Ajuda de comando específico
465
+ ```
466
+
467
+ **Suporte:**
468
+ - 📧 Email: support@polymorphism.com.br
469
+ - 🐛 Issues: [GitHub](https://github.com/lucasPolymorphism/morph-spec-framework/issues)
470
+
471
+ ---
472
+
473
+ ## 📄 Licença e Distribuição
474
+
475
+ **Repositório:** Privado (código fonte protegido)
476
+ **Package npm:** Público e gratuito via `@polymorphism-tech/morph-spec`
477
+
478
+ ### Licença Proprietária
479
+
480
+ O MORPH-SPEC framework é software proprietário da Polymorphism Tech. Veja [LICENSE](LICENSE) para detalhes.
481
+
482
+ **Você PODE:**
483
+ - ✅ Usar o CLI tool gratuitamente
484
+ - ✅ Gerar projetos para uso pessoal ou comercial
485
+ - ✅ Modificar código gerado pelos templates
486
+ - ✅ Distribuir seus projetos criados com MORPH-SPEC
487
+
488
+ **Você NÃO PODE:**
489
+ - Redistribuir ou vender o framework
490
+ - ❌ Criar produtos derivados competidores
491
+ - ❌ Modificar ou fazer engenharia reversa do framework
492
+ - ❌ Remover avisos de copyright
493
+
494
+ ### Código Gerado
495
+
496
+ Todo código gerado usando MORPH-SPEC é **100% seu** para usar como quiser, incluindo uso comercial.
497
+
498
+ ### Suporte
499
+
500
+ - 📧 Email: support@polymorphism.com.br
501
+ - 🌐 Website: https://polymorphism.com.br
502
+ - 📦 npm: [@polymorphism-tech/morph-spec](https://www.npmjs.com/package/@polymorphism-tech/morph-spec)
503
+
504
+ ---
505
+
506
+ ## Links
507
+
508
+ - 📦 [npm Package](https://www.npmjs.com/package/@polymorphism-tech/morph-spec)
509
+ - 📚 [Documentação](docs/)
510
+ - 💡 [Exemplos](content/.morph/examples/)
511
+ - 🌐 [Polymorphism Tech](https://polymorphism.com.br)
512
+
513
+ ---
514
+
515
+ *MORPH-SPEC by Polymorphism Tech*