@polymorphism-tech/morph-spec 4.8.18 → 4.9.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 (138) hide show
  1. package/CLAUDE.md +98 -0
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +15 -56
  4. package/bin/task-manager.js +115 -14
  5. package/bin/validate.js +67 -33
  6. package/claude-plugin.json +1 -1
  7. package/docs/CHEATSHEET.md +201 -203
  8. package/docs/QUICKSTART.md +2 -2
  9. package/framework/CLAUDE.md +21 -0
  10. package/framework/agents.json +758 -164
  11. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
  12. package/framework/hooks/claude-code/post-tool-use/dispatch.js +2 -2
  13. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +155 -0
  14. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +1 -1
  15. package/framework/hooks/claude-code/session-start/inject-morph-context.js +71 -2
  16. package/framework/hooks/claude-code/statusline.py +76 -30
  17. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
  18. package/framework/hooks/shared/activity-logger.js +0 -24
  19. package/framework/hooks/shared/phase-utils.js +3 -0
  20. package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
  21. package/framework/hooks/shared/stale-task-reset.js +57 -0
  22. package/framework/hooks/shared/state-reader.js +2 -2
  23. package/framework/hooks/shared/worktree-helpers.js +53 -0
  24. package/framework/phases.json +40 -8
  25. package/framework/skills/level-0-meta/brainstorming/SKILL.md +1 -1
  26. package/framework/skills/level-0-meta/code-review/SKILL.md +1 -1
  27. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +163 -163
  28. package/framework/skills/level-0-meta/frontend-review/SKILL.md +5 -5
  29. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  30. package/framework/skills/level-0-meta/morph-init/SKILL.md +5 -5
  31. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
  32. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
  33. package/framework/skills/level-0-meta/post-implementation/SKILL.md +59 -12
  34. package/framework/skills/level-0-meta/simulation-checklist/SKILL.md +1 -1
  35. package/framework/skills/level-0-meta/terminal-title/SKILL.md +1 -1
  36. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +1 -1
  37. package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +6 -5
  38. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
  39. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +215 -189
  40. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +251 -251
  41. package/framework/skills/level-1-workflows/phase-design/SKILL.md +382 -365
  42. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +492 -450
  43. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +194 -190
  44. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +270 -270
  45. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +285 -285
  46. package/framework/standards/STANDARDS.json +640 -88
  47. package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
  48. package/framework/templates/REGISTRY.json +1825 -1909
  49. package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
  50. package/framework/templates/docs/onboarding.md +1 -5
  51. package/framework/workflows/configs/nodejs-cli.json +40 -0
  52. package/package.json +2 -6
  53. package/src/commands/agents/dispatch-agents.js +55 -4
  54. package/src/commands/project/doctor.js +16 -47
  55. package/src/commands/project/init.js +1 -1
  56. package/src/commands/project/status.js +2 -2
  57. package/src/commands/project/update.js +381 -365
  58. package/src/commands/project/worktree.js +154 -0
  59. package/src/commands/state/advance-phase.js +120 -30
  60. package/src/commands/state/approve.js +2 -2
  61. package/src/commands/state/index.js +7 -8
  62. package/src/commands/state/phase-runner.js +1 -1
  63. package/src/commands/state/state.js +61 -6
  64. package/src/commands/tasks/task.js +78 -99
  65. package/src/commands/templates/template-render.js +93 -173
  66. package/src/commands/trust/trust.js +26 -21
  67. package/src/core/paths/output-schema.js +15 -0
  68. package/src/core/state/state-manager.js +28 -54
  69. package/src/core/workflows/workflow-detector.js +9 -87
  70. package/src/lib/phase-chain/phase-validator.js +330 -0
  71. package/src/lib/stack/stack-profile.js +88 -0
  72. package/src/lib/tasks/task-classifier.js +16 -0
  73. package/src/lib/tasks/test-runner.js +77 -0
  74. package/src/lib/trust/trust-manager.js +32 -144
  75. package/src/lib/validators/spec-validator.js +58 -4
  76. package/src/lib/validators/validation-runner.js +23 -11
  77. package/src/scripts/setup-infra.js +240 -224
  78. package/src/utils/agents-installer.js +2 -2
  79. package/src/utils/banner.js +1 -1
  80. package/src/utils/claude-settings-manager.js +1 -1
  81. package/src/utils/file-copier.js +1 -0
  82. package/src/utils/hooks-installer.js +258 -8
  83. package/framework/hooks/dev/check-sync-health.js +0 -117
  84. package/framework/hooks/dev/guard-version-numbers.js +0 -57
  85. package/framework/hooks/dev/sync-standards-registry.js +0 -60
  86. package/framework/hooks/dev/sync-template-registry.js +0 -60
  87. package/framework/hooks/dev/validate-skill-format.js +0 -70
  88. package/framework/hooks/dev/validate-standard-format.js +0 -73
  89. package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  90. package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  91. package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  92. package/framework/workflows/configs/design-impl.json +0 -49
  93. package/framework/workflows/configs/express.json +0 -45
  94. package/framework/workflows/configs/fast-track.json +0 -42
  95. package/framework/workflows/configs/full-morph.json +0 -79
  96. package/framework/workflows/configs/fusion.json +0 -39
  97. package/framework/workflows/configs/long-running.json +0 -33
  98. package/framework/workflows/configs/spec-only.json +0 -43
  99. package/framework/workflows/configs/ui-refresh.json +0 -49
  100. package/framework/workflows/configs/zero-touch.json +0 -82
  101. package/src/commands/project/monitor.js +0 -295
  102. package/src/commands/project/tutorial.js +0 -115
  103. package/src/commands/state/validate-phase.js +0 -238
  104. package/src/commands/templates/generate-contracts.js +0 -445
  105. package/src/core/orchestrator.js +0 -171
  106. package/src/core/registry/command-registry.js +0 -28
  107. package/src/core/registry/index.js +0 -8
  108. package/src/core/registry/validator-registry.js +0 -204
  109. package/src/core/templates/template-validator.js +0 -296
  110. package/src/generator/config-generator.js +0 -206
  111. package/src/generator/templates/config.json.template +0 -40
  112. package/src/generator/templates/project.md.template +0 -67
  113. package/src/lib/agents/micro-agent-factory.js +0 -161
  114. package/src/lib/analysis/complexity-analyzer.js +0 -441
  115. package/src/lib/analysis/index.js +0 -7
  116. package/src/lib/analytics/analytics-engine.js +0 -345
  117. package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
  118. package/src/lib/checkpoints/index.js +0 -7
  119. package/src/lib/context/context-bundler.js +0 -241
  120. package/src/lib/context/context-optimizer.js +0 -212
  121. package/src/lib/context/context-tracker.js +0 -273
  122. package/src/lib/context/core-four-tracker.js +0 -201
  123. package/src/lib/context/mcp-optimizer.js +0 -200
  124. package/src/lib/execution/fusion-executor.js +0 -304
  125. package/src/lib/execution/parallel-executor.js +0 -270
  126. package/src/lib/hooks/stop-hook-executor.js +0 -286
  127. package/src/lib/hops/hop-composer.js +0 -221
  128. package/src/lib/phase-chain/eligibility-checker.js +0 -243
  129. package/src/lib/threads/thread-coordinator.js +0 -238
  130. package/src/lib/threads/thread-manager.js +0 -317
  131. package/src/lib/tracking/artifact-trail.js +0 -202
  132. package/src/scanner/project-scanner.js +0 -242
  133. package/src/ui/diff-display.js +0 -91
  134. package/src/ui/interactive-wizard.js +0 -96
  135. package/src/ui/user-review.js +0 -211
  136. package/src/ui/wizard-questions.js +0 -188
  137. package/src/utils/color-utils.js +0 -70
  138. package/src/utils/process-handler.js +0 -97
@@ -1,191 +1,195 @@
1
- ---
2
- name: phase-setup
3
- description: MORPH-SPEC Phase 1 (Setup). Reads project context, detects tech stack, activates relevant agents by reading agents.json, and confirms the feature environment. Use at the start of every MORPH-SPEC feature workflow after proposal approval to load standards and initialize the context.
4
- argument-hint: "[feature-name]"
5
- user-invocable: false
6
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
- cliVersion: "4.8.18"
8
- ---
9
-
10
- # MORPH Setup - FASE 1
11
-
12
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
13
-
14
- Inicialize o contexto e prepare o ambiente para uma feature aprovada.
15
-
16
- ## Pré-requisitos
17
-
18
- - [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
19
- - [ ] Proposal foi aprovado pelo usuário
20
- - [ ] Agentes foram detectados e registrados no state
21
-
22
- ## Ferramentas Recomendadas
23
-
24
- > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
25
- > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
26
-
27
- | Ação | Ferramenta | Alternativa |
28
- |------|------------|-------------|
29
- | Verificar state | **Bash** `npx morph-spec state get` | — |
30
- | Detectar agentes + standards | **Read** `.morph/framework/agents.json` → match keywords → **Bash** `npx morph-spec state add-agent` | — |
31
- | Ler contexto do projeto | **Read** `.morph/context/README.md` | — |
32
- | Ler config | **Read** `.morph/config/config.json` | — |
33
- | Detectar arquitetura VSA | **Read** `.morph/config/config.json` → verificar `config.architecture.style` | — |
34
- | Escanear estrutura do projeto | **Glob** `src/**/*.{ts,tsx,cs}` | — |
35
- | Metadata do repositório | **GitHub MCP** `get_repo()` | **Bash** `gh repo view --json` |
36
- | Atualizar state | **Bash** `npx morph-spec state set` | — |
37
-
38
- **MCPs desta fase:** GitHub (opcional — metadata do repo).
39
-
40
- **Anti-padrões:**
41
- - ❌ Chamar `detect-agents` CLI (não existe — leia `.morph/framework/agents.json` diretamente)
42
- - ❌ Task agent para o keyword matching inline de stack detection (rápido o suficiente direto)
43
- - ❌ WebSearch para info local do projeto (use Read/Glob)
44
-
45
- ---
46
-
47
- ## Workflow
48
-
49
- ### CHECKPOINT DE ENTRADA: Verificar Pré-requisitos
50
-
51
- **⏸️ Antes de prosseguir com setup:**
52
-
53
- - [ ] `proposal.md` existe em `.morph/features/$ARGUMENTS/`?
54
- - [ ] Proposal foi apresentado e aprovado pelo usuário?
55
- - [ ] Feature foi registrada no state?
56
-
57
- **❌ Se alguma checkbox NÃO estiver marcada:**
58
- → Voltar para FASE 0 (Proposal)
59
-
60
- ---
61
-
62
- ### Passo 1: Verificar State
63
-
64
- Confirme que a feature existe no state:
65
-
66
- ```bash
67
- npx morph-spec state get $ARGUMENTS
68
- ```
69
-
70
- Se não existir, volte para FASE 0 (proposal).
71
-
72
- ### Passo 2: Detectar Agentes e Carregar Standards
73
-
74
- #### Passo 2.0: Detectar Estilo de Arquitetura e Ativar Arquiteto
75
-
76
- **Leia `.morph/config/config.json` e verifique `config.architecture.style`:**
77
-
78
- | Valor | Ação |
79
- |-------|------|
80
- | `"vertical-slice"` | `npx morph-spec state add-agent $ARGUMENTS vsa-architect` |
81
- | ausente / qualquer outro | `npx morph-spec state add-agent $ARGUMENTS domain-architect` |
82
-
83
- **Prossiga com keyword detection normal para os demais agentes** (ef-modeler, api-designer, etc.).
84
- O arquiteto já foi adicionado acima — **ignore-o no keyword matching** para evitar duplicação.
85
-
86
- #### Passo 2.1: Keyword Detection
87
-
88
- **Leia agents.json diretamente e faça o match de keywords** (exceto `domain-architect` e `vsa-architect` que já foram tratados no Passo 2.0):
89
-
90
- 1. Leia `.morph/framework/agents.json`
91
- 2. Extraia título e descrição da feature de `0-proposal/proposal.md`
92
- 3. Para cada agente no JSON (exceto arquitetos), verifique se alguma keyword do campo `keywords[]` aparece no texto da proposta
93
- 4. Adicione os agentes correspondentes ao state:
94
-
95
- ```bash
96
- npx morph-spec state add-agent $ARGUMENTS {agent-id}
97
- # Exemplo:
98
- npx morph-spec state add-agent $ARGUMENTS dotnet-senior
99
- npx morph-spec state add-agent $ARGUMENTS ef-modeler
100
- ```
101
-
102
- **Para carregar standards dos agentes detectados:**
103
- - Para cada agente ativo, leia os standards referenciados pelo campo `standards[]` em `agents.json`
104
- - Os arquivos de standard ficam em `.morph/framework/standards/{path}`
105
-
106
- **Standards resolution order** (manual):
107
- 1. `.morph/context/*.md` — project overrides (maior prioridade)
108
- 2. `.morph/framework/standards/` — standards instalados pelo morph-spec
109
- 3. `framework/standards/` — standards do pacote npm (fallback)
110
-
111
- **Contexto geral** (leia sempre):
112
- - `.morph/context/README.md` — Overview do projeto
113
- - `.morph/config/config.json` — Configurações
114
-
115
- ### Passo 3: Confirmar Stack
116
-
117
- Baseado no proposal e contexto, confirme:
118
- - Stack tecnológica (Blazor Server, Next.js, etc.)
119
- - Padrões arquiteturais aplicáveis
120
- - Componentes reutilizáveis existentes
121
-
122
- ### Passo 4: Listar Agentes Ativos e Preview de Dispatch
123
-
124
- Mostre os agentes detectados no proposal:
125
-
126
- ```bash
127
- npx morph-spec state get $ARGUMENTS
128
- ```
129
-
130
- Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/framework/agents.json`).
131
-
132
- **Se houver 2+ agentes especialistas ativos**, mostre o plano de dispatch para as próximas fases:
133
-
134
- ```bash
135
- npx morph-spec dispatch-agents $ARGUMENTS design
136
- ```
137
-
138
- Isso informa quais agentes serão disparados em paralelo na fase de design e quais tasks eles executarão.
139
-
140
- ### Passo 5: Atualizar State
141
-
142
- Marque a feature como na fase SETUP:
143
-
144
- ```bash
145
- npx morph-spec state set $ARGUMENTS status in_progress
146
- ```
147
-
148
- ## Outputs
149
-
150
- **Apresente ao usuário:**
151
-
152
- 1. **Contexto carregado**:
153
- - Nome do projeto
154
- - Stack confirmado
155
- - Standards aplicáveis
156
-
157
- 2. **Agentes ativos**:
158
- - Lista de agentes com emojis
159
- - Responsabilidades de cada um
160
-
161
- ## Critérios de Avanço
162
-
163
- - [x] Contexto do projeto carregado
164
- - [x] Standards identificados (framework + project)
165
- - [x] Stack confirmado
166
- - [x] Agentes listados
167
- - [x] State atualizado para phase: setup
168
-
169
- ---
170
-
171
- ## Integração com Superpowers
172
-
173
- > Disponível quando o plugin `superpowers` está instalado.
174
-
175
- | Skill | Quando Usar | Invocação |
176
- |-------|-------------|-----------|
177
- | `using-git-worktrees` | Se feature requer isolamento do workspace | `Skill(superpowers:using-git-worktrees)` |
178
-
179
- ---
180
-
181
- ## Outputs desta Fase
182
-
183
- <!-- morph:outputs:proposal -->
184
- | Output | Caminho |
185
- |--------|---------|
186
- | `proposal` | `.morph/features/{feature}/0-proposal/proposal.md` |
187
- <!-- /morph:outputs -->
188
-
189
- ---
190
-
1
+ ---
2
+ name: morph:phase-setup
3
+ description: MORPH-SPEC Phase 1 (Setup). Reads project context, detects tech stack, activates relevant agents by reading agents.json, and confirms the feature environment. Use at the start of every MORPH-SPEC feature workflow after proposal approval to load standards and initialize the context.
4
+ argument-hint: "[feature-name]"
5
+ user-invocable: false
6
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
+ cliVersion: "4.9.0"
8
+ ---
9
+
10
+ # MORPH Setup - FASE 1
11
+
12
+ > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
13
+
14
+ Inicialize o contexto e prepare o ambiente para uma feature aprovada.
15
+
16
+ ## Pré-requisitos
17
+
18
+ - [ ] Feature tem `proposal.md` criado (FASE 0 concluída)
19
+ - [ ] Proposal foi aprovado pelo usuário
20
+ - [ ] Agentes foram detectados e registrados no state
21
+
22
+ ## Ferramentas Recomendadas
23
+
24
+ > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
25
+ > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
26
+
27
+ | Ação | Ferramenta | Alternativa |
28
+ |------|------------|-------------|
29
+ | Verificar state | **Bash** `npx morph-spec state get` | — |
30
+ | Detectar agentes + standards | **Read** `.morph/framework/agents.json` → match keywords → **Bash** `npx morph-spec state add-agent` | — |
31
+ | Ler contexto do projeto | **Read** `.morph/context/README.md` | — |
32
+ | Ler config | **Read** `.morph/config/config.json` | — |
33
+ | Detectar arquitetura VSA | **Read** `.morph/config/config.json` → verificar `config.architecture.style` | — |
34
+ | Escanear estrutura do projeto | **Glob** `src/**/*.{ts,tsx,cs}` | — |
35
+ | Metadata do repositório | **GitHub MCP** `get_repo()` | **Bash** `gh repo view --json` |
36
+ | Atualizar state | **Bash** `npx morph-spec state set` | — |
37
+
38
+ **MCPs desta fase:** GitHub (opcional — metadata do repo).
39
+
40
+ **Anti-padrões:**
41
+ - ❌ Chamar `detect-agents` CLI (não existe — leia `.morph/framework/agents.json` diretamente)
42
+ - ❌ Task agent para o keyword matching inline de stack detection (rápido o suficiente direto)
43
+ - ❌ WebSearch para info local do projeto (use Read/Glob)
44
+
45
+ ---
46
+
47
+ ## Workflow
48
+
49
+ ### CHECKPOINT DE ENTRADA: Verificar Pré-requisitos
50
+
51
+ **⏸️ Antes de prosseguir com setup:**
52
+
53
+ - [ ] `proposal.md` existe em `.morph/features/$ARGUMENTS/`?
54
+ - [ ] Proposal foi apresentado e aprovado pelo usuário?
55
+ - [ ] Feature foi registrada no state?
56
+
57
+ **❌ Se alguma checkbox NÃO estiver marcada:**
58
+ → Voltar para FASE 0 (Proposal)
59
+
60
+ ---
61
+
62
+ ### Passo 1: Verificar State
63
+
64
+ Confirme que a feature existe no state:
65
+
66
+ ```bash
67
+ npx morph-spec state get $ARGUMENTS
68
+ ```
69
+
70
+ Se não existir, volte para FASE 0 (proposal).
71
+
72
+ ### Passo 2: Detectar Agentes e Carregar Standards
73
+
74
+ #### Passo 2.0: Detectar Estilo de Arquitetura e Ativar Arquiteto
75
+
76
+ **Leia `.morph/config/config.json` e verifique `config.architecture.style`:**
77
+
78
+ | Valor | Ação |
79
+ |-------|------|
80
+ | `"vertical-slice"` | `npx morph-spec state add-agent $ARGUMENTS vsa-architect` |
81
+ | ausente / qualquer outro | `npx morph-spec state add-agent $ARGUMENTS domain-architect` |
82
+
83
+ **Prossiga com keyword detection normal para os demais agentes** (ef-modeler, api-designer, etc.).
84
+ O arquiteto já foi adicionado acima — **ignore-o no keyword matching** para evitar duplicação.
85
+
86
+ #### Passo 2.1: Keyword Detection
87
+
88
+ **Leia agents.json diretamente e faça o match de keywords** (exceto `domain-architect` e `vsa-architect` que já foram tratados no Passo 2.0):
89
+
90
+ 1. Leia `.morph/framework/agents.json`
91
+ 2. Extraia título e descrição da feature de `0-proposal/proposal.md`
92
+ 3. Para cada agente no JSON (exceto arquitetos), verifique se alguma keyword do campo `keywords[]` aparece no texto da proposta
93
+ 4. Adicione os agentes correspondentes ao state:
94
+
95
+ ```bash
96
+ npx morph-spec state add-agent $ARGUMENTS {agent-id}
97
+ # Exemplo:
98
+ npx morph-spec state add-agent $ARGUMENTS dotnet-senior
99
+ npx morph-spec state add-agent $ARGUMENTS ef-modeler
100
+ ```
101
+
102
+ **Para carregar standards dos agentes detectados:**
103
+ - Para cada agente ativo, leia os standards referenciados pelo campo `standards[]` em `agents.json`
104
+ - Os arquivos de standard ficam em `.morph/framework/standards/{path}`
105
+
106
+ **Standards resolution order** (manual):
107
+ 1. `.morph/context/*.md` — project overrides (maior prioridade)
108
+ 2. `.morph/framework/standards/` — standards instalados pelo morph-spec
109
+ 3. `framework/standards/` — standards do pacote npm (fallback)
110
+
111
+ **Contexto geral** (leia sempre):
112
+ - `.morph/context/README.md` — Overview do projeto
113
+ - `.morph/config/config.json` — Configurações
114
+
115
+ ### Passo 3: Confirmar Stack
116
+
117
+ Baseado no proposal e contexto, confirme:
118
+ - Stack tecnológica (Blazor Server, Next.js, etc.)
119
+ - Padrões arquiteturais aplicáveis
120
+ - Componentes reutilizáveis existentes
121
+
122
+ ### Passo 4: Listar Agentes Ativos e Preview de Dispatch
123
+
124
+ Mostre os agentes detectados no proposal:
125
+
126
+ ```bash
127
+ npx morph-spec state get $ARGUMENTS
128
+ ```
129
+
130
+ Parse o JSON e liste os `activeAgents` com seus emojis e responsabilidades (consulte `.morph/framework/agents.json`).
131
+
132
+ **Se houver 2+ agentes especialistas ativos**, mostre o plano de dispatch para as próximas fases:
133
+
134
+ ```bash
135
+ npx morph-spec dispatch-agents $ARGUMENTS design
136
+ ```
137
+
138
+ Isso informa quais agentes serão disparados em paralelo na fase de design e quais tasks eles executarão.
139
+
140
+ > **Mapeamento importante:** `agents[].id` do dispatch config = `subagent_type` no `Agent` tool.
141
+ > Exemplo: `id: "nextjs-expert"` → `Agent(subagent_type=nextjs-expert, prompt=agent.taskPrompt)`.
142
+ > Cada `id` corresponde ao campo `name:` no frontmatter do arquivo em `.claude/agents/`.
143
+
144
+ ### Passo 5: Atualizar State
145
+
146
+ Marque a feature como na fase SETUP:
147
+
148
+ ```bash
149
+ npx morph-spec state set $ARGUMENTS status in_progress
150
+ ```
151
+
152
+ ## Outputs
153
+
154
+ **Apresente ao usuário:**
155
+
156
+ 1. **Contexto carregado**:
157
+ - Nome do projeto
158
+ - Stack confirmado
159
+ - Standards aplicáveis
160
+
161
+ 2. **Agentes ativos**:
162
+ - Lista de agentes com emojis
163
+ - Responsabilidades de cada um
164
+
165
+ ## Critérios de Avanço
166
+
167
+ - [x] Contexto do projeto carregado
168
+ - [x] Standards identificados (framework + project)
169
+ - [x] Stack confirmado
170
+ - [x] Agentes listados
171
+ - [x] State atualizado para phase: setup
172
+
173
+ ---
174
+
175
+ ## Integração com Superpowers
176
+
177
+ > Disponível quando o plugin `superpowers` está instalado.
178
+
179
+ | Skill | Quando Usar | Invocação |
180
+ |-------|-------------|-----------|
181
+ | `using-git-worktrees` | Se feature requer isolamento do workspace | `Skill(superpowers:using-git-worktrees)` |
182
+
183
+ ---
184
+
185
+ ## Outputs desta Fase
186
+
187
+ <!-- morph:outputs:proposal -->
188
+ | Output | Caminho |
189
+ |--------|---------|
190
+ | `proposal` | `.morph/features/{feature}/0-proposal/proposal.md` |
191
+ <!-- /morph:outputs -->
192
+
193
+ ---
194
+
191
195
  Continuar automaticamente para próxima fase (UI/UX se detectado, ou Design).