@polymorphism-tech/morph-spec 2.3.0 → 3.0.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 (166) hide show
  1. package/CLAUDE.md +446 -1730
  2. package/README.md +515 -516
  3. package/bin/morph-spec.js +366 -294
  4. package/bin/task-manager.js +429 -368
  5. package/bin/validate.js +369 -268
  6. package/content/.claude/commands/morph-apply.md +221 -158
  7. package/content/.claude/commands/morph-deploy.md +529 -0
  8. package/content/.claude/commands/morph-preflight.md +227 -0
  9. package/content/.claude/commands/morph-proposal.md +122 -101
  10. package/content/.claude/commands/morph-status.md +86 -86
  11. package/content/.claude/commands/morph-troubleshoot.md +122 -0
  12. package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
  13. package/content/.claude/skills/level-0-meta/README.md +7 -0
  14. package/content/.claude/skills/level-0-meta/code-review.md +226 -0
  15. package/content/.claude/skills/level-0-meta/morph-checklist.md +117 -0
  16. package/content/.claude/skills/level-0-meta/simulation-checklist.md +77 -0
  17. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  18. package/content/.claude/skills/level-1-workflows/morph-replicate.md +213 -0
  19. package/content/.claude/{commands/morph-clarify.md → skills/level-1-workflows/phase-clarify.md} +131 -184
  20. package/content/.claude/{commands/morph-design.md → skills/level-1-workflows/phase-design.md} +213 -275
  21. package/content/.claude/skills/level-1-workflows/phase-setup.md +106 -0
  22. package/content/.claude/skills/level-1-workflows/phase-tasks.md +164 -0
  23. package/content/.claude/{commands/morph-uiux.md → skills/level-1-workflows/phase-uiux.md} +169 -211
  24. package/content/.claude/skills/level-2-domains/README.md +14 -0
  25. package/content/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  26. package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +197 -197
  27. package/content/.claude/skills/level-2-domains/architecture/standards-architect.md +156 -0
  28. package/content/.claude/skills/level-2-domains/backend/dotnet-senior.md +287 -0
  29. package/content/.claude/skills/level-2-domains/backend/ef-modeler.md +113 -0
  30. package/content/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  31. package/content/.claude/skills/level-2-domains/backend/ms-agent-expert.md +109 -0
  32. package/content/.claude/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  33. package/content/.claude/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  34. package/content/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  35. package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +142 -142
  36. package/content/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  37. package/content/.claude/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  38. package/content/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  39. package/content/.claude/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  40. package/content/.claude/skills/level-2-domains/integrations/azure-identity.md +142 -0
  41. package/content/.claude/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  42. package/content/.claude/skills/level-2-domains/integrations/resend-email.md +119 -0
  43. package/content/.claude/skills/level-2-domains/quality/code-analyzer.md +235 -0
  44. package/content/.claude/skills/level-2-domains/quality/testing-specialist.md +126 -0
  45. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  46. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  47. package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
  48. package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
  49. package/content/.morph/config/agents.json +762 -242
  50. package/content/.morph/config/config.template.json +122 -108
  51. package/content/.morph/docs/workflows/design-impl.md +37 -0
  52. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  53. package/content/.morph/docs/workflows/fast-track.md +29 -0
  54. package/content/.morph/docs/workflows/full-morph.md +76 -0
  55. package/content/.morph/docs/workflows/standard.md +44 -0
  56. package/content/.morph/docs/workflows/ui-refresh.md +39 -0
  57. package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
  58. package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
  59. package/content/.morph/examples/scheduled-reports/spec.md +267 -0
  60. package/content/.morph/hooks/README.md +348 -239
  61. package/content/.morph/hooks/pre-commit-agents.sh +24 -24
  62. package/content/.morph/hooks/task-completed.js +73 -0
  63. package/content/.morph/hooks/teammate-idle.js +68 -0
  64. package/content/.morph/schemas/tasks.schema.json +220 -0
  65. package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
  66. package/content/.morph/standards/agent-framework-production.md +410 -0
  67. package/content/.morph/standards/agent-framework-setup.md +413 -453
  68. package/content/.morph/standards/agent-framework-workflows.md +349 -0
  69. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  70. package/content/.morph/standards/architecture.md +325 -325
  71. package/content/.morph/standards/azure.md +605 -379
  72. package/content/.morph/standards/dotnet10-migration.md +520 -494
  73. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  74. package/content/.morph/templates/CONTEXT.md +170 -0
  75. package/content/.morph/templates/agent.cs +163 -172
  76. package/content/.morph/templates/clarify-questions.md +159 -0
  77. package/content/.morph/templates/contracts/Commands.cs +74 -0
  78. package/content/.morph/templates/contracts/Entities.cs +25 -0
  79. package/content/.morph/templates/contracts/Queries.cs +74 -0
  80. package/content/.morph/templates/contracts/README.md +74 -0
  81. package/content/.morph/templates/decisions.md +123 -106
  82. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  83. package/content/.morph/templates/infra/deploy-checklist.md +426 -0
  84. package/content/.morph/templates/proposal.md +141 -155
  85. package/content/.morph/templates/recap.md +94 -105
  86. package/content/.morph/templates/simulation.md +353 -0
  87. package/content/.morph/templates/spec.md +149 -148
  88. package/content/.morph/templates/state.template.json +222 -222
  89. package/content/.morph/templates/tasks.md +257 -235
  90. package/content/.morph/templates/ui-components.md +362 -276
  91. package/content/CLAUDE.md +150 -442
  92. package/detectors/structure-detector.js +245 -250
  93. package/docs/README.md +144 -149
  94. package/docs/getting-started.md +301 -302
  95. package/docs/installation.md +361 -361
  96. package/docs/validation-checklist.md +265 -266
  97. package/package.json +80 -80
  98. package/src/commands/advance-phase.js +266 -0
  99. package/src/commands/analyze-blazor-concurrency.js +193 -0
  100. package/src/commands/deploy.js +780 -0
  101. package/src/commands/detect-agents.js +167 -0
  102. package/src/commands/doctor.js +356 -280
  103. package/src/commands/generate-context.js +40 -0
  104. package/src/commands/init.js +258 -245
  105. package/src/commands/lint-fluent.js +352 -0
  106. package/src/commands/rollback-phase.js +185 -0
  107. package/src/commands/session-summary.js +291 -0
  108. package/src/commands/task.js +78 -75
  109. package/src/commands/troubleshoot.js +222 -0
  110. package/src/commands/update.js +192 -159
  111. package/src/commands/validate-blazor-state.js +210 -0
  112. package/src/commands/validate-blazor.js +156 -0
  113. package/src/commands/validate-css.js +84 -0
  114. package/src/commands/validate-phase.js +221 -0
  115. package/src/lib/blazor-concurrency-analyzer.js +288 -0
  116. package/src/lib/blazor-state-validator.js +291 -0
  117. package/src/lib/blazor-validator.js +374 -0
  118. package/src/lib/complexity-analyzer.js +441 -292
  119. package/src/lib/context-generator.js +513 -0
  120. package/src/lib/continuous-validator.js +421 -440
  121. package/src/lib/css-validator.js +352 -0
  122. package/src/lib/decision-constraint-loader.js +109 -0
  123. package/src/lib/design-system-detector.js +187 -0
  124. package/src/lib/design-system-scaffolder.js +299 -0
  125. package/src/lib/hook-executor.js +256 -0
  126. package/src/lib/recap-generator.js +205 -0
  127. package/src/lib/spec-validator.js +258 -0
  128. package/src/lib/standards-context-injector.js +287 -0
  129. package/src/lib/state-manager.js +397 -340
  130. package/src/lib/team-orchestrator.js +322 -0
  131. package/src/lib/troubleshoot-grep.js +194 -0
  132. package/src/lib/troubleshoot-index.js +144 -0
  133. package/src/lib/validation-runner.js +283 -0
  134. package/src/lib/validators/contract-compliance-validator.js +273 -0
  135. package/src/lib/validators/design-system-validator.js +231 -0
  136. package/src/utils/file-copier.js +187 -139
  137. package/content/.claude/commands/morph-costs.md +0 -206
  138. package/content/.claude/commands/morph-setup.md +0 -100
  139. package/content/.claude/commands/morph-tasks.md +0 -319
  140. package/content/.claude/skills/infra/bicep-architect.md +0 -419
  141. package/content/.claude/skills/infra/container-specialist.md +0 -437
  142. package/content/.claude/skills/infra/devops-engineer.md +0 -405
  143. package/content/.claude/skills/integrations/asaas-financial.md +0 -333
  144. package/content/.claude/skills/integrations/azure-identity.md +0 -309
  145. package/content/.claude/skills/integrations/clerk-auth.md +0 -290
  146. package/content/.claude/skills/specialists/ai-system-architect.md +0 -604
  147. package/content/.claude/skills/specialists/cost-guardian.md +0 -110
  148. package/content/.claude/skills/specialists/ef-modeler.md +0 -211
  149. package/content/.claude/skills/specialists/hangfire-orchestrator.md +0 -255
  150. package/content/.claude/skills/specialists/ms-agent-expert.md +0 -263
  151. package/content/.claude/skills/specialists/standards-architect.md +0 -78
  152. package/content/.claude/skills/specialists/ui-ux-designer.md +0 -1100
  153. package/content/.claude/skills/stacks/dotnet-blazor.md +0 -606
  154. package/content/.claude/skills/stacks/dotnet-nextjs.md +0 -402
  155. package/content/.claude/skills/stacks/shopify.md +0 -445
  156. package/content/.morph/config/azure-pricing.json +0 -70
  157. package/content/.morph/config/azure-pricing.schema.json +0 -50
  158. package/content/.morph/hooks/pre-commit-costs.sh +0 -91
  159. package/docs/api/cost-calculator.js.html +0 -513
  160. package/docs/api/design-system-generator.js.html +0 -382
  161. package/docs/api/global.html +0 -5263
  162. package/docs/api/index.html +0 -96
  163. package/docs/api/state-manager.js.html +0 -423
  164. package/src/commands/cost.js +0 -181
  165. package/src/commands/update-pricing.js +0 -206
  166. 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*