@polymorphism-tech/morph-spec 2.4.0 → 3.0.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 (87) hide show
  1. package/CLAUDE.md +75 -239
  2. package/bin/morph-spec.js +8 -0
  3. package/content/.claude/commands/morph-deploy.md +529 -0
  4. package/content/.claude/skills/level-0-meta/README.md +7 -0
  5. package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
  6. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  7. package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
  8. package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
  9. package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
  10. package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
  11. package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
  12. package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
  13. package/content/.claude/skills/level-2-domains/README.md +14 -0
  14. package/content/.claude/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  15. package/content/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  16. package/content/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  17. package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
  18. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  19. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  20. package/content/.morph/config/agents.json +744 -358
  21. package/content/.morph/config/config.template.json +33 -0
  22. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  23. package/content/.morph/examples/scheduled-reports/decisions.md +158 -158
  24. package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
  25. package/content/.morph/examples/scheduled-reports/spec.md +267 -267
  26. package/content/.morph/hooks/README.md +158 -0
  27. package/content/.morph/hooks/task-completed.js +73 -0
  28. package/content/.morph/hooks/teammate-idle.js +68 -0
  29. package/content/.morph/schemas/tasks.schema.json +220 -220
  30. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  31. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  32. package/content/.morph/templates/CONTEXT.md +170 -0
  33. package/content/.morph/templates/clarify-questions.md +159 -159
  34. package/content/.morph/templates/contracts/Commands.cs +74 -74
  35. package/content/.morph/templates/contracts/Entities.cs +25 -25
  36. package/content/.morph/templates/contracts/Queries.cs +74 -74
  37. package/content/.morph/templates/contracts/README.md +74 -74
  38. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  39. package/package.json +1 -2
  40. package/scripts/reorganize-skills.cjs +175 -0
  41. package/scripts/validate-agents-structure.cjs +52 -0
  42. package/scripts/validate-skills.cjs +180 -0
  43. package/src/commands/advance-phase.js +83 -0
  44. package/src/commands/deploy.js +780 -0
  45. package/src/commands/detect-agents.js +43 -6
  46. package/src/commands/detect.js +1 -1
  47. package/src/commands/generate-context.js +40 -0
  48. package/src/commands/state.js +2 -1
  49. package/src/commands/sync.js +1 -1
  50. package/src/commands/update.js +13 -1
  51. package/src/lib/context-generator.js +513 -0
  52. package/src/lib/design-system-detector.js +187 -0
  53. package/src/lib/design-system-scaffolder.js +299 -0
  54. package/src/lib/hook-executor.js +256 -0
  55. package/src/lib/spec-validator.js +258 -0
  56. package/src/lib/standards-context-injector.js +287 -0
  57. package/src/lib/state-manager.js +21 -4
  58. package/src/lib/team-orchestrator.js +322 -0
  59. package/src/lib/validation-runner.js +65 -13
  60. package/src/lib/validators/design-system-validator.js +231 -0
  61. package/src/utils/file-copier.js +9 -1
  62. /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
  63. /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
  64. /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
  65. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
  66. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
  67. /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
  68. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
  69. /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
  70. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
  71. /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
  72. /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
  73. /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
  74. /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
  75. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
  76. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
  77. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
  78. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
  79. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
  80. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
  81. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
  82. /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +0 -0
  83. /package/{detectors → src/lib/detectors}/config-detector.js +0 -0
  84. /package/{detectors → src/lib/detectors}/conversation-analyzer.js +0 -0
  85. /package/{detectors → src/lib/detectors}/index.js +0 -0
  86. /package/{detectors → src/lib/detectors}/standards-generator.js +0 -0
  87. /package/{detectors → src/lib/detectors}/structure-detector.js +0 -0
@@ -1,205 +1,213 @@
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
16
-
17
- Leia os arquivos existentes da feature:
18
-
19
- ```bash
20
- npx morph-spec state get {feature-name}
21
- ```
22
-
23
- Leia:
24
- 1. `.morph/project/outputs/{feature}/proposal.md` - Proposta inicial
25
- 2. `.morph/project/outputs/{feature}/ui-*.md` - UI/UX specs (se existirem)
26
- 3. `framework/standards/` e `.morph/project/standards/` - Padrões aplicáveis
27
-
28
- ### Passo 2: Gerar `spec.md`
29
-
30
- Crie `.morph/project/outputs/{feature}/spec.md` com:
31
-
32
- #### 2.1. Overview
33
- - **Objetivo:** Resumo de 1-2 parágrafos
34
- - **Usuários afetados:** Quem vai usar?
35
- - **Problema resolvido:** Qual dor/necessidade?
36
-
37
- #### 2.2. Functional Requirements
38
- Lista detalhada de requisitos funcionais:
39
- ```markdown
40
- ### FR001: {Requisito}
41
- **Description:** {O que deve fazer}
42
- **Acceptance Criteria:**
43
- - [ ] Critério 1
44
- - [ ] Critério 2
45
- **Priority:** High/Medium/Low
46
- ```
47
-
48
- #### 2.3. Non-Functional Requirements
49
- - Performance (tempos de resposta esperados)
50
- - Segurança (autenticação, autorização)
51
- - Escalabilidade (volume de dados/usuários)
52
- - Disponibilidade (uptime esperado)
53
-
54
- #### 2.4. Technical Architecture
55
- - **Camadas:** (Presentation, Application, Domain, Infrastructure)
56
- - **Patterns:** (Repository, CQRS, DI, etc.)
57
- - **Dependências:** Bibliotecas/serviços externos necessários
58
-
59
- #### 2.5. Data Model
60
- - Entities principais
61
- - Relacionamentos (1:1, 1:N, N:N)
62
- - Campos obrigatórios vs opcionais
63
- - Validações de negócio
64
-
65
- #### 2.6. Infrastructure Requirements
66
- Se houver recursos Azure:
67
- - Banco de dados (Azure SQL, Cosmos DB)
68
- - Storage (Blob Storage)
69
- - Compute (Container Apps, App Service)
70
- - Monitoring (App Insights)
71
-
72
- **SEMPRE usar Bicep para infra!**
73
-
74
- ### Passo 3: Gerar `contracts.cs`
75
-
76
- Crie `.morph/project/outputs/{feature}/contracts.cs` com:
77
-
78
- ```csharp
79
- // Interfaces, DTOs, Enums, Value Objects
80
-
81
- namespace {ProjectName}.Features.{FeatureName};
82
-
83
- // DTOs (Data Transfer Objects)
84
- public record {Feature}CreateDto(
85
- string Name,
86
- DateTime Date
87
- );
88
-
89
- public record {Feature}ResponseDto(
90
- Guid Id,
91
- string Name,
92
- DateTime Date,
93
- DateTime CreatedAt
94
- );
95
-
96
- // Interfaces
97
- public interface I{Feature}Service
98
- {
99
- Task<{Feature}ResponseDto> CreateAsync({Feature}CreateDto dto, CancellationToken ct);
100
- Task<{Feature}ResponseDto?> GetByIdAsync(Guid id, CancellationToken ct);
101
- }
102
-
103
- // Enums
104
- public enum {Feature}Status
105
- {
106
- Pending,
107
- Active,
108
- Completed
109
- }
110
- ```
111
-
112
- **Padrões obrigatórios:**
113
- - Records para DTOs (immutable)
114
- - Interfaces para serviços
115
- - CancellationToken em métodos async
116
- - Nullable reference types habilitados
117
-
118
- ### Passo 4: Iniciar `decisions.md`
119
-
120
- Crie `.morph/project/outputs/{feature}/decisions.md` com ADRs relevantes:
121
-
122
- ```markdown
123
- # Architectural Decision Records (ADRs)
124
-
125
- ## ADR-001: {Decisão Arquitetural}
126
-
127
- **Status:** Proposed/Accepted/Deprecated
128
-
129
- **Context:**
130
- {Por que esta decisão foi necessária}
131
-
132
- **Decision:**
133
- {O que foi decidido}
134
-
135
- **Consequences:**
136
- **Pros:**
137
- - Pro 1
138
-
139
- **Cons:**
140
- - Con 1
141
-
142
- **Alternatives Considered:**
143
- - Alternativa 1: {Por que foi rejeitada}
144
-
145
- **Date:** {YYYY-MM-DD}
146
- ```
147
-
148
- **ADRs obrigatórios:**
149
- - Escolha de biblioteca UI (se FASE 1.5 executou)
150
- - Padrões arquiteturais (CQRS, Repository, etc.)
151
- - Recursos Azure (se houver infra)
152
- - Integrações externas (APIs, webhooks, etc.)
153
-
154
- ### Passo 5: Estimar Custos
155
-
156
- Se houver recursos Azure na spec:
157
-
158
- **Limites configuráveis** (em config.json):
159
- - `costs.limits.freeTierOnly`: $0 (apenas free tier)
160
- - `costs.limits.withApproval`: $10 (requer confirmação do usuário)
161
- - `costs.limits.requiresADR`: $10 (requer ADR documentado)
162
-
163
- Documente custos em `decisions.md` e atualize state:
164
-
165
- ```bash
166
- npx morph-spec state set {feature-name} costs.estimated {X.XX}
167
- npx morph-spec state set {feature-name} costs.approved {true/false}
168
- ```
169
-
170
- ### Passo 6: Atualizar State
171
-
172
- ```bash
173
- npx morph-spec state set {feature-name} phase design
174
- npx morph-spec state mark-output {feature-name} spec
175
- npx morph-spec state mark-output {feature-name} contracts
176
- npx morph-spec state mark-output {feature-name} decisions
177
- ```
178
-
179
- ## Outputs Gerados
180
-
181
- - `.morph/project/outputs/{feature}/spec.md` - Especificação técnica completa
182
- - `.morph/project/outputs/{feature}/contracts.cs` - Interfaces, DTOs, Enums
183
- - `.morph/project/outputs/{feature}/decisions.md` - ADRs (novo ou atualizado)
184
- - State atualizado com custos estimados
185
-
186
- ## PAUSA OBRIGATÓRIA
187
-
188
- Apresente ao usuário 3 ações sugeridas:
189
-
190
- 1. **Aprovar design e continuar para clarificação**
191
- 2. **Ajustar escopo/complexidade** - Revisar spec.md
192
- 3. **Modificar contracts** - Ajustar interfaces/DTOs
193
-
194
- ## Critérios de Avanço
195
-
196
- - [x] `spec.md` completo com todos os requisitos
197
- - [x] `contracts.cs` com interfaces e DTOs
198
- - [x] `decisions.md` com ADRs relevantes
199
- - [x] Custos estimados e documentados (se houver infra)
200
- - [x] State atualizado
201
- - [x] Usuário aprovou design
202
-
203
- ---
204
-
205
- Continuar automaticamente para FASE 3 (Clarify) após aprovação.
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,92 +1,106 @@
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 do Projeto
26
-
27
- Leia os seguintes arquivos para entender o projeto:
28
-
29
- 1. **Contexto geral**:
30
- - `.morph/project/context/README.md` - Overview do projeto
31
- - `.morph/config.json` - Configurações
32
-
33
- 2. **Standards do framework**:
34
- - `framework/standards/coding.md` - Padrões de código
35
- - `framework/standards/architecture.md` - Padrões de arquitetura
36
- - `framework/standards/azure.md` - Padrões Azure e IaC
37
-
38
- 3. **Standards do projeto** (sobrescrevem framework se existirem):
39
- - `.morph/project/standards/coding.md`
40
- - `.morph/project/standards/architecture.md`
41
- - `.morph/project/standards/inferred.md` - Standards detectados
42
-
43
- ### Passo 3: Confirmar Stack
44
-
45
- Baseado no proposal e contexto, confirme:
46
- - Stack tecnológica (Blazor Server, Next.js, etc.)
47
- - Padrões arquiteturais aplicáveis
48
- - Componentes reutilizáveis existentes
49
-
50
- ### Passo 4: Listar Agentes Ativos
51
-
52
- Mostre os agentes detectados no proposal:
53
-
54
- ```bash
55
- npx morph-spec state get {feature-name}
56
- ```
57
-
58
- Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/config/agents.json`).
59
-
60
- ### Passo 5: Atualizar State
61
-
62
- Marque a feature como na fase SETUP:
63
-
64
- ```bash
65
- npx morph-spec state set {feature-name} phase setup
66
- npx morph-spec state set {feature-name} status in_progress
67
- ```
68
-
69
- ## Outputs
70
-
71
- **Apresente ao usuário:**
72
-
73
- 1. **Contexto carregado**:
74
- - Nome do projeto
75
- - Stack confirmado
76
- - Standards aplicáveis
77
-
78
- 2. **Agentes ativos**:
79
- - Lista de agentes com emojis
80
- - Responsabilidades de cada um
81
-
82
- ## Critérios de Avanço
83
-
84
- - [x] Contexto do projeto carregado
85
- - [x] Standards identificados (framework + project)
86
- - [x] Stack confirmado
87
- - [x] Agentes listados
88
- - [x] State atualizado para phase: setup
89
-
90
- ---
91
-
92
- Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).
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. `content/.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).