@polymorphism-tech/morph-spec 4.2.0 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CLAUDE.md +108 -946
  2. package/bin/morph-spec.js +284 -9
  3. package/bin/task-manager.cjs +102 -14
  4. package/bin/validate.js +4 -4
  5. package/docs/{v3.0 → next-generation}/AGENTS.md +1 -1
  6. package/docs/next-generation/CONTEXT-OPTIMIZATION.md +267 -0
  7. package/docs/next-generation/EXECUTION-FLOW.md +274 -0
  8. package/docs/next-generation/META-PROMPTS.md +235 -0
  9. package/docs/next-generation/MIGRATION-GUIDE.md +253 -0
  10. package/docs/next-generation/THREAD-MANAGEMENT.md +240 -0
  11. package/package.json +5 -5
  12. package/src/commands/agents/agents-fuse.js +97 -0
  13. package/src/commands/agents/micro-agent.js +112 -0
  14. package/src/commands/agents/spawn-team.js +69 -4
  15. package/src/commands/agents/squad-template.js +146 -0
  16. package/src/commands/analytics/analytics.js +176 -0
  17. package/src/commands/context/context-prime.js +63 -0
  18. package/src/commands/context/core-four.js +54 -0
  19. package/src/commands/mcp/mcp.js +102 -0
  20. package/src/commands/project/detect-agents.js +32 -2
  21. package/src/commands/project/detect.js +11 -1
  22. package/src/commands/project/doctor.js +573 -356
  23. package/src/commands/project/init.js +9 -2
  24. package/src/commands/project/update.js +13 -3
  25. package/src/commands/state/advance-phase.js +448 -416
  26. package/src/commands/state/state.js +14 -12
  27. package/src/commands/tasks/task.js +1 -1
  28. package/src/commands/templates/template-render.js +80 -1
  29. package/src/commands/threads/thread-template.js +103 -0
  30. package/src/commands/threads/threads.js +261 -0
  31. package/src/commands/trust/trust.js +205 -0
  32. package/src/{orchestrator.js → core/orchestrator.js} +8 -8
  33. package/src/core/state/state-manager.js +37 -17
  34. package/src/core/workflows/workflow-detector.js +114 -3
  35. package/src/lib/agents/micro-agent-factory.js +161 -0
  36. package/src/lib/analytics/analytics-engine.js +345 -0
  37. package/src/lib/checkpoints/checkpoint-hooks.js +298 -258
  38. package/src/lib/context/context-bundler.js +240 -0
  39. package/src/lib/context/context-optimizer.js +212 -0
  40. package/src/lib/context/context-tracker.js +273 -0
  41. package/src/lib/context/core-four-tracker.js +201 -0
  42. package/src/lib/context/mcp-optimizer.js +200 -0
  43. package/src/lib/detectors/index.js +1 -1
  44. package/src/lib/detectors/standards-generator.js +77 -17
  45. package/src/lib/detectors/structure-detector.js +67 -39
  46. package/src/lib/execution/fusion-executor.js +304 -0
  47. package/src/lib/execution/parallel-executor.js +270 -0
  48. package/src/lib/generators/context-generator.js +3 -3
  49. package/src/lib/generators/recap-generator.js +32 -12
  50. package/src/lib/hooks/hook-executor.js +169 -0
  51. package/src/lib/hooks/stop-hook-executor.js +286 -0
  52. package/src/lib/hops/hop-composer.js +221 -0
  53. package/src/lib/threads/thread-coordinator.js +238 -0
  54. package/src/lib/threads/thread-manager.js +317 -0
  55. package/src/lib/tracking/artifact-trail.js +202 -0
  56. package/src/lib/trust/trust-manager.js +269 -0
  57. package/src/lib/validators/design-system/design-system-validator.js +2 -2
  58. package/src/lib/validators/validation-runner.js +14 -30
  59. package/src/utils/hooks-installer.js +69 -0
  60. package/stacks/blazor-azure/.morph/config/agents.json +72 -3
  61. package/stacks/nextjs-supabase/.morph/config/agents.json +3 -3
  62. package/docs/llm-interaction-config.md +0 -735
  63. package/docs/v3.0/EXECUTION-FLOW.md +0 -1304
  64. package/src/commands/utils/migrate-state.js +0 -158
  65. package/src/commands/utils/upgrade.js +0 -346
  66. package/src/lib/validators/architecture-validator.js +0 -60
  67. package/src/lib/validators/content-validator.js +0 -164
  68. package/src/lib/validators/package-validator.js +0 -61
  69. package/src/lib/validators/ui-contrast-validator.js +0 -44
  70. package/stacks/blazor-azure/.claude/commands/morph-apply.md +0 -221
  71. package/stacks/blazor-azure/.claude/commands/morph-archive.md +0 -79
  72. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +0 -529
  73. package/stacks/blazor-azure/.claude/commands/morph-infra.md +0 -209
  74. package/stacks/blazor-azure/.claude/commands/morph-preflight.md +0 -227
  75. package/stacks/blazor-azure/.claude/commands/morph-proposal.md +0 -122
  76. package/stacks/blazor-azure/.claude/commands/morph-status.md +0 -86
  77. package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +0 -122
  78. package/stacks/blazor-azure/.claude/skills/level-0-meta/README.md +0 -7
  79. package/stacks/blazor-azure/.claude/skills/level-0-meta/code-review.md +0 -226
  80. package/stacks/blazor-azure/.claude/skills/level-0-meta/morph-checklist.md +0 -117
  81. package/stacks/blazor-azure/.claude/skills/level-0-meta/simulation-checklist.md +0 -77
  82. package/stacks/blazor-azure/.claude/skills/level-1-workflows/README.md +0 -7
  83. package/stacks/blazor-azure/.claude/skills/level-1-workflows/morph-replicate.md +0 -213
  84. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-clarify.md +0 -131
  85. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-design.md +0 -213
  86. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-setup.md +0 -106
  87. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-tasks.md +0 -164
  88. package/stacks/blazor-azure/.claude/skills/level-1-workflows/phase-uiux.md +0 -169
  89. package/stacks/blazor-azure/.claude/skills/level-2-domains/README.md +0 -14
  90. package/stacks/blazor-azure/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -192
  91. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -197
  92. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/prompt-engineer.md +0 -189
  93. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +0 -320
  94. package/stacks/blazor-azure/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -156
  95. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/api-designer.md +0 -59
  96. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -77
  97. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -58
  98. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -126
  99. package/stacks/blazor-azure/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -45
  100. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -210
  101. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -154
  102. package/stacks/blazor-azure/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -191
  103. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -142
  104. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +0 -699
  105. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -126
  106. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -131
  107. package/stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -119
  108. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -130
  109. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -142
  110. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -108
  111. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/hangfire-orchestrator.md +0 -64
  112. package/stacks/blazor-azure/.claude/skills/level-2-domains/integrations/resend-email.md +0 -119
  113. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -235
  114. package/stacks/blazor-azure/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -126
  115. package/stacks/blazor-azure/.claude/skills/level-3-technologies/README.md +0 -7
  116. package/stacks/blazor-azure/.claude/skills/level-4-patterns/README.md +0 -7
  117. package/stacks/blazor-azure/.morph/archive/.gitkeep +0 -25
  118. package/stacks/blazor-azure/.morph/features/.gitkeep +0 -25
  119. package/stacks/blazor-azure/.morph/schemas/agent.schema.json +0 -296
  120. package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +0 -220
  121. package/stacks/blazor-azure/.morph/specs/.gitkeep +0 -20
  122. package/stacks/blazor-azure/.morph/test-infra/example.bicep +0 -59
  123. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +0 -221
  124. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +0 -79
  125. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +0 -529
  126. package/stacks/nextjs-supabase/.claude/commands/morph-infra.md +0 -209
  127. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +0 -227
  128. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +0 -122
  129. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +0 -86
  130. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +0 -122
  131. package/stacks/nextjs-supabase/.claude/settings.local.json +0 -6
  132. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +0 -244
  133. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +0 -335
  134. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +0 -189
  135. package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +0 -50
  136. /package/docs/{v3.0 → next-generation}/ANALYSIS.md +0 -0
  137. /package/docs/{v3.0 → next-generation}/ARCHITECTURE.md +0 -0
  138. /package/docs/{v3.0 → next-generation}/FEATURES.md +0 -0
  139. /package/docs/{v3.0 → next-generation}/README.md +0 -0
  140. /package/docs/{v3.0 → next-generation}/ROADMAP.md +0 -0
@@ -1,131 +0,0 @@
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.
@@ -1,213 +0,0 @@
1
- # MORPH Design - FASE 2
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Expanda a proposta em especificação técnica completa, contracts, decisões arquiteturais e estimativa de custos.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 1 (Setup) concluída
10
- - [ ] FASE 1.5 (UI/UX) concluída OU pulada (se não houver front-end)
11
- - [ ] Proposta aprovada pelo usuário
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Carregar Contexto e Standards
16
-
17
- **Obtenha feature state e standards context:**
18
-
19
- ```bash
20
- npx morph-spec state get {feature-name}
21
- ```
22
-
23
- Parse o JSON para obter `activeAgents`, então use standards context (já carregado na FASE 1):
24
- - Standards relevantes estão em `standardsSummary` do detect-agents
25
- - Padrões já incluem project overrides + inferred learnings
26
-
27
- **Leia outputs existentes:**
28
- 1. `.morph/project/outputs/{feature}/proposal.md` - Proposta inicial
29
- 2. `.morph/project/outputs/{feature}/ui-*.md` - UI/UX specs (se existirem)
30
-
31
- **Use standards context ao gerar spec.md:**
32
- - Architecture standards → guiam Technical Architecture section
33
- - Coding standards → definem contracts.cs patterns
34
- - Azure standards → determinam Infrastructure Requirements
35
-
36
- ### Passo 2: Gerar `spec.md`
37
-
38
- Crie `.morph/project/outputs/{feature}/spec.md` com:
39
-
40
- #### 2.1. Overview
41
- - **Objetivo:** Resumo de 1-2 parágrafos
42
- - **Usuários afetados:** Quem vai usar?
43
- - **Problema resolvido:** Qual dor/necessidade?
44
-
45
- #### 2.2. Functional Requirements
46
- Lista detalhada de requisitos funcionais:
47
- ```markdown
48
- ### FR001: {Requisito}
49
- **Description:** {O que deve fazer}
50
- **Acceptance Criteria:**
51
- - [ ] Critério 1
52
- - [ ] Critério 2
53
- **Priority:** High/Medium/Low
54
- ```
55
-
56
- #### 2.3. Non-Functional Requirements
57
- - Performance (tempos de resposta esperados)
58
- - Segurança (autenticação, autorização)
59
- - Escalabilidade (volume de dados/usuários)
60
- - Disponibilidade (uptime esperado)
61
-
62
- #### 2.4. Technical Architecture
63
- - **Camadas:** (Presentation, Application, Domain, Infrastructure)
64
- - **Patterns:** (Repository, CQRS, DI, etc.)
65
- - **Dependências:** Bibliotecas/serviços externos necessários
66
-
67
- #### 2.5. Data Model
68
- - Entities principais
69
- - Relacionamentos (1:1, 1:N, N:N)
70
- - Campos obrigatórios vs opcionais
71
- - Validações de negócio
72
-
73
- #### 2.6. Infrastructure Requirements
74
- Se houver recursos Azure:
75
- - Banco de dados (Azure SQL, Cosmos DB)
76
- - Storage (Blob Storage)
77
- - Compute (Container Apps, App Service)
78
- - Monitoring (App Insights)
79
-
80
- **SEMPRE usar Bicep para infra!**
81
-
82
- ### Passo 3: Gerar `contracts.cs`
83
-
84
- Crie `.morph/project/outputs/{feature}/contracts.cs` com:
85
-
86
- ```csharp
87
- // Interfaces, DTOs, Enums, Value Objects
88
-
89
- namespace {ProjectName}.Features.{FeatureName};
90
-
91
- // DTOs (Data Transfer Objects)
92
- public record {Feature}CreateDto(
93
- string Name,
94
- DateTime Date
95
- );
96
-
97
- public record {Feature}ResponseDto(
98
- Guid Id,
99
- string Name,
100
- DateTime Date,
101
- DateTime CreatedAt
102
- );
103
-
104
- // Interfaces
105
- public interface I{Feature}Service
106
- {
107
- Task<{Feature}ResponseDto> CreateAsync({Feature}CreateDto dto, CancellationToken ct);
108
- Task<{Feature}ResponseDto?> GetByIdAsync(Guid id, CancellationToken ct);
109
- }
110
-
111
- // Enums
112
- public enum {Feature}Status
113
- {
114
- Pending,
115
- Active,
116
- Completed
117
- }
118
- ```
119
-
120
- **Padrões obrigatórios:**
121
- - Records para DTOs (immutable)
122
- - Interfaces para serviços
123
- - CancellationToken em métodos async
124
- - Nullable reference types habilitados
125
-
126
- ### Passo 4: Iniciar `decisions.md`
127
-
128
- Crie `.morph/project/outputs/{feature}/decisions.md` com ADRs relevantes:
129
-
130
- ```markdown
131
- # Architectural Decision Records (ADRs)
132
-
133
- ## ADR-001: {Decisão Arquitetural}
134
-
135
- **Status:** Proposed/Accepted/Deprecated
136
-
137
- **Context:**
138
- {Por que esta decisão foi necessária}
139
-
140
- **Decision:**
141
- {O que foi decidido}
142
-
143
- **Consequences:**
144
- **Pros:**
145
- - Pro 1
146
-
147
- **Cons:**
148
- - Con 1
149
-
150
- **Alternatives Considered:**
151
- - Alternativa 1: {Por que foi rejeitada}
152
-
153
- **Date:** {YYYY-MM-DD}
154
- ```
155
-
156
- **ADRs obrigatórios:**
157
- - Escolha de biblioteca UI (se FASE 1.5 executou)
158
- - Padrões arquiteturais (CQRS, Repository, etc.)
159
- - Recursos Azure (se houver infra)
160
- - Integrações externas (APIs, webhooks, etc.)
161
-
162
- ### Passo 5: Estimar Custos
163
-
164
- Se houver recursos Azure na spec:
165
-
166
- **Limites configuráveis** (em config.json):
167
- - `costs.limits.freeTierOnly`: $0 (apenas free tier)
168
- - `costs.limits.withApproval`: $10 (requer confirmação do usuário)
169
- - `costs.limits.requiresADR`: $10 (requer ADR documentado)
170
-
171
- Documente custos em `decisions.md` e atualize state:
172
-
173
- ```bash
174
- npx morph-spec state set {feature-name} costs.estimated {X.XX}
175
- npx morph-spec state set {feature-name} costs.approved {true/false}
176
- ```
177
-
178
- ### Passo 6: Atualizar State
179
-
180
- ```bash
181
- npx morph-spec state set {feature-name} phase design
182
- npx morph-spec state mark-output {feature-name} spec
183
- npx morph-spec state mark-output {feature-name} contracts
184
- npx morph-spec state mark-output {feature-name} decisions
185
- ```
186
-
187
- ## Outputs Gerados
188
-
189
- - `.morph/project/outputs/{feature}/spec.md` - Especificação técnica completa
190
- - `.morph/project/outputs/{feature}/contracts.cs` - Interfaces, DTOs, Enums
191
- - `.morph/project/outputs/{feature}/decisions.md` - ADRs (novo ou atualizado)
192
- - State atualizado com custos estimados
193
-
194
- ## PAUSA OBRIGATÓRIA
195
-
196
- Apresente ao usuário 3 ações sugeridas:
197
-
198
- 1. **Aprovar design e continuar para clarificação**
199
- 2. **Ajustar escopo/complexidade** - Revisar spec.md
200
- 3. **Modificar contracts** - Ajustar interfaces/DTOs
201
-
202
- ## Critérios de Avanço
203
-
204
- - [x] `spec.md` completo com todos os requisitos
205
- - [x] `contracts.cs` com interfaces e DTOs
206
- - [x] `decisions.md` com ADRs relevantes
207
- - [x] Custos estimados e documentados (se houver infra)
208
- - [x] State atualizado
209
- - [x] Usuário aprovou design
210
-
211
- ---
212
-
213
- Continuar automaticamente para FASE 3 (Clarify) após aprovação.
@@ -1,106 +0,0 @@
1
- # MORPH Setup - FASE 1
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Inicialize o contexto e prepare o ambiente para uma feature aprovada.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
10
- - [ ] Proposal foi aprovado pelo usuário
11
- - [ ] Agentes foram detectados e registrados no state
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Verificar State
16
-
17
- Confirme que a feature existe no state:
18
-
19
- ```bash
20
- npx morph-spec state get {feature-name}
21
- ```
22
-
23
- Se não existir, volte para FASE 0 (proposal).
24
-
25
- ### Passo 2: Carregar Contexto e Standards Automaticamente
26
-
27
- **Use detect-agents --json para obter standards context:**
28
-
29
- ```bash
30
- npx morph-spec detect-agents --json "{feature description from proposal}"
31
- ```
32
-
33
- O output JSON contém `standardsSummary` com todos os standards relevantes para cada agente ativo:
34
-
35
- ```json
36
- {
37
- "standardsSummary": {
38
- "blazor-builder": {
39
- "standards": ["blazor-lifecycle", "blazor-state", "coding", ...],
40
- "fullContent": "# blazor-lifecycle\n\n...", // Full standards text
41
- "count": 10
42
- }
43
- }
44
- }
45
- ```
46
-
47
- **Standards resolution order** (automático):
48
- 1. `.morph/project/standards/*.md` (project overrides - highest priority)
49
- 2. `.morph/standards/*.md` (AI Agent Framework, Azure)
50
- 3. `framework/standards/*.md` (Blazor, CSS, .NET)
51
- 4. `.morph/project/standards/inferred.md` (always loaded if exists)
52
-
53
- **Contexto geral** (leia manualmente):
54
- - `.morph/project/context/README.md` - Overview do projeto
55
- - `.morph/config.json` - Configurações
56
-
57
- ### Passo 3: Confirmar Stack
58
-
59
- Baseado no proposal e contexto, confirme:
60
- - Stack tecnológica (Blazor Server, Next.js, etc.)
61
- - Padrões arquiteturais aplicáveis
62
- - Componentes reutilizáveis existentes
63
-
64
- ### Passo 4: Listar Agentes Ativos
65
-
66
- Mostre os agentes detectados no proposal:
67
-
68
- ```bash
69
- npx morph-spec state get {feature-name}
70
- ```
71
-
72
- Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/config/agents.json`).
73
-
74
- ### Passo 5: Atualizar State
75
-
76
- Marque a feature como na fase SETUP:
77
-
78
- ```bash
79
- npx morph-spec state set {feature-name} phase setup
80
- npx morph-spec state set {feature-name} status in_progress
81
- ```
82
-
83
- ## Outputs
84
-
85
- **Apresente ao usuário:**
86
-
87
- 1. **Contexto carregado**:
88
- - Nome do projeto
89
- - Stack confirmado
90
- - Standards aplicáveis
91
-
92
- 2. **Agentes ativos**:
93
- - Lista de agentes com emojis
94
- - Responsabilidades de cada um
95
-
96
- ## Critérios de Avanço
97
-
98
- - [x] Contexto do projeto carregado
99
- - [x] Standards identificados (framework + project)
100
- - [x] Stack confirmado
101
- - [x] Agentes listados
102
- - [x] State atualizado para phase: setup
103
-
104
- ---
105
-
106
- Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).
@@ -1,164 +0,0 @@
1
- # MORPH Tasks - FASE 4
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Quebre a especificação em tasks executáveis, defina ordem de execução e estabeleça checkpoints.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 3 (Clarify) concluída
10
- - [ ] `spec.md` atualizado com clarificações
11
- - [ ] Todos os edge cases documentados
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Analisar Spec
16
-
17
- Leia `.morph/project/outputs/{feature}/spec.md` e identifique:
18
-
19
- 1. **Requisitos funcionais** (FR001, FR002, ...)
20
- 2. **Componentes técnicos** (Entities, Services, Controllers, Pages)
21
- 3. **Infraestrutura** (Bicep, migrations, configs)
22
- 4. **Testes** (Unit tests, integration tests)
23
-
24
- ### Passo 2: Quebrar em Tasks
25
-
26
- Crie tasks no formato **T{NNN}** seguindo ordem lógica de implementação.
27
-
28
- #### 2.1. Estrutura de Task
29
-
30
- ```json
31
- {
32
- "id": "T001",
33
- "title": "Criar Entity {Nome}",
34
- "description": "Implementar entity {Nome} com propriedades X, Y, Z seguindo padrões EF Core",
35
- "category": "domain",
36
- "dependencies": [],
37
- "estimatedMinutes": 30,
38
- "status": "pending",
39
- "specSections": ["## Domain Model", "## Business Rules"],
40
- "contractInterfaces": ["I{Nome}Repository"],
41
- "files": [
42
- "Domain/Entities/{Nome}.cs",
43
- "Infrastructure/Data/Configurations/{Nome}Configuration.cs"
44
- ]
45
- }
46
- ```
47
-
48
- #### 2.2. Categorias de Tasks
49
-
50
- | Categoria | Descrição | Exemplos |
51
- |-----------|-----------|----------|
52
- | **domain** | Entities, Value Objects, Enums | Entity, DomainException |
53
- | **application** | Services, DTOs, Interfaces | Service, Validator, Mapper |
54
- | **infrastructure** | DbContext, Repositories, External APIs | EF Config, Repository impl |
55
- | **presentation** | Controllers, Pages, Components | API endpoint, Blazor page |
56
- | **tests** | Unit tests, Integration tests | Service tests, API tests |
57
- | **infra** | Bicep, Migrations, Scripts | Azure resources, DB migration |
58
- | **docs** | README, API docs, Swagger | OpenAPI spec, README update |
59
-
60
- #### 2.3. Ordem de Implementação
61
-
62
- **Bottom-up approach:**
63
- ```
64
- 1. Domain (Entities, Enums, Value Objects)
65
-
66
- 2. Infrastructure (Repositories, DbContext configs)
67
-
68
- 3. Application (Services, DTOs, Business logic)
69
-
70
- 4. Presentation (Controllers, Pages, Components)
71
-
72
- 5. Tests (Unit → Integration)
73
-
74
- 6. Infra (Bicep, Migrations, Deploy scripts)
75
-
76
- 7. Docs (README, Swagger, Comments)
77
- ```
78
-
79
- ### Passo 3: Definir Dependências
80
-
81
- Para cada task, especifique dependências:
82
-
83
- ```json
84
- {
85
- "id": "T005",
86
- "title": "Criar {Nome}Service",
87
- "dependencies": ["T001", "T002"],
88
- "status": "pending"
89
- }
90
- ```
91
-
92
- **Regra:** Task só pode ser executada quando todas as dependências estão `completed`.
93
-
94
- ### Passo 4: Estabelecer Checkpoints
95
-
96
- Defina checkpoints a cada **3 tasks** ou **marcos significativos**:
97
-
98
- ```json
99
- {
100
- "id": "CHECKPOINT_001",
101
- "title": "Domain Layer Completo",
102
- "afterTasks": ["T001", "T002", "T003"],
103
- "validations": [
104
- "Todas as entities criadas",
105
- "Migrations aplicadas",
106
- "Testes de domain passando"
107
- ]
108
- }
109
- ```
110
-
111
- ### Passo 5: Estimar Esforço
112
-
113
- Para cada task, estime tempo em minutos:
114
-
115
- | Complexidade | Tempo Estimado |
116
- |--------------|----------------|
117
- | Trivial (CRUD básico) | 15-30 min |
118
- | Simples (Service, Controller) | 30-60 min |
119
- | Média (Business logic, validações) | 60-120 min |
120
- | Complexa (Integrações, AI) | 120-240 min |
121
-
122
- ### Passo 6: Gerar `tasks.json`
123
-
124
- Crie `.morph/project/outputs/{feature}/tasks.json` com a estrutura completa de tasks, checkpoints e estimativas.
125
-
126
- ### Passo 7: Incluir Tasks de IaC (se necessário)
127
-
128
- Se houver recursos Azure, adicionar tasks de Bicep e migrations.
129
-
130
- ### Passo 8: Atualizar State
131
-
132
- ```bash
133
- npx morph-spec state set {feature-name} phase tasks
134
- npx morph-spec state set {feature-name} tasks.total {N}
135
- npx morph-spec state mark-output {feature-name} tasks
136
- ```
137
-
138
- ## Outputs Gerados
139
-
140
- - `.morph/project/outputs/{feature}/tasks.json` - Breakdown completo de tasks
141
-
142
- ## PAUSA OBRIGATÓRIA
143
-
144
- Apresente ao usuário 3 ações sugeridas:
145
-
146
- 1. **Aprovar breakdown e iniciar implementação**
147
- 2. **Repriorizar tasks** - Mudar ordem de execução
148
- 3. **Adicionar/remover tasks** - Ajustar escopo
149
-
150
- ## Critérios de Avanço
151
-
152
- - [x] `tasks.json` criado com todas as tasks
153
- - [x] Tasks categorizadas corretamente
154
- - [x] Dependências mapeadas
155
- - [x] Checkpoints definidos (a cada 3 tasks)
156
- - [x] Esforço estimado por task
157
- - [x] Ordem de execução clara
158
- - [x] Tasks de IaC incluídas (se aplicável)
159
- - [x] State atualizado com total de tasks
160
- - [x] Usuário aprovou breakdown
161
-
162
- ---
163
-
164
- Após aprovação: "Planejamento completo! Execute `/morph-apply {feature}` para iniciar implementação."