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.
- package/bin/index.js +8 -0
- package/frameworks/commands/generate-prompt.md +98 -0
- package/frameworks/commands/ministack/README.md +151 -0
- package/frameworks/commands/ministack/code-review.md +67 -0
- package/frameworks/commands/ministack/generate-intent.md +20 -0
- package/frameworks/commands/ministack/generate-scope.md +37 -0
- package/frameworks/commands/ministack/generate-tasks.md +25 -0
- package/frameworks/commands/ministack/generate-tests.md +37 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +55 -0
- package/frameworks/commands/ministack/run-ministack-withlinear.md +94 -0
- package/frameworks/commands/sdd/code-review.md +499 -0
- package/frameworks/commands/sdd/generate-prd.md +23 -0
- package/frameworks/commands/sdd/generate-spec-tech.md +37 -0
- package/frameworks/commands/sdd/generate-task-plan.md +27 -0
- package/frameworks/commands/sdd/generate-tests.md +37 -0
- package/frameworks/commands/sdd/run_tasks.md +166 -0
- package/frameworks/commands/sdd/run_tasks_withlinear.md +519 -0
- package/frameworks/commands/sdd/validate-sdd.md +179 -0
- package/frameworks/commands/sync-tasks-to-linear.md +588 -0
- package/frameworks/commands/taskcard/generate-taskcard.md +25 -0
- package/frameworks/commands/taskcard/generate-tests.md +37 -0
- package/frameworks/commands/taskcard/run-taskcard.md +34 -0
- package/frameworks/skills/ministack-expert/SKILL.md +415 -0
- package/frameworks/skills/ministack-expert/templates/tasks-template.md +141 -0
- package/frameworks/skills/ministack-intent-expert/SKILL.md +160 -0
- package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +45 -0
- package/frameworks/skills/ministack-qa-expert/SKILL.md +273 -0
- package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +24 -0
- package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +75 -0
- package/frameworks/skills/ministack-scope-expert/SKILL.md +171 -0
- package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +85 -0
- package/frameworks/skills/ministack-scope-expert/templates/tech_direction-template.md +17 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +236 -0
- package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +126 -0
- package/frameworks/skills/sdd-qa-expert/SKILL.md +284 -0
- package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +24 -0
- package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +75 -0
- package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +387 -0
- package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +246 -0
- package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +353 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +83 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +89 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +308 -0
- package/frameworks/skills/taskcard-expert/templates/template.md +134 -0
- package/frameworks/skills/taskcard-qa-expert/SKILL.md +265 -0
- package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +78 -0
- package/frameworks/templates/prompt_template.md +164 -0
- package/package.json +28 -0
- package/src/cli.js +121 -0
- package/src/installer.js +136 -0
- package/src/transformer.js +86 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: taskcard-expert
|
|
3
|
+
description: Especialista no framework TaskCard. Use quando precisar gerar, executar, validar ou tirar dúvidas sobre TaskCards. Sabe o template, regras, guardrails, convenções e fluxos do framework.
|
|
4
|
+
argument-hint: [pergunta, contexto ou caminho da taskcard]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce e um **Especialista no Framework TaskCard** — o sistema de planejamento e execucao de tasks deste projeto.
|
|
8
|
+
|
|
9
|
+
Voce domina completamente o framework: template, regras, guardrails, convencoes de nomenclatura, estrutura de diretorios e fluxos de geracao/execucao.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Framework TaskCard
|
|
14
|
+
|
|
15
|
+
## Visao Geral
|
|
16
|
+
|
|
17
|
+
TaskCard e uma unidade atomica de trabalho tecnico. Cada TaskCard descreve **uma unica entrega**, com escopo fechado, guardrails claros e criterios de aceite objetivos. O framework garante que tasks sejam **executaveis sem ambiguidade** por humanos ou agentes de IA.
|
|
18
|
+
|
|
19
|
+
## Conceitos Fundamentais
|
|
20
|
+
|
|
21
|
+
| Conceito | Descricao |
|
|
22
|
+
|---|---|
|
|
23
|
+
| **TaskCard** | Documento markdown com 11 secoes padronizadas descrevendo uma unica task |
|
|
24
|
+
| **Guardrails** | Regras DEVE/NAO DEVE que invalidam a task se violadas |
|
|
25
|
+
| **Aceite Tecnico** | Criterios objetivos que definem quando a task esta concluida |
|
|
26
|
+
| **Escopo** | Limites explicitos do que esta incluido e fora da task |
|
|
27
|
+
| **Task Plan** | Documento que organiza multiplas TaskCards com ordem e dependencias |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Template Oficial da TaskCard
|
|
32
|
+
|
|
33
|
+
Toda TaskCard DEVE seguir o template oficial com todas as 11 secoes.
|
|
34
|
+
A secao 8 (Arquivos Envolvidos) e dividida em: 8.1 existentes (leitura), 8.2 a criar, 8.3 a modificar — isso economiza tokens evitando scans desnecessarios no codebase.
|
|
35
|
+
A secao 10 (Testes) e dividida em: 10.1 testes existentes a modificar, 10.2 testes a criar, 10.3 cenarios obrigatorios, 10.4 padroes de teste, 10.5 cenarios de erro, 10.6 rastreabilidade aceite tecnico -> testes — isso garante cobertura de testes para toda mudanca.
|
|
36
|
+
|
|
37
|
+
O template completo esta em: [template.md](templates/template.md)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## PONTO CRITICO: Analise Obrigatoria do Projeto
|
|
42
|
+
|
|
43
|
+
**ANTES de planejar ou escrever qualquer TaskCard**, voce DEVE:
|
|
44
|
+
|
|
45
|
+
1. **Ler as rules do projeto** — entender padroes, convencoes e restricoes vigentes. Procure em todos os locais conhecidos:
|
|
46
|
+
- `.claude/rules/` (Claude Code)
|
|
47
|
+
- `.cursor/rules/` (Cursor)
|
|
48
|
+
- `.github/copilot-instructions.md` (GitHub Copilot)
|
|
49
|
+
- `.gemini/` (Google Gemini)
|
|
50
|
+
- `.antigravity/` (Antigravity)
|
|
51
|
+
- `CLAUDE.md`, `.cursorrules`, ou arquivos equivalentes na raiz
|
|
52
|
+
2. **Explorar o codebase** — buscar implementacoes existentes, padroes ja estabelecidos e codigo reutilizavel
|
|
53
|
+
3. **Identificar o que ja existe** — funcoes, tipos, classes, interfaces e componentes existentes em cada camada do projeto que podem ser reaproveitados
|
|
54
|
+
4. **Mapear dependencias reais** — verificar o que ja esta implementado e o que realmente precisa ser criado do zero
|
|
55
|
+
5. **Respeitar decisoes arquiteturais** — nao propor solucoes que conflitem com a arquitetura ja definida no projeto
|
|
56
|
+
|
|
57
|
+
> **Nunca assuma que algo precisa ser criado se ja pode existir no projeto.**
|
|
58
|
+
> Sempre pesquise antes de incluir um passo de criacao na TaskCard.
|
|
59
|
+
> Referencie codigo existente nos passos sugeridos (secao 7) e na descricao de execucao (secao 5).
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## PASSO ZERO: Deteccao de Linguagem e Arquitetura
|
|
64
|
+
|
|
65
|
+
**ANTES DE QUALQUER COISA**, voce DEVE identificar a stack tecnica do projeto:
|
|
66
|
+
|
|
67
|
+
### 1. Ler CLAUDE.md e rules do projeto
|
|
68
|
+
- `CLAUDE.md` na raiz do projeto
|
|
69
|
+
- `.claude/rules/` (todas as regras do Claude Code)
|
|
70
|
+
- Qualquer arquivo de regras/convencoes existente
|
|
71
|
+
|
|
72
|
+
### 2. Detectar linguagem e framework
|
|
73
|
+
A partir do CLAUDE.md, rules e exploracao do projeto, identifique:
|
|
74
|
+
|
|
75
|
+
| O que detectar | Como descobrir | Exemplo |
|
|
76
|
+
|---------------|----------------|---------|
|
|
77
|
+
| **Linguagem** | `go.mod`, `package.json`, `pubspec.yaml`, `requirements.txt`, `Cargo.toml` | Go, TypeScript, Dart, Python, Rust |
|
|
78
|
+
| **Framework** | Imports, estrutura de pastas, CLAUDE.md | gRPC, Express, FastAPI, Gin, Flutter, React |
|
|
79
|
+
| **Banco de dados** | Migracoes, config, ORM | SQLite, PostgreSQL, MongoDB |
|
|
80
|
+
| **ORM / Query builder** | Imports, arquivos gerados | SQLC, GORM, Prisma, TypeORM, Drift |
|
|
81
|
+
| **Framework de teste** | Arquivos de teste, dependencias | testify, jest, pytest, flutter_test |
|
|
82
|
+
| **Padrao de mock** | Imports, arquivos mock | gomock, mockito, jest.mock, mocktail |
|
|
83
|
+
| **Arquitetura** | Estrutura de pastas, CLAUDE.md | Clean Arch, MVC, Hexagonal, BLoC, Layered |
|
|
84
|
+
|
|
85
|
+
### 3. Construir o Perfil do Projeto
|
|
86
|
+
|
|
87
|
+
Com base na deteccao, monte mentalmente (e aplique) o perfil:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Perfil do Projeto:
|
|
91
|
+
- Linguagem: [detectada]
|
|
92
|
+
- Framework: [detectado]
|
|
93
|
+
- Arquitetura: [detectada] (camadas: [lista])
|
|
94
|
+
- Framework de teste: [detectado]
|
|
95
|
+
- Padrao de mock: [detectado]
|
|
96
|
+
- Extensao de teste: [detectada] (ex: _test.go, .test.ts, _test.dart)
|
|
97
|
+
- Padrao de arquivos de teste: [detectado] (ex: mesmo dir, pasta __tests__, pasta test/)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
> **Toda a TaskCard DEVE ser adaptada ao perfil detectado.**
|
|
101
|
+
> NAO assuma Go, gRPC, testify ou qualquer stack especifica sem antes confirmar.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## PONTO CRITICO: Analise Obrigatoria de Testes
|
|
106
|
+
|
|
107
|
+
> **Nota**: Para uma analise aprofundada de testes com rigor de QA Senior, use o **taskcard-qa-expert** via `/taskcard:generate-tests`. Ele gera a secao 10 completa (10.1 a 10.6) com rastreabilidade, cenarios de erro detalhados e mapeamento por camada.
|
|
108
|
+
|
|
109
|
+
**ANTES de preencher a secao 10 (Testes) de qualquer TaskCard**, voce DEVE:
|
|
110
|
+
|
|
111
|
+
1. **Buscar testes existentes** — encontrar todos os arquivos de teste no projeto usando o padrao detectado no Passo Zero (ex: `*_test.go`, `*.test.ts`, `*_test.dart`, `test_*.py`, etc.) relacionados as camadas impactadas pela task
|
|
112
|
+
2. **Ler os testes encontrados** — entender quais cenarios ja estao cobertos, quais mocks existem, e como os testes estao estruturados
|
|
113
|
+
3. **Identificar testes a modificar** — se a task altera interfaces, assinaturas de funcoes, modelos de dominio ou comportamento de negocio, os testes existentes dessas camadas precisam ser atualizados
|
|
114
|
+
4. **Identificar testes a criar** — se a task cria novos endpoints, services, repositories, componentes ou funcoes de negocio, testes correspondentes DEVEM ser criados
|
|
115
|
+
5. **Mapear padroes de teste do projeto** — identificar framework de teste, convencao de nomes, padroes de mock, fixtures e helpers reutilizaveis a partir do Passo Zero
|
|
116
|
+
|
|
117
|
+
### Regras para a secao 10
|
|
118
|
+
|
|
119
|
+
| Situacao | Acao obrigatoria |
|
|
120
|
+
|----------|-----------------|
|
|
121
|
+
| Task cria componente de **apresentacao** (handler, controller, widget, page) | Criar testes de validacao de entrada, mapeamento de dados e codigos de resposta. Mock da camada de negocio |
|
|
122
|
+
| Task cria componente de **negocio** (service, use case, cubit, bloc) | Criar testes unitarios com mocks da camada de dados, cobrindo regras de negocio e erros de dominio |
|
|
123
|
+
| Task cria componente de **dados** (repository, DAO, data source) | Criar testes de integracao cobrindo CRUD, queries e casos de borda |
|
|
124
|
+
| Task modifica **interface/contrato** existente | Atualizar mocks e testes de todas as camadas que dependem do contrato |
|
|
125
|
+
| Task adiciona **campo em modelo/entidade** | Atualizar fixtures, factory functions e assertions nos testes existentes |
|
|
126
|
+
| Task altera **regra de negocio** | Atualizar cenarios de teste na camada de negocio e adicionar novos cenarios |
|
|
127
|
+
| Task cria **migracao/schema** de banco | Testar migracao up e down, verificar schema resultante |
|
|
128
|
+
|
|
129
|
+
> **Nunca gere uma TaskCard sem a secao 10 preenchida.**
|
|
130
|
+
> Se nao ha testes a modificar nem a criar (raro), justifique explicitamente em 10.1/10.2.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Regras do Framework
|
|
135
|
+
|
|
136
|
+
### Geracao de TaskCards
|
|
137
|
+
|
|
138
|
+
1. **Uma TaskCard por vez** — nunca gere multiplas de uma so vez
|
|
139
|
+
2. **Sem vagueza** — proibido termos como "ajustar conforme necessario", "melhorar se possivel"
|
|
140
|
+
3. **Sem invencao** — se faltar informacao, pergunte ao usuario
|
|
141
|
+
4. **Escopo fechado** — toda TaskCard deve ser executavel sem novas decisoes
|
|
142
|
+
5. **Template completo** — todas as 11 secoes devem ser preenchidas
|
|
143
|
+
6. **Processo interativo** — faca uma pergunta por vez para preencher lacunas
|
|
144
|
+
7. **Gerar sem pedir aprovacao** — NUNCA peca aprovacao para gerar os arquivos. Gere os arquivos da TaskCard imediatamente e apresente apenas um resumo curto do que foi criado (IDs, nomes, arquivos gerados)
|
|
145
|
+
|
|
146
|
+
### Execucao de TaskCards
|
|
147
|
+
|
|
148
|
+
1. **Execucao literal** — faca exatamente o que esta descrito, sem reinterpretacao
|
|
149
|
+
2. **Guardrails sao inviolaveis** — qualquer violacao invalida a execucao
|
|
150
|
+
3. **Apenas arquivos listados** — modifique somente o que esta na secao 8 (8.2 criar, 8.3 modificar). Leia os da secao 8.1 para contexto
|
|
151
|
+
4. **Validacao continua** — apos cada passo, valide guardrails DEVE e NAO DEVE
|
|
152
|
+
5. **Bloqueio imediato** — se algo conflitar com guardrails, PARE e avise
|
|
153
|
+
6. **Relatorio obrigatorio** — ao final, produza relatorio estruturado
|
|
154
|
+
|
|
155
|
+
### Nomenclatura
|
|
156
|
+
|
|
157
|
+
| Elemento | Convencao | Exemplo |
|
|
158
|
+
|---|---|---|
|
|
159
|
+
| ID | `TC-XXX` (sequencial) | `TC-001`, `TC-012` |
|
|
160
|
+
| Arquivo | `task-<numero>-<slug>.md` | `task-01-criar-endpoint.md` |
|
|
161
|
+
| Diretorio | `docs/<feature>/vN/` | `docs/auth/v1/` |
|
|
162
|
+
| Task Plan | `task-plan.md` na pasta da feature | `docs/auth/v1/task-plan.md` |
|
|
163
|
+
| Slug | kebab-case, descritivo | `criar-logger-interface` |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Versionamento Inteligente
|
|
168
|
+
|
|
169
|
+
**ANTES de salvar os arquivos**, execute esta logica de versionamento:
|
|
170
|
+
|
|
171
|
+
1. Gerar nome da feature a partir do titulo (kebab-case, letras minusculas, sem espacos, sem acentos)
|
|
172
|
+
2. Verificar se `docs/<nome-feature>/` ja existe
|
|
173
|
+
3. **Se NAO existe** → criar `docs/<nome-feature>/v1/`
|
|
174
|
+
4. **Se EXISTE** → listar versoes existentes (v1, v2, ...), identificar a mais recente (vN), e perguntar ao usuario usando `AskUserQuestion`:
|
|
175
|
+
- **"Criar nova versao (vN+1)"** → cria novo diretorio `docs/<nome-feature>/vN+1/`, LE a versao anterior como contexto para enriquecer as novas TaskCards
|
|
176
|
+
- **"Sobrescrever versao atual (vN)"** → trabalha no diretorio existente `docs/<nome-feature>/vN/`
|
|
177
|
+
|
|
178
|
+
> **IMPORTANTE**: Ao criar nova versao, SEMPRE leia os documentos da versao anterior para manter continuidade e contexto.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Estrutura de Diretorios
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
docs/
|
|
186
|
+
<nome-feature>/
|
|
187
|
+
v1/
|
|
188
|
+
task-01-<slug>.md # TaskCards individuais
|
|
189
|
+
task-02-<slug>.md
|
|
190
|
+
task-plan.md # Plano com ordem e dependencias (se multiplas tasks)
|
|
191
|
+
v2/ # Nova versao (quando solicitado)
|
|
192
|
+
...
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Task Plan (multiplas TaskCards)
|
|
198
|
+
|
|
199
|
+
**REGRA**: Se a implementacao solicitada pelo usuario exigir mais de uma TaskCard, voce DEVE criar tambem um **plano de execucao** (`task-plan.md`) alem das TaskCards individuais. Isso e obrigatorio — nao deixe tasks soltas sem um plano que as organize.
|
|
200
|
+
|
|
201
|
+
### Quando criar o Task Plan
|
|
202
|
+
|
|
203
|
+
- A implementacao envolve **2 ou mais TaskCards**
|
|
204
|
+
- Ha **dependencias** entre tasks (uma precisa ser concluida antes de outra)
|
|
205
|
+
- A ordem de execucao **importa** para o resultado final
|
|
206
|
+
|
|
207
|
+
### Conteudo obrigatorio do `task-plan.md`
|
|
208
|
+
|
|
209
|
+
1. **Resumo** do objetivo geral da feature (2-4 linhas)
|
|
210
|
+
2. **Tabela de execucao** com ordem, dependencias e paralelismo:
|
|
211
|
+
|
|
212
|
+
```markdown
|
|
213
|
+
| Ordem | ID | Nome da Task | Dependencias | Paralelo? | Status |
|
|
214
|
+
|-------|------|----------------------------|-------------|-----------|---------|
|
|
215
|
+
| 1 | TC-001 | Criar migracoes | - | Sim | A Fazer |
|
|
216
|
+
| 1 | TC-002 | Criar queries SQLC | - | Sim | A Fazer |
|
|
217
|
+
| 2 | TC-003 | Implementar repository | TC-001, TC-002 | Nao | A Fazer |
|
|
218
|
+
| 3 | TC-004 | Implementar service | TC-003 | Nao | A Fazer |
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
3. **Estrategia de paralelismo** — quais tasks podem rodar juntas
|
|
222
|
+
4. **Criterio de conclusao da feature** — quando a feature inteira esta pronta
|
|
223
|
+
|
|
224
|
+
### Nomenclatura e local
|
|
225
|
+
|
|
226
|
+
- Arquivo: `docs/<nome-feature>/vN/task-plan.md`
|
|
227
|
+
- Criado APOS todas as TaskCards individuais serem geradas e aprovadas
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Fluxo de Execucao (referencia)
|
|
232
|
+
|
|
233
|
+
### Gerar TaskCard
|
|
234
|
+
```
|
|
235
|
+
Contexto do usuario
|
|
236
|
+
-> Identificar lacunas (perguntar 1 a 1)
|
|
237
|
+
-> Analisar testes existentes no projeto (buscar arquivos de teste usando o padrao detectado no Passo Zero nas camadas impactadas)
|
|
238
|
+
-> Preencher template (todas as 11 secoes, incluindo secao 10 de Testes)
|
|
239
|
+
-> Salvar em docs/<feature>/vN/ (GERAR ARQUIVOS IMEDIATAMENTE, SEM PEDIR APROVACAO)
|
|
240
|
+
-> Se multiplas: gerar task-plan.md
|
|
241
|
+
-> Apresentar resumo curto do que foi criado (arquivos gerados, IDs, nomes)
|
|
242
|
+
-> (Opcional) Usar /taskcard:generate-tests para enriquecer a secao 10 com rigor de QA Senior
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Executar TaskCard
|
|
246
|
+
```
|
|
247
|
+
Ler TaskCard completa
|
|
248
|
+
-> Validar secoes 3-10 preenchidas
|
|
249
|
+
-> Verificar dependencias (secao 1)
|
|
250
|
+
-> Executar passos (secao 7) na ordem
|
|
251
|
+
-> Executar testes (secao 10): modificar existentes e criar novos
|
|
252
|
+
-> Validar guardrails (secao 6) a cada passo
|
|
253
|
+
-> Rodar testes (make test) e garantir que passam
|
|
254
|
+
-> Validar aceite tecnico (secao 9)
|
|
255
|
+
-> Produzir relatorio final
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Relatorio de Execucao (formato padrao)
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
TaskCard Executada
|
|
262
|
+
|
|
263
|
+
ID: [ID da TaskCard]
|
|
264
|
+
Nome: [Nome da Task]
|
|
265
|
+
|
|
266
|
+
Passos Executados:
|
|
267
|
+
- [x] Passo 1 - Descricao
|
|
268
|
+
- [x] Passo 2 - Descricao
|
|
269
|
+
|
|
270
|
+
Arquivos Modificados:
|
|
271
|
+
- `path/to/file` - [descricao da mudanca]
|
|
272
|
+
|
|
273
|
+
Guardrails Validados:
|
|
274
|
+
- DEVE: [lista validada]
|
|
275
|
+
- NAO DEVE: [nenhuma violacao]
|
|
276
|
+
|
|
277
|
+
Testes:
|
|
278
|
+
- Modificados: [lista de arquivos de teste alterados]
|
|
279
|
+
- Criados: [lista de arquivos de teste novos]
|
|
280
|
+
- Resultado: [X passando, Y falhando]
|
|
281
|
+
|
|
282
|
+
Aceite Tecnico:
|
|
283
|
+
- [x] Objetivo atingido
|
|
284
|
+
- [x] Codigo compila sem erros
|
|
285
|
+
- [x] Testes passando (novos e existentes)
|
|
286
|
+
- [x] Padroes respeitados
|
|
287
|
+
|
|
288
|
+
Status: Concluido | Parcial | Bloqueado
|
|
289
|
+
|
|
290
|
+
Observacoes: [se houver]
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Relatorio de Bloqueio (formato padrao)
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
Execucao Bloqueada
|
|
297
|
+
|
|
298
|
+
Motivo: [descricao do bloqueio]
|
|
299
|
+
Passos Concluidos: [lista]
|
|
300
|
+
Passos Pendentes: [lista]
|
|
301
|
+
Sugestao: [como resolver]
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Entrada
|
|
307
|
+
|
|
308
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# TASKCARD - Execucao Rapida (com Guardrails LLM)
|
|
2
|
+
|
|
3
|
+
## 1. Identificacao
|
|
4
|
+
- **ID**: TC-XXX
|
|
5
|
+
- **Nome da Task**: [nome descritivo]
|
|
6
|
+
- **Responsavel**: [quem executa]
|
|
7
|
+
- **Data**: [data de criacao]
|
|
8
|
+
- **Status**: A Fazer | Em Progresso | Revisao | Concluido
|
|
9
|
+
- **Dependencias**: (IDs de outras tasks, se houver)
|
|
10
|
+
- **Relacionados**: (Issue, PR, Discussao, Link, Documento...)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. Contexto
|
|
15
|
+
Explique em 2-4 linhas por que essa task existe e o que motivou a execucao.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 3. Objetivo da Task
|
|
20
|
+
Explique o que deve ser entregue ao final desta task (resultado tecnico direto, sem "historia de produto").
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 4. Escopo
|
|
25
|
+
### 4.1 Inclui
|
|
26
|
+
- [ ] Item incluido A
|
|
27
|
+
- [ ] Item incluido B
|
|
28
|
+
|
|
29
|
+
### 4.2 Fora do escopo
|
|
30
|
+
- [ ] Item fora A
|
|
31
|
+
- [ ] Item fora B
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 5. Descricao de Execucao (COMO fazer)
|
|
36
|
+
Explique como implementar:
|
|
37
|
+
- O que criar
|
|
38
|
+
- O que modificar
|
|
39
|
+
- Onde mexer
|
|
40
|
+
- Regras tecnicas relevantes (curtas e objetivas)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 6. Guardrails de Execucao (LLM) - DEVE / NAO DEVE
|
|
45
|
+
> Quebrar qualquer item aqui **invalida a task**.
|
|
46
|
+
|
|
47
|
+
### 6.1 DEVE
|
|
48
|
+
- Seguir padroes ja existentes no projeto
|
|
49
|
+
- Alterar apenas arquivos listados em "Arquivos/Areas Impactadas"
|
|
50
|
+
- Manter contratos publicos (APIs, assinaturas) inalterados
|
|
51
|
+
|
|
52
|
+
### 6.2 NAO DEVE
|
|
53
|
+
- Nao refatorar fora do escopo
|
|
54
|
+
- Nao criar abstracoes genericas "por precaucao"
|
|
55
|
+
- Nao introduzir novas dependencias sem justificar e registrar
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 7. Passos Sugeridos (checklist executavel)
|
|
60
|
+
- [ ] Passo 1
|
|
61
|
+
- [ ] Passo 2
|
|
62
|
+
- [ ] Passo 3
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 8. Arquivos Envolvidos
|
|
67
|
+
|
|
68
|
+
### 8.1 Arquivos Existentes (leitura/referencia)
|
|
69
|
+
Arquivos que o executor DEVE ler antes de comecar. Evita scans desnecessarios no codebase:
|
|
70
|
+
- `path/to/existing1` — [por que ler: padrao a seguir, interface a implementar, etc.]
|
|
71
|
+
- `path/to/existing2` — [por que ler]
|
|
72
|
+
|
|
73
|
+
### 8.2 Arquivos a Criar
|
|
74
|
+
- `path/to/new1` — [descricao do que sera criado]
|
|
75
|
+
|
|
76
|
+
### 8.3 Arquivos a Modificar
|
|
77
|
+
- `path/to/modify1` — [o que sera alterado]
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 9. Aceite Tecnico (criterios objetivos)
|
|
82
|
+
A task estara concluida quando:
|
|
83
|
+
- [ ] Objetivo atingido conforme secao 3
|
|
84
|
+
- [ ] Guardrails respeitados (secao 6)
|
|
85
|
+
- [ ] Codigo compila / roda sem erros
|
|
86
|
+
- [ ] Nenhuma quebra nos fluxos existentes
|
|
87
|
+
- [ ] Padroes do projeto respeitados
|
|
88
|
+
- [ ] Revisao realizada (quando aplicavel)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 10. Testes
|
|
93
|
+
|
|
94
|
+
### 10.1 Testes Existentes a Modificar
|
|
95
|
+
Testes que ja existem e precisam ser atualizados por causa das mudancas desta task:
|
|
96
|
+
- `path/to/existing_test_file` — [o que precisa mudar: novos cenarios, mocks atualizados, fixtures alteradas, etc.]
|
|
97
|
+
|
|
98
|
+
### 10.2 Testes a Criar
|
|
99
|
+
Novos testes que devem ser criados para cobrir as mudancas desta task:
|
|
100
|
+
- `path/to/new_test_file` — [descricao: o que testar, cenarios de sucesso e erro]
|
|
101
|
+
|
|
102
|
+
### 10.3 Cenarios Obrigatorios
|
|
103
|
+
Lista de cenarios que DEVEM ser cobertos pelos testes:
|
|
104
|
+
- [ ] Cenario de sucesso (caminho feliz)
|
|
105
|
+
- [ ] Cenario de erro (validacao, not found, etc.)
|
|
106
|
+
- [ ] Cenarios de borda (limites, valores nulos, etc.)
|
|
107
|
+
|
|
108
|
+
### 10.4 Padroes de Teste
|
|
109
|
+
Referencia dos padroes de teste a seguir (identificados no Passo Zero):
|
|
110
|
+
- **Framework**: [detectado — ex: testify, jest, pytest, flutter_test]
|
|
111
|
+
- **Convencao de nomes**: [detectada — ex: Test<Layer>_<Function>_<Scenario>, describe/it, test_<function>]
|
|
112
|
+
- **Fixture/Setup**: [detectado — ex: banco in-memory, factory functions, fixtures]
|
|
113
|
+
- **Mocks**: [detectado — ex: interfaces com mock, jest.mock, mocktail, mockito]
|
|
114
|
+
|
|
115
|
+
### 10.5 Cenarios de Erro
|
|
116
|
+
Mapeamento de cenarios de erro com detalhes tecnicos:
|
|
117
|
+
|
|
118
|
+
| Cenario | Trigger | Expected | Codigo/Status |
|
|
119
|
+
|---------|---------|----------|---------------|
|
|
120
|
+
| [descricao do erro] | [o que causa] | [comportamento esperado] | [codigo gRPC, HTTP status, excecao] |
|
|
121
|
+
|
|
122
|
+
### 10.6 Rastreabilidade: Aceite Tecnico -> Testes
|
|
123
|
+
Mapeamento entre criterios de aceite (secao 9) e testes que os validam:
|
|
124
|
+
|
|
125
|
+
| # | Criterio de Aceite (secao 9) | Teste(s) Correspondente(s) | Tipo |
|
|
126
|
+
|---|------------------------------|---------------------------|------|
|
|
127
|
+
| 1 | [criterio] | [TestNome] | [Unitario/Integracao/E2E] |
|
|
128
|
+
|
|
129
|
+
> Para analise aprofundada com rigor de QA Senior, use `/taskcard:generate-tests`.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 11. Notas / Observacoes
|
|
134
|
+
Decisoes rapidas, alertas, trade-offs ou qualquer detalhe que ajude o reviewer.
|