adi_dev_workflow 1.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 (52) hide show
  1. package/bin/index.js +8 -0
  2. package/frameworks/commands/generate-prompt.md +98 -0
  3. package/frameworks/commands/ministack/README.md +151 -0
  4. package/frameworks/commands/ministack/code-review.md +67 -0
  5. package/frameworks/commands/ministack/generate-intent.md +20 -0
  6. package/frameworks/commands/ministack/generate-scope.md +37 -0
  7. package/frameworks/commands/ministack/generate-tasks.md +25 -0
  8. package/frameworks/commands/ministack/generate-tests.md +37 -0
  9. package/frameworks/commands/ministack/run-ministack-tasks.md +55 -0
  10. package/frameworks/commands/ministack/run-ministack-withlinear.md +94 -0
  11. package/frameworks/commands/sdd/code-review.md +499 -0
  12. package/frameworks/commands/sdd/generate-prd.md +23 -0
  13. package/frameworks/commands/sdd/generate-spec-tech.md +37 -0
  14. package/frameworks/commands/sdd/generate-task-plan.md +27 -0
  15. package/frameworks/commands/sdd/generate-tests.md +37 -0
  16. package/frameworks/commands/sdd/run_tasks.md +166 -0
  17. package/frameworks/commands/sdd/run_tasks_withlinear.md +519 -0
  18. package/frameworks/commands/sdd/validate-sdd.md +179 -0
  19. package/frameworks/commands/sync-tasks-to-linear.md +588 -0
  20. package/frameworks/commands/taskcard/generate-taskcard.md +25 -0
  21. package/frameworks/commands/taskcard/generate-tests.md +37 -0
  22. package/frameworks/commands/taskcard/run-taskcard.md +34 -0
  23. package/frameworks/skills/ministack-expert/SKILL.md +415 -0
  24. package/frameworks/skills/ministack-expert/templates/tasks-template.md +141 -0
  25. package/frameworks/skills/ministack-intent-expert/SKILL.md +160 -0
  26. package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +45 -0
  27. package/frameworks/skills/ministack-qa-expert/SKILL.md +273 -0
  28. package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +24 -0
  29. package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +75 -0
  30. package/frameworks/skills/ministack-scope-expert/SKILL.md +171 -0
  31. package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +85 -0
  32. package/frameworks/skills/ministack-scope-expert/templates/tech_direction-template.md +17 -0
  33. package/frameworks/skills/sdd-prd-expert/SKILL.md +236 -0
  34. package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +126 -0
  35. package/frameworks/skills/sdd-qa-expert/SKILL.md +284 -0
  36. package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +24 -0
  37. package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +75 -0
  38. package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +387 -0
  39. package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +246 -0
  40. package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +23 -0
  41. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +353 -0
  42. package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +83 -0
  43. package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +89 -0
  44. package/frameworks/skills/taskcard-expert/SKILL.md +308 -0
  45. package/frameworks/skills/taskcard-expert/templates/template.md +134 -0
  46. package/frameworks/skills/taskcard-qa-expert/SKILL.md +265 -0
  47. package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +78 -0
  48. package/frameworks/templates/prompt_template.md +164 -0
  49. package/package.json +28 -0
  50. package/src/cli.js +121 -0
  51. package/src/installer.js +136 -0
  52. package/src/transformer.js +86 -0
@@ -0,0 +1,166 @@
1
+ ---
2
+ description: Coordena sub-agentes para executar tasks de um task_plan.md com máximo paralelismo
3
+ arguments-hint: "<nome-feature> <agent_name>"
4
+ ---
5
+ Você é um **Coordenador de Sub-agentes** dentro do framework de desenvolvimento assistido por IA. Seu papel é **orquestrar**, não executar diretamente.
6
+
7
+ ## Parâmetros
8
+
9
+ O `$ARGUMENTS` deve conter:
10
+
11
+ 1. **nome-feature** (obrigatório) — Nome da feature, correspondente ao diretório em `docs/` (ex: `auth-module`, `zap-logger`)
12
+ 2. **agent_name** (obrigatório) — Nome do sub-agente executor (ex: `flutter-dev-agent`, `go-dev-agent`, `react-dev-agent`)
13
+
14
+ **Formato:** `<nome-feature> <agent_name>`
15
+
16
+ **Exemplos:**
17
+ - `auth-module go-dev-agent`
18
+ - `zap-logger go-dev-agent`
19
+ - `user-interface flutter-dev-agent`
20
+
21
+ A partir do **nome-feature**, derive os caminhos:
22
+ - **task_plan.md**: `docs/<nome-feature>/task_plan.md`
23
+ - **Arquivos de tasks**: `docs/<nome-feature>/tasks/<ID>.md`
24
+ - **spec_tech.md**: `docs/<nome-feature>/spec_tech.md`
25
+ - **prd.md**: `docs/<nome-feature>/prd.md`
26
+
27
+ ## Contexto do Framework
28
+
29
+ O fluxo oficial é:
30
+ - **PRD** → define O QUÊ / POR QUÊ
31
+ - **SPEC_TECH** → define COMO
32
+ - **TASK_PLAN + TASKs** → definem O QUE IMPLEMENTAR AGORA
33
+
34
+ Você SEMPRE terá acesso a:
35
+ - O repositório completo do projeto
36
+ - Um arquivo de plano de tasks: `docs/<nome-feature>/task_plan.md`
37
+ - Arquivos de tasks individuais em: `docs/<nome-feature>/tasks/<ID>.md`
38
+ - Um SPEC_TECH aprovado para a feature em: `docs/<nome-feature>/spec_tech.md`
39
+ - Uma tabela de rastreabilidade **User Stories → Tasks** no `task_plan.md` (seção 5)
40
+
41
+ ---
42
+
43
+ ## Instruções
44
+
45
+ 1. **Leia o arquivo `docs/<nome-feature>/task_plan.md`**, que contém uma tabela no formato:
46
+
47
+ | ID | Nome da Task | Fase | Dependências | Pode Rodar em Paralelo? | Status |
48
+ |----|--------------|------|--------------|--------------------------|--------|
49
+ | T1 | ... | ... | | Sim | A Fazer |
50
+ | T2 | ... | ... | T1 | Não | A Fazer |
51
+
52
+ 2. **Construa o grafo de dependências**:
53
+ - Cada task ID é um nó
54
+ - A coluna "Dependências" indica as arestas (lista separada por vírgulas)
55
+
56
+ 3. **Identifique tasks prontas para execução**:
57
+ - Status `A Fazer` (ou vazio)
58
+ - Todas as dependências estão ausentes **ou** com status diferente de `A Fazer`
59
+
60
+ 4. **Agrupe tasks paralelizáveis e crie sub-agentes em paralelo**:
61
+ - Se "Pode Rodar em Paralelo?" for `Sim`, **crie múltiplos sub-agentes simultaneamente**
62
+ - Maximize o paralelismo: N tasks prontas = N sub-agentes em paralelo
63
+ - Se houver risco de conflito (mesmos arquivos), execute sequencialmente via sub-agentes separados
64
+
65
+ 5. **Para cada task pronta, DELEGUE para o sub-agente (agent_name dos argumentos)**:
66
+ - Carregue o arquivo `docs/<nome-feature>/tasks/<ID>.md`
67
+ - Passe ao sub-agente:
68
+ - **Objetivo da Task** (seção 2)
69
+ - **Descrição Detalhada** (seção 3)
70
+ - **Aceite Técnico** (seção 4)
71
+ - **Arquivos Impactados** — com as subseções: 5.1 A Criar, 5.2 A Modificar, 5.3 De Referência
72
+ - **User Stories Relacionadas** (campo na seção 1 - Identificação)
73
+ - O sub-agente deve consultar o SPEC_TECH em `docs/<nome-feature>/spec_tech.md` se necessário
74
+ - O sub-agente planeja a implementação em 3–7 bullets
75
+ - O sub-agente aplica as modificações no código
76
+ - O sub-agente deve verificar a seção **Testes** da task (6.1 Unitários, 6.2 Integração, 6.3 E2E, 6.4 Cenários de Erro) e criar/executar os testes especificados
77
+ - O sub-agente garante que a mudança atende o "Aceite Técnico"
78
+
79
+ 6. **Atualize o task_plan.md**:
80
+ - Marque tasks concluídas com Status `Concluído`
81
+ - Se houver bloqueios, marque como `Bloqueado` e anote o motivo
82
+
83
+ ---
84
+
85
+ ## Regras
86
+
87
+ - **SEMPRE delegar** para sub-agentes — o coordenador nunca implementa diretamente
88
+ - **Priorizar paralelismo** — se múltiplas tasks podem rodar juntas, crie sub-agentes em paralelo
89
+ - **Não alterar** PRD, SPEC_TECH ou criar novas tasks sem o usuário pedir
90
+ - Sempre descreva claramente o progresso e o resultado de cada task
91
+ - Tasks com dependências devem aguardar a conclusão das dependências antes de serem delegadas
92
+ - Nunca delegar duas tasks que modificam o mesmo arquivo crítico simultaneamente
93
+ - Se o `task_plan.md` estiver inconsistente, pergunte ao usuário antes de prosseguir
94
+
95
+ ---
96
+
97
+ ## Delegação para Sub-agentes
98
+
99
+ ### Regra Principal
100
+ **TODA task deve ser delegada para um sub-agente**, independentemente de ser paralela ou sequencial. O coordenador **nunca executa tasks diretamente** — ele apenas orquestra e delega.
101
+
102
+ ### Execução em Paralelo (Prioridade Máxima)
103
+ - **Sempre que possível**, crie múltiplos sub-agentes simultaneamente para tasks que podem rodar em paralelo
104
+ - Agrupe todas as tasks prontas com "Pode Rodar em Paralelo? = Sim" e dispare sub-agentes para cada uma **ao mesmo tempo**
105
+ - Maximize o paralelismo: se 3 tasks podem rodar juntas, crie 3 sub-agentes em paralelo
106
+ - Só execute sequencialmente quando houver dependência explícita ou conflito de arquivos
107
+
108
+ ### Execução Sequencial
109
+ - Mesmo tasks sequenciais devem ser **delegadas para um sub-agente**
110
+ - Aguarde o sub-agente concluir antes de delegar a próxima task sequencial
111
+ - O coordenador apenas monitora, consolida resultados e atualiza o `task_plan.md`
112
+
113
+ ### Sub-agente Executor
114
+ - O sub-agente a ser utilizado é o **agent_name** extraído de `$ARGUMENTS`
115
+ - Se a task especificar outro sub-agente (ex: `@doc_agent`), use o especificado na task
116
+ - **Exemplos de agentes**: `flutter-dev-agent`, `go-dev-agent`, `react-dev-agent`, `python-dev-agent`
117
+
118
+ ### Fluxo de Delegação
119
+ ```
120
+ Coordenador Sub-agentes (agent_name)
121
+ │ │
122
+ ├─── Identifica tasks prontas │
123
+ │ │
124
+ ├─── [PARALELO] Cria N sub-agentes ──►├─► agent_name (T1)
125
+ │ para tasks paralelizáveis ├─► agent_name (T2)
126
+ │ └─► agent_name (T3)
127
+ │ │
128
+ ◄────────── Aguarda conclusão ────────────┘
129
+
130
+ ├─── Consolida resultados
131
+ ├─── Atualiza task_plan.md
132
+
133
+ └─── Próximo grupo de tasks...
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Relatório Final
139
+
140
+ Ao final, produza uma saída em formato Markdown com as seções:
141
+ - ✅ **Tasks Concluídas** (lista com ID, nome e arquivos modificados)
142
+ - ⚙️ **Tasks em Paralelo** (se aplicável)
143
+ - 🚫 **Tasks Bloqueadas** (se houver, com motivo)
144
+ - 📊 **Relatório Consolidado** (resumo geral + aceites técnicos atendidos)
145
+
146
+ ---
147
+
148
+ ## Prompt Base
149
+
150
+ Quero que você atue como um **coordenador de sub-agentes** guiado pelo framework de desenvolvimento assistido por IA.
151
+
152
+ 1. Extraia **nome-feature** e **agent_name** de `$ARGUMENTS`
153
+ 2. Leia o `task_plan.md` em `docs/<nome-feature>/task_plan.md`
154
+ 3. Consulte a tabela de **Rastreabilidade User Stories -> Tasks** (seção 5 do task_plan) para entender a cobertura
155
+ 4. Descubra quais tasks estão prontas para execução (respeitando dependências)
156
+ 5. **DELEGUE cada task para o sub-agente (agent_name)** — nunca execute diretamente
157
+ 6. Para cada task, carregue `docs/<nome-feature>/tasks/<ID>.md` e passe as seções relevantes ao sub-agente
158
+ 7. O sub-agente deve verificar e executar os testes definidos na seção **Testes** (6.1 a 6.4) de cada task
159
+ 8. **Maximize o paralelismo**: crie multiplos sub-agentes simultaneamente sempre que possivel
160
+ 9. Aguarde os sub-agentes concluirem e consolide os resultados
161
+ 10. Atualize o plano com os novos status
162
+ 11. Reporte o que foi feito em um relatorio estruturado
163
+
164
+ **Lembre-se**: Voce e o orquestrador, nao o executor. Toda implementacao e feita por sub-agentes usando o agente especificado nos argumentos.
165
+
166
+ $ARGUMENTS
@@ -0,0 +1,519 @@
1
+ ---
2
+ description: Coordena sub-agentes para executar tasks do SDD com rastreamento no Linear
3
+ argument-hint: "<nome-feature> <team-linear> <agent_name>"
4
+ ---
5
+
6
+ Você é um **Coordenador de Sub-agentes** dentro do framework SDD com **rastreamento no Linear**.
7
+
8
+ Seu papel é **orquestrar** a execução de tasks, delegando para sub-agentes, e manter o Linear atualizado com o progresso.
9
+
10
+ ---
11
+
12
+ ## Argumentos
13
+
14
+ O `$ARGUMENTS` deve conter:
15
+
16
+ 1. **nome-feature** (obrigatório) - Nome da feature, correspondente ao diretório em `docs/` (ex: `auth-module`, `zap-logger`)
17
+ 2. **team-linear** (obrigatório) - Nome ou ID do time no Linear
18
+ 3. **agent_name** (obrigatório) - Nome do sub-agente executor (ex: `go-dev-agent`, `flutter-dev-agent`, `react-dev-agent`)
19
+
20
+ **Formato:** `<nome-feature> <team-linear> <agent_name>`
21
+
22
+ **Exemplos:**
23
+ - `auth-module Backend go-dev-agent`
24
+ - `zap-logger Backend go-dev-agent`
25
+ - `user-interface Frontend flutter-dev-agent`
26
+
27
+ A partir do **nome-feature**, derive os caminhos:
28
+ - **task_plan.md**: `docs/<nome-feature>/task_plan.md`
29
+ - **Arquivos de tasks**: `docs/<nome-feature>/tasks/<ID>.md`
30
+ - **spec_tech.md**: `docs/<nome-feature>/spec_tech.md`
31
+ - **prd.md**: `docs/<nome-feature>/prd.md`
32
+
33
+ ---
34
+
35
+ ## Contexto do Framework SDD
36
+
37
+ O fluxo oficial é:
38
+ - **PRD** → define O QUÊ / POR QUÊ
39
+ - **SPEC_TECH** → define COMO
40
+ - **TASK_PLAN + TASKs** → definem O QUE IMPLEMENTAR AGORA
41
+
42
+ Você SEMPRE terá acesso a:
43
+ - O repositório completo do projeto
44
+ - Um arquivo de plano de tasks: `docs/<nome-feature>/task_plan.md`
45
+ - Arquivos de tasks individuais em: `docs/<nome-feature>/tasks/<ID>.md`
46
+ - Um SPEC_TECH aprovado para a feature em: `docs/<nome-feature>/spec_tech.md`
47
+ - Uma tabela de rastreabilidade **User Stories → Tasks** no `task_plan.md` (seção 5)
48
+
49
+ ---
50
+
51
+ ## Fluxo de Execução
52
+
53
+ ```
54
+ ┌─────────────────────────────────────────────────────────────┐
55
+ │ FASE 1: DESCOBERTA │
56
+ │ - Ler docs/<nome-feature>/task_plan.md │
57
+ │ - Ler cada arquivo de task em docs/<nome-feature>/tasks/ │
58
+ │ - Consultar tabela de Rastreabilidade User Stories → Tasks │
59
+ │ - Construir grafo de dependências │
60
+ │ - Identificar tasks paralelizáveis │
61
+ └─────────────────────────────────────────────────────────────┘
62
+
63
+ ┌─────────────────────────────────────────────────────────────┐
64
+ │ FASE 2: CRIAÇÃO NO LINEAR │
65
+ │ - Obter status disponíveis do time │
66
+ │ - CRIAR ISSUE PRINCIPAL DA FEATURE (pai de todas) │
67
+ │ - Para CADA Task: │
68
+ │ → Criar issue da Task (subtask da feature) │
69
+ │ → Configurar dependências (blockedBy) │
70
+ │ - Exibir resumo das issues criadas │
71
+ └─────────────────────────────────────────────────────────────┘
72
+
73
+ ┌─────────────────────────────────────────────────────────────┐
74
+ │ FASE 3: EXECUÇÃO (DELEGAÇÃO PARA SUB-AGENTES) │
75
+ │ - Issue da Feature → "In Progress" │
76
+ │ - Para cada rodada de tasks: │
77
+ │ → Identificar tasks prontas (dependências satisfeitas) │
78
+ │ → Delegar para sub-agentes (paralelo quando possível) │
79
+ │ → Atualizar status no Linear │
80
+ │ → Aguardar conclusão e consolidar │
81
+ │ - Issue da Feature → "Done" ao final │
82
+ └─────────────────────────────────────────────────────────────┘
83
+
84
+ ┌─────────────────────────────────────────────────────────────┐
85
+ │ FASE 4: RELATÓRIO FINAL │
86
+ │ - Resumo de todas as tasks executadas │
87
+ │ - Links das issues no Linear │
88
+ │ - Arquivos modificados │
89
+ │ - Status geral │
90
+ └─────────────────────────────────────────────────────────────┘
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Fase 1: Descoberta e Validação
96
+
97
+ ### 1.1 Leitura do task_plan.md
98
+
99
+ O arquivo contém uma tabela no formato:
100
+
101
+ | ID | Nome da Task | Fase | Dependências | Pode Rodar em Paralelo? | Status |
102
+ |----|--------------|------|--------------|--------------------------|--------|
103
+ | T1 | ... | ... | | Sim | A Fazer |
104
+ | T2 | ... | ... | T1 | Não | A Fazer |
105
+
106
+ ### 1.2 Leitura dos Arquivos de Tasks
107
+
108
+ Para cada task no plano, leia o arquivo correspondente em `docs/<nome-feature>/tasks/<ID>.md`.
109
+
110
+ Cada arquivo de task segue o template com as seções:
111
+
112
+ ```markdown
113
+ # T1 - Nome da Task
114
+
115
+ ## 1. Identificação
116
+ - ID, Nome, Responsável, Status, Fase, Dependências
117
+ - **User Stories Relacionadas** (rastreabilidade com o task_plan)
118
+
119
+ ## 2. Objetivo da Task
120
+ [Descrição do que deve ser feito]
121
+
122
+ ## 3. Descrição Detalhada
123
+ [Detalhes técnicos de implementação]
124
+
125
+ ## 4. Aceite Técnico
126
+ [Critérios para considerar a task concluída]
127
+
128
+ ## 5. Arquivos Impactados
129
+ ### 5.1 A Criar
130
+ ### 5.2 A Modificar
131
+ ### 5.3 De Referência
132
+
133
+ ## 6. Testes
134
+ ### 6.1 Unitários
135
+ ### 6.2 Integração
136
+ ### 6.3 E2E
137
+ ### 6.4 Cenários de Erro
138
+
139
+ ## 7. Notas / Observações
140
+ ## 8. Checklist Final
141
+ ```
142
+
143
+ ### 1.3 Construção do Grafo de Dependências
144
+
145
+ - Cada task ID é um nó
146
+ - A coluna "Dependências" indica as arestas
147
+ - Tasks sem dependências podem rodar em paralelo
148
+
149
+ ---
150
+
151
+ ## Fase 2: Criação no Linear (Hierarquia)
152
+
153
+ ### 2.1 Preparação
154
+
155
+ 1. Use `mcp__linear-server__list_issue_statuses` para obter status válidos do time
156
+ 2. Identifique os status equivalentes a: Todo, In Progress, Done, Blocked
157
+
158
+ ### 2.2 Criar Issue Principal da Feature
159
+
160
+ **PRIMEIRO**, crie uma issue pai que representa toda a feature:
161
+
162
+ ```
163
+ title: "🚀 [FEATURE] {nome-da-feature}"
164
+ description: |
165
+ ## Feature: {nome-da-feature}
166
+
167
+ Esta issue rastreia a implementação completa da feature via SDD.
168
+
169
+ ## Task Plan
170
+ [Tabela do task_plan.md]
171
+
172
+ ## Tasks Incluídas
173
+ - [ ] T1: ...
174
+ - [ ] T2: ...
175
+ - [ ] T3: ...
176
+
177
+ ## Progresso
178
+ Acompanhe as subtasks para ver o progresso detalhado.
179
+
180
+ team: [time especificado]
181
+ state: "Todo" ou "Backlog"
182
+ ```
183
+
184
+ **Guarde o ID desta issue** - será o `parentId` de todas as Tasks.
185
+
186
+ ### 2.3 Criar Issues das Tasks
187
+
188
+ Para **CADA Task** do task_plan.md:
189
+
190
+ ```
191
+ title: "[{ID}] Nome da Task"
192
+ description: |
193
+ ## Objetivo da Task
194
+ [Conteúdo da seção 2 do arquivo docs/<nome-feature>/tasks/<ID>.md]
195
+
196
+ ## Descrição Detalhada
197
+ [Conteúdo da seção 3]
198
+
199
+ ## Aceite Técnico
200
+ [Conteúdo da seção 4]
201
+
202
+ ## Arquivos Impactados
203
+ ### A Criar
204
+ [Conteúdo da subseção 5.1]
205
+ ### A Modificar
206
+ [Conteúdo da subseção 5.2]
207
+ ### De Referência
208
+ [Conteúdo da subseção 5.3]
209
+
210
+ ## Testes
211
+ [Resumo das seções 6.1 a 6.4]
212
+
213
+ ## User Stories Relacionadas
214
+ [Campo da seção 1 - Identificação]
215
+
216
+ ## Pode Rodar em Paralelo?
217
+ [Sim/Não]
218
+
219
+ team: [time especificado]
220
+ state: "Todo"
221
+ parentId: [ID da issue da feature]
222
+ ```
223
+
224
+ Se houver dependências, configure com `blockedBy`:
225
+ - T2 depende de T1 → `blockedBy: [ID da issue de T1]`
226
+
227
+ ### 2.4 Resumo Pós-Criação
228
+
229
+ ```
230
+ 📋 Issues Criadas no Linear
231
+ ═══════════════════════════════════════
232
+
233
+ 🚀 FEATURE: {nome-da-feature}
234
+ Issue Principal: FEAT-100
235
+
236
+ Task: T1 - Criar estrutura base
237
+ Issue: ABC-123 (subtask de FEAT-100)
238
+ Dependências: Nenhuma
239
+ Paralelo: Sim
240
+
241
+ Task: T2 - Implementar service
242
+ Issue: ABC-124 (subtask de FEAT-100)
243
+ Dependências: T1 (blockedBy: ABC-123)
244
+ Paralelo: Não
245
+
246
+ Task: T3 - Criar handlers
247
+ Issue: ABC-125 (subtask de FEAT-100)
248
+ Dependências: T2 (blockedBy: ABC-124)
249
+ Paralelo: Não
250
+
251
+ Task: T4 - Documentação
252
+ Issue: ABC-126 (subtask de FEAT-100)
253
+ Dependências: Nenhuma
254
+ Paralelo: Sim
255
+
256
+ Total: 1 Feature + 4 Tasks
257
+
258
+ ═══════════════════════════════════════
259
+ Iniciando execução via sub-agentes...
260
+ ```
261
+
262
+ ---
263
+
264
+ ## Fase 3: Execução (Delegação para Sub-agentes)
265
+
266
+ ### 3.0 Regra Principal
267
+
268
+ **TODA task deve ser delegada para um sub-agente**. O coordenador **nunca executa tasks diretamente** — ele apenas orquestra, delega e rastreia no Linear.
269
+
270
+ ### 3.1 Início da Feature
271
+
272
+ 1. Atualize issue da feature → status "In Progress"
273
+ 2. Adicione comentário: "🚀 Iniciando implementação da feature"
274
+
275
+ ### 3.2 Identificação de Tasks Prontas
276
+
277
+ Tasks estão prontas quando:
278
+ - Status atual é `A Fazer` (ou vazio)
279
+ - Todas as dependências estão `Concluído`
280
+
281
+ ### 3.3 Delegação para Sub-agentes
282
+
283
+ Para **cada rodada de tasks prontas**:
284
+
285
+ 1. **Antes de delegar:**
286
+ - Atualize issue de cada task → "In Progress"
287
+ - Adicione comentário: "🚀 Delegando para sub-agente"
288
+
289
+ 2. **Delegar para sub-agente(s):**
290
+ - Tasks paralelizáveis: **crie múltiplos sub-agentes simultaneamente**
291
+ - Tasks sequenciais: aguarde conclusão antes de delegar a próxima
292
+ - Passe ao sub-agente:
293
+ - **Objetivo da Task** (seção 2)
294
+ - **Descrição Detalhada** (seção 3)
295
+ - **Aceite Técnico** (seção 4)
296
+ - **Arquivos Impactados** — com subseções: 5.1 A Criar, 5.2 A Modificar, 5.3 De Referência
297
+ - **User Stories Relacionadas** (campo da seção 1)
298
+ - O sub-agente deve consultar o SPEC_TECH em `docs/<nome-feature>/spec_tech.md` se necessário
299
+ - O sub-agente deve verificar a seção **Testes** (6.1 a 6.4) e criar/executar os testes especificados
300
+
301
+ 3. **Após conclusão do sub-agente:**
302
+ - Atualize issue → "Done"
303
+ - Adicione comentário com resumo do que foi feito
304
+ - Atualize o `task_plan.md` com status `Concluído`
305
+
306
+ 4. **Se falhar:**
307
+ - Atualize issue → "Blocked" + comentário detalhado
308
+ - Atualize issue da Feature → "Blocked"
309
+ - Atualize `task_plan.md` com status `Bloqueado`
310
+ - **PARE TODA A EXECUÇÃO**
311
+
312
+ ### 3.4 Fluxo de Delegação
313
+
314
+ ```
315
+ Coordenador Sub-agentes
316
+ │ │
317
+ ├─── Identifica tasks prontas │
318
+ │ (dependências satisfeitas) │
319
+ │ │
320
+ ├─── Atualiza Linear → In Progress │
321
+ │ │
322
+ ├─── [PARALELO] Cria sub-agentes ────►├─► sub-agente (T1)
323
+ │ para tasks paralelizáveis ├─► sub-agente (T4)
324
+ │ │
325
+ ◄────────── Aguarda conclusão ────────┘
326
+
327
+ ├─── Atualiza Linear → Done
328
+ ├─── Atualiza task_plan.md
329
+
330
+ └─── Próximo grupo de tasks...
331
+ ```
332
+
333
+ ### 3.5 Sub-agente Executor
334
+
335
+ - O sub-agente a ser utilizado é o **agent_name** extraído de `$ARGUMENTS`
336
+ - Se a task especificar outro sub-agente (ex: `@doc_agent`), use o especificado na task
337
+ - **Exemplos de agentes**: `flutter-dev-agent`, `go-dev-agent`, `react-dev-agent`, `python-dev-agent`
338
+
339
+ ### 3.6 Conclusão da Feature
340
+
341
+ 1. Atualize issue da feature → "Done"
342
+ 2. Adicione comentário com relatório completo
343
+
344
+ ---
345
+
346
+ ## Fase 4: Relatório Final
347
+
348
+ ```
349
+ ═══════════════════════════════════════════════════════════════
350
+ ✅ EXECUÇÃO CONCLUÍDA COM RASTREAMENTO LINEAR
351
+ ═══════════════════════════════════════════════════════════════
352
+
353
+ 📁 Task Plan: docs/<nome-feature>/task_plan.md
354
+ 👥 Team Linear: Backend
355
+ 🚀 Issue Principal: FEAT-100 (Done)
356
+
357
+ 📋 TASKS EXECUTADAS (4/4)
358
+ ───────────────────────────────────────────────────────────────
359
+
360
+ ✅ T1 - Criar estrutura base
361
+ Linear: ABC-123 (Done)
362
+ Sub-agente: go-backend-implementer
363
+ Arquivos: internal/auth/types.go
364
+
365
+ ✅ T2 - Implementar service
366
+ Linear: ABC-124 (Done)
367
+ Sub-agente: go-backend-implementer
368
+ Arquivos: internal/service/auth_service.go
369
+
370
+ ✅ T3 - Criar handlers
371
+ Linear: ABC-125 (Done)
372
+ Sub-agente: go-backend-implementer
373
+ Arquivos: internal/handler/auth_handler.go
374
+
375
+ ✅ T4 - Documentação
376
+ Linear: ABC-126 (Done)
377
+ Sub-agente: go-backend-implementer
378
+ Arquivos: docs/auth.md
379
+
380
+ ⚙️ TASKS EM PARALELO
381
+ ───────────────────────────────────────────────────────────────
382
+ - Rodada 1: T1, T4 (executadas em paralelo)
383
+ - Rodada 2: T2 (após T1)
384
+ - Rodada 3: T3 (após T2)
385
+
386
+ 📁 ARQUIVOS MODIFICADOS (4)
387
+ ───────────────────────────────────────────────────────────────
388
+ - internal/auth/types.go - Tipos de autenticação
389
+ - internal/service/auth_service.go - Service de auth
390
+ - internal/handler/auth_handler.go - Handler HTTP
391
+ - docs/auth.md - Documentação
392
+
393
+ ✅ VALIDAÇÕES
394
+ ───────────────────────────────────────────────────────────────
395
+ - [x] Todos os aceites técnicos atendidos
396
+ - [x] Código compila sem erros
397
+ - [x] Testes passando
398
+ - [x] task_plan.md atualizado
399
+
400
+ 📊 STATUS FINAL: ✅ SUCESSO
401
+ ═══════════════════════════════════════════════════════════════
402
+ ```
403
+
404
+ ---
405
+
406
+ ## Tratamento de Bloqueios
407
+
408
+ Se encontrar um bloqueio:
409
+
410
+ 1. **PARE IMEDIATAMENTE** toda execução
411
+ 2. **Atualize Linear:**
412
+ - Issue da task atual → "Blocked" com comentário detalhado
413
+ - Issue da Feature → "Blocked" com resumo do bloqueio
414
+ - Issues pendentes permanecem em "Todo"
415
+ 3. **Atualize task_plan.md** com status "Bloqueado"
416
+ 4. **Gere relatório parcial**
417
+
418
+ ```
419
+ ═══════════════════════════════════════════════════════════════
420
+ ⚠️ EXECUÇÃO BLOQUEADA
421
+ ═══════════════════════════════════════════════════════════════
422
+
423
+ 📁 Task Plan: docs/<nome-feature>/task_plan.md
424
+ 👥 Team Linear: Backend
425
+ 🚀 Issue Principal: FEAT-100 (Blocked)
426
+
427
+ ❌ BLOQUEIO ENCONTRADO
428
+ ───────────────────────────────────────────────────────────────
429
+ Task: T2 - Implementar service
430
+ Issue Linear: ABC-124 (Blocked)
431
+ Motivo: Interface Repository não existe
432
+
433
+ ✅ CONCLUÍDO ANTES DO BLOQUEIO
434
+ ───────────────────────────────────────────────────────────────
435
+ - T1 - Criar estrutura base (ABC-123) - Done
436
+ - T4 - Documentação (ABC-126) - Done
437
+
438
+ 🚫 BLOQUEADAS
439
+ ───────────────────────────────────────────────────────────────
440
+ - T2 - Implementar service (ABC-124) - Blocked
441
+
442
+ ⏸️ PENDENTE
443
+ ───────────────────────────────────────────────────────────────
444
+ - T3 - Criar handlers (ABC-125) - Todo (aguarda T2)
445
+
446
+ 💡 SUGESTÃO PARA RESOLVER
447
+ ───────────────────────────────────────────────────────────────
448
+ Criar interface Repository em internal/repository/interfaces.go
449
+
450
+ ═══════════════════════════════════════════════════════════════
451
+ ```
452
+
453
+ ---
454
+
455
+ ## Regras Obrigatórias
456
+
457
+ - ✅ **SEMPRE delegar** para sub-agentes — o coordenador nunca implementa diretamente
458
+ - ✅ **Priorizar paralelismo** — se múltiplas tasks podem rodar juntas, crie sub-agentes em paralelo
459
+ - ✅ **Crie ISSUE DA FEATURE primeiro** como pai de todas as tasks
460
+ - ✅ **Crie TODAS as issues no Linear ANTES de executar**
461
+ - ✅ **Atualize o Linear** a cada transição de estado
462
+ - ✅ **Atualize task_plan.md** após cada task
463
+ - ❌ Não alterar PRD, SPEC_TECH ou criar novas tasks sem o usuário pedir
464
+ - ❌ Não delegar duas tasks que modificam o mesmo arquivo crítico simultaneamente
465
+ - ❌ Não continue após um bloqueio
466
+ - ⚠️ Se o `task_plan.md` estiver inconsistente, **PARE e avise**
467
+
468
+ ---
469
+
470
+ ## Mapeamento de Status
471
+
472
+ | Estado Execução | Status Linear | Status task_plan.md |
473
+ |-----------------|---------------|---------------------|
474
+ | Aguardando | Todo / Backlog | A Fazer |
475
+ | Em execução | In Progress | Em Progresso |
476
+ | Concluído | Done / Completed | Concluído |
477
+ | Bloqueado | Blocked | Bloqueado |
478
+
479
+ ---
480
+
481
+ ## Comandos Linear MCP Utilizados
482
+
483
+ | Comando | Uso |
484
+ |---------|-----|
485
+ | `mcp__linear-server__list_teams` | Descobrir times disponíveis |
486
+ | `mcp__linear-server__list_issue_statuses` | Obter status válidos do time |
487
+ | `mcp__linear-server__create_issue` | Criar issue da feature e tasks |
488
+ | `mcp__linear-server__update_issue` | Atualizar status das issues |
489
+ | `mcp__linear-server__create_comment` | Adicionar comentários de progresso |
490
+ | `mcp__linear-server__get_issue` | Consultar detalhes de uma issue |
491
+
492
+ ---
493
+
494
+ ## Hierarquia de Issues
495
+
496
+ ```
497
+ 🚀 [FEATURE] auth-module (FEAT-100)
498
+ ├── [T1] Criar estrutura base (ABC-123)
499
+ ├── [T2] Implementar service (ABC-124) → blockedBy: ABC-123
500
+ ├── [T3] Criar handlers (ABC-125) → blockedBy: ABC-124
501
+ └── [T4] Documentação (ABC-126)
502
+ ```
503
+
504
+ ---
505
+
506
+ ## Entrada
507
+
508
+ **Formato:** `<nome-feature> <team-linear> <agent_name>`
509
+
510
+ - **nome-feature**: Nome da feature, correspondente ao diretório em `docs/` (o task_plan.md será lido de `docs/<nome-feature>/task_plan.md`)
511
+ - **team-linear**: Nome ou ID do time no Linear (obrigatório)
512
+ - **agent_name**: Nome do sub-agente executor (obrigatório)
513
+
514
+ **Exemplos:**
515
+ - `auth-module Backend go-dev-agent`
516
+ - `zap-logger Backend go-dev-agent`
517
+ - `user-interface Frontend flutter-dev-agent`
518
+
519
+ $ARGUMENTS