@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
@@ -1,184 +1,131 @@
1
- # MORPH Clarify - FASE 3
2
-
3
- Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
4
-
5
- ## Uso
6
-
7
- ```
8
- /morph-clarify {feature-name}
9
- ```
10
-
11
- ## Pré-requisitos
12
-
13
- - [ ] FASE 2 (Design) concluída
14
- - [ ] `spec.md` aprovado pelo usuário
15
- - [ ] `contracts.cs` definidos
16
-
17
- ## Workflow
18
-
19
- ### Passo 1: Analisar Spec
20
-
21
- Leia `.morph/project/outputs/{feature}/spec.md` em detalhes e identifique:
22
-
23
- #### 1.1. Ambiguidades
24
- - Requisitos vagos ou genéricos
25
- - Termos sem definição clara
26
- - Comportamentos não especificados
27
-
28
- #### 1.2. Edge Cases Não Documentados
29
- - O que acontece se...?
30
- - Como lidar com entradas inválidas?
31
- - Comportamento em caso de erro?
32
- - Estados intermediários (loading, empty)
33
-
34
- #### 1.3. Requisitos Conflitantes
35
- - Duas funcionalidades que parecem incompatíveis
36
- - Prioridades não claras (o que vem primeiro?)
37
-
38
- #### 1.4. Dados Faltantes
39
- - Validações de negócio não especificadas
40
- - Limites e constraints (tamanhos, quantidades)
41
- - Formatos de dados (datas, moedas, etc.)
42
-
43
- ### Passo 2: Gerar Perguntas de Clarificação
44
-
45
- Com base na análise, gere **3-7 perguntas** focadas e específicas:
46
-
47
- **Formato de pergunta:**
48
- ```markdown
49
- ### Q{N}: {Categoria} - {Título}
50
-
51
- **Context:** {Por que esta pergunta é importante}
52
-
53
- **Question:** {Pergunta clara e objetiva}
54
-
55
- **Options (if applicable):**
56
- - A) {Opção 1}
57
- - B) {Opção 2}
58
- - C) {Deixar em aberto/usuário decidir}
59
-
60
- **Impact:** {Como a resposta afeta a implementação}
61
- ```
62
-
63
- **Exemplo:**
64
-
65
- ```markdown
66
- ### Q1: Validação - Limite de Nome de Projeto
67
-
68
- **Context:** O spec menciona "nome de projeto" mas não especifica limites.
69
-
70
- **Question:** Qual o comprimento máximo do nome de projeto?
71
-
72
- **Options:**
73
- - A) 50 caracteres (padrão curto)
74
- - B) 100 caracteres (padrão médio)
75
- - C) 255 caracteres (padrão longo)
76
- - D) Sem limite (validar apenas se não vazio)
77
-
78
- **Impact:** Afeta validação do DTO, schema do banco, e UI (tamanho do input).
79
- ```
80
-
81
- ### Passo 3: Categorizar Perguntas
82
-
83
- Organize perguntas por categoria:
84
-
85
- | Categoria | Descrição | Exemplos |
86
- |-----------|-----------|----------|
87
- | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
88
- | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
89
- | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
90
- | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
91
- | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
92
- | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
93
-
94
- ### Passo 4: Apresentar Perguntas ao Usuário
95
-
96
- Liste todas as perguntas de forma clara e estruturada.
97
-
98
- **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
99
-
100
- ### Passo 5: Atualizar `spec.md` com Respostas
101
-
102
- Após receber respostas do usuário, atualize o spec com:
103
-
104
- 1. **Seção de Clarificações** no início do spec:
105
- ```markdown
106
- ## Clarifications (FASE 3)
107
-
108
- ### Q1: {Título}
109
- **Answer:** {Resposta do usuário}
110
- **Date:** {YYYY-MM-DD}
111
-
112
- ### Q2: {Título}
113
- **Answer:** {Resposta do usuário}
114
- **Date:** {YYYY-MM-DD}
115
- ```
116
-
117
- 2. **Atualizar seções relevantes** com detalhes adicionados:
118
- - Requisitos funcionais mais específicos
119
- - Validações documentadas
120
- - Edge cases cobertos
121
-
122
- ### Passo 6: Validar Edge Cases
123
-
124
- Documente no spec como lidar com cada edge case identificado:
125
-
126
- ```markdown
127
- ## Edge Cases
128
-
129
- ### EC001: {Nome do Edge Case}
130
- **Scenario:** {Quando acontece}
131
- **Expected Behavior:** {Como o sistema deve reagir}
132
- **Implementation Notes:** {Dicas para implementação}
133
-
134
- **Example:**
135
- - Input: {exemplo de entrada problemática}
136
- - Output: {comportamento esperado}
137
- ```
138
-
139
- ### Passo 7: Atualizar State
140
-
141
- ```bash
142
- # Marcar fase como clarify
143
- node bin/state-manager.js set {feature-name} phase clarify
144
-
145
- # State permanece in_progress até usuário responder todas as perguntas
146
- ```
147
-
148
- ## Outputs Gerados/Atualizados
149
-
150
- - `.morph/project/outputs/{feature}/spec.md` - Atualizado com:
151
- - Seção "Clarifications" com perguntas e respostas
152
- - Edge cases documentados
153
- - Requisitos mais específicos
154
-
155
- ## ⛔ PAUSA OBRIGATÓRIA
156
-
157
- Apresente perguntas de clarificação e aguarde respostas do usuário.
158
-
159
- **Não prossiga até ter todas as respostas!**
160
-
161
- Após receber respostas, atualizar spec e apresentar:
162
-
163
- 1. ✅ **Aprovar clarificações e continuar para tasks**
164
- Prosseguir para `/morph-tasks` (FASE 4)
165
-
166
- 2. 🔄 **Fazer mais perguntas** (se ainda houver dúvidas)
167
- Iterar novamente nesta fase
168
-
169
- 3. 📋 **Revisar spec atualizado**
170
- Validar que clarificações foram bem incorporadas
171
-
172
- ## Critérios de Avanço
173
-
174
- - [x] Perguntas de clarificação identificadas (3-7)
175
- - [x] Perguntas apresentadas ao usuário
176
- - [x] Respostas do usuário recebidas
177
- - [x] `spec.md` atualizado com clarificações
178
- - [x] Edge cases documentados
179
- - [x] State atualizado
180
- - [x] Nenhuma ambiguidade crítica remanescente
181
-
182
- ---
183
-
184
- **Feature:** $ARGUMENTS
1
+ # MORPH Clarify - FASE 3
2
+
3
+ > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
+
5
+ Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
6
+
7
+ ## Pré-requisitos
8
+
9
+ - [ ] FASE 2 (Design) concluída
10
+ - [ ] `spec.md` aprovado pelo usuário
11
+ - [ ] `contracts.cs` definidos
12
+
13
+ ## Workflow
14
+
15
+ ### Passo 1: Analisar Spec
16
+
17
+ Leia `.morph/project/outputs/{feature}/spec.md` em detalhes e identifique:
18
+
19
+ #### 1.1. Ambiguidades
20
+ - Requisitos vagos ou genéricos
21
+ - Termos sem definição clara
22
+ - Comportamentos não especificados
23
+
24
+ #### 1.2. Edge Cases Não Documentados
25
+ - O que acontece se...?
26
+ - Como lidar com entradas inválidas?
27
+ - Comportamento em caso de erro?
28
+ - Estados intermediários (loading, empty)
29
+
30
+ #### 1.3. Requisitos Conflitantes
31
+ - Duas funcionalidades que parecem incompatíveis
32
+ - Prioridades não claras (o que vem primeiro?)
33
+
34
+ #### 1.4. Dados Faltantes
35
+ - Validações de negócio não especificadas
36
+ - Limites e constraints (tamanhos, quantidades)
37
+ - Formatos de dados (datas, moedas, etc.)
38
+
39
+ ### Passo 2: Gerar Perguntas de Clarificação
40
+
41
+ Com base na análise, gere **3-7 perguntas** focadas e específicas:
42
+
43
+ **Formato de pergunta:**
44
+ ```markdown
45
+ ### Q{N}: {Categoria} - {Título}
46
+
47
+ **Context:** {Por que esta pergunta é importante}
48
+
49
+ **Question:** {Pergunta clara e objetiva}
50
+
51
+ **Options (if applicable):**
52
+ - A) {Opção 1}
53
+ - B) {Opção 2}
54
+ - C) {Deixar em aberto/usuário decidir}
55
+
56
+ **Impact:** {Como a resposta afeta a implementação}
57
+ ```
58
+
59
+ ### Passo 3: Categorizar Perguntas
60
+
61
+ Organize perguntas por categoria:
62
+
63
+ | Categoria | Descrição | Exemplos |
64
+ |-----------|-----------|----------|
65
+ | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
66
+ | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
67
+ | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
68
+ | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
69
+ | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
70
+ | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
71
+
72
+ ### Passo 4: Apresentar Perguntas ao Usuário
73
+
74
+ Liste todas as perguntas de forma clara e estruturada.
75
+
76
+ **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
77
+
78
+ ### Passo 5: Atualizar `spec.md` com Respostas
79
+
80
+ Após receber respostas do usuário, atualize o spec com:
81
+
82
+ 1. **Seção de Clarificações** no início do spec:
83
+ ```markdown
84
+ ## Clarifications (FASE 3)
85
+
86
+ ### Q1: {Título}
87
+ **Answer:** {Resposta do usuário}
88
+ **Date:** {YYYY-MM-DD}
89
+ ```
90
+
91
+ 2. **Atualizar seções relevantes** com detalhes adicionados
92
+
93
+ ### Passo 6: Validar Edge Cases
94
+
95
+ Documente no spec como lidar com cada edge case identificado:
96
+
97
+ ```markdown
98
+ ## Edge Cases
99
+
100
+ ### EC001: {Nome do Edge Case}
101
+ **Scenario:** {Quando acontece}
102
+ **Expected Behavior:** {Como o sistema deve reagir}
103
+ **Implementation Notes:** {Dicas para implementação}
104
+ ```
105
+
106
+ ### Passo 7: Atualizar State
107
+
108
+ ```bash
109
+ npx morph-spec state set {feature-name} phase clarify
110
+ ```
111
+
112
+ ## Outputs Gerados/Atualizados
113
+
114
+ - `.morph/project/outputs/{feature}/spec.md` - Atualizado com:
115
+ - Seção "Clarifications" com perguntas e respostas
116
+ - Edge cases documentados
117
+ - Requisitos mais específicos
118
+
119
+ ## Critérios de Avanço
120
+
121
+ - [x] Perguntas de clarificação identificadas (3-7)
122
+ - [x] Perguntas apresentadas ao usuário
123
+ - [x] Respostas do usuário recebidas
124
+ - [x] `spec.md` atualizado com clarificações
125
+ - [x] Edge cases documentados
126
+ - [x] State atualizado
127
+ - [x] Nenhuma ambiguidade crítica remanescente
128
+
129
+ ---
130
+
131
+ Continuar automaticamente para FASE 4 (Tasks) após clarificações resolvidas.