adi_dev_workflow 1.1.0 → 1.1.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.
- package/frameworks/agents/qa-staff-engineer.md +311 -0
- package/frameworks/agents/qa-validation-expert.md +458 -0
- package/frameworks/agents/tech-review-conformance.md +200 -0
- package/frameworks/commands/generate-prompt.md +33 -100
- package/frameworks/commands/taskcard/generate-taskcard.md +104 -33
- package/frameworks/skills/ministack-intent-expert/SKILL.md +13 -1
- package/frameworks/skills/ministack-scope-expert/SKILL.md +13 -1
- package/frameworks/skills/ministack-tasks-expert/SKILL.md +13 -1
- package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +13 -1
- package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
- package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +12 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +12 -0
- package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +13 -1
- package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +13 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +26 -11
- package/frameworks/templates/prompt_template.md +207 -0
- package/package.json +1 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Prompt 5 Estrelas
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## 1. Contexto
|
|
6
|
+
|
|
7
|
+
**Linguagem/Framework:**
|
|
8
|
+
[linguagem e versão, frameworks principais]
|
|
9
|
+
|
|
10
|
+
**Arquitetura/Padrão:**
|
|
11
|
+
[padrão arquitetural do projeto]
|
|
12
|
+
|
|
13
|
+
**Público-alvo:**
|
|
14
|
+
[quem vai consumir o resultado]
|
|
15
|
+
|
|
16
|
+
**Limitações/Restrições:**
|
|
17
|
+
[restrições de ambiente, dependências, compatibilidade]
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Objetivo
|
|
22
|
+
|
|
23
|
+
**O que precisa ser entregue:**
|
|
24
|
+
[entregável principal da tarefa]
|
|
25
|
+
|
|
26
|
+
**Propósito da tarefa:**
|
|
27
|
+
[problema que resolve ou valor que agrega]
|
|
28
|
+
|
|
29
|
+
**Resultado esperado:**
|
|
30
|
+
[forma do resultado: código funcional, documentação, plano, etc.]
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 3. Instruções Específicas
|
|
35
|
+
|
|
36
|
+
**Detalhes técnicos:**
|
|
37
|
+
- [detalhe 1]
|
|
38
|
+
- [detalhe 2]
|
|
39
|
+
- [detalhe 3]
|
|
40
|
+
|
|
41
|
+
**Restrições:**
|
|
42
|
+
- [restrição 1]
|
|
43
|
+
- [restrição 2]
|
|
44
|
+
|
|
45
|
+
**Estrutura lógica:**
|
|
46
|
+
- [passo ou camada 1]
|
|
47
|
+
- [passo ou camada 2]
|
|
48
|
+
- [passo ou camada 3]
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 4. Regras: DEVE / NÃO DEVE
|
|
53
|
+
|
|
54
|
+
### DEVE:
|
|
55
|
+
- [regra obrigatória 1]
|
|
56
|
+
- [regra obrigatória 2]
|
|
57
|
+
- [regra obrigatória 3]
|
|
58
|
+
|
|
59
|
+
### NÃO DEVE:
|
|
60
|
+
- [proibição 1]
|
|
61
|
+
- [proibição 2]
|
|
62
|
+
- [proibição 3]
|
|
63
|
+
|
|
64
|
+
### ATENÇÃO ESPECIAL:
|
|
65
|
+
- [ponto crítico, se houver]
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 5. Formato da Resposta
|
|
70
|
+
|
|
71
|
+
**Estrutura desejada:**
|
|
72
|
+
[formato do output: código com comentários, tópicos, tabela, etc.]
|
|
73
|
+
|
|
74
|
+
**Limites:**
|
|
75
|
+
[restrições de tamanho ou escopo do output]
|
|
76
|
+
|
|
77
|
+
**Estilo:**
|
|
78
|
+
[idioma, formatação, nível de detalhe]
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 6. Persona / Tom
|
|
83
|
+
|
|
84
|
+
**Perspectiva:**
|
|
85
|
+
[papel que a IA deve assumir]
|
|
86
|
+
|
|
87
|
+
**Tom da explicação:**
|
|
88
|
+
[técnico, didático, consultivo, direto]
|
|
89
|
+
|
|
90
|
+
**Nível de profundidade:**
|
|
91
|
+
[básico, intermediário, aprofundado com edge cases]
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 7. Critérios de Aceite *(opcional)*
|
|
96
|
+
|
|
97
|
+
- [ ] [critério 1]
|
|
98
|
+
- [ ] [critério 2]
|
|
99
|
+
- [ ] [critério 3]
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 8. Exemplos *(opcional)*
|
|
104
|
+
|
|
105
|
+
**Exemplo 1:**
|
|
106
|
+
```
|
|
107
|
+
Entrada: [entrada]
|
|
108
|
+
Saída esperada: [saída]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 9. Arquivos Envolvidos *(opcional)*
|
|
114
|
+
|
|
115
|
+
**Arquivos a criar:**
|
|
116
|
+
- [caminho — descrição]
|
|
117
|
+
|
|
118
|
+
**Arquivos a modificar:**
|
|
119
|
+
- [caminho — descrição]
|
|
120
|
+
|
|
121
|
+
**Arquivos de referência (não alterar):**
|
|
122
|
+
- [caminho — descrição]
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 10. Testes de Unidade *(opcional)*
|
|
127
|
+
|
|
128
|
+
**Escopo dos testes:**
|
|
129
|
+
- [camadas e tipos de teste]
|
|
130
|
+
|
|
131
|
+
**Cenários obrigatórios:**
|
|
132
|
+
- [cenário 1: descrição → resultado esperado]
|
|
133
|
+
- [cenário 2: descrição → resultado esperado]
|
|
134
|
+
|
|
135
|
+
**Padrão de testes:**
|
|
136
|
+
- [framework, convenções, nomenclatura]
|
|
137
|
+
|
|
138
|
+
**Arquivo de referência:**
|
|
139
|
+
- [caminho do teste existente a seguir como modelo]
|
|
@@ -25,6 +25,18 @@ Estilo: Objetivo. Estruturado. Sem redundância.
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
# Regra de Acentuação
|
|
29
|
+
|
|
30
|
+
Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
|
|
31
|
+
|
|
32
|
+
- Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
|
|
33
|
+
- Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
|
|
34
|
+
- Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
|
|
35
|
+
|
|
36
|
+
Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
28
40
|
# Framework SDD — Etapa PRD
|
|
29
41
|
|
|
30
42
|
## Visão Geral
|
|
@@ -16,6 +16,18 @@ Seu foco é **EXCLUSIVAMENTE** no **COMO executar** — decomposição técnica
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
+
# Regra de Acentuação
|
|
20
|
+
|
|
21
|
+
Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
|
|
22
|
+
|
|
23
|
+
- Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
|
|
24
|
+
- Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
|
|
25
|
+
- Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
|
|
26
|
+
|
|
27
|
+
Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
19
31
|
# Framework SDD — Etapa TASK PLAN
|
|
20
32
|
|
|
21
33
|
## Visão Geral
|
|
@@ -16,7 +16,19 @@ Domina o framework SDD: template, regras, guardrails, convencoes e fluxos.
|
|
|
16
16
|
|
|
17
17
|
Foco: **DECISOES TECNICAS** que guiarao o SPEC_TECH. Nao e SPEC_TECH — e o direcionamento previo.
|
|
18
18
|
|
|
19
|
-
Estilo: Objetivo. Contextualizado. Perguntas curtas com
|
|
19
|
+
Estilo: Objetivo. Contextualizado. Perguntas curtas com opções baseadas no codebase.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Regra de Acentuação
|
|
24
|
+
|
|
25
|
+
Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
|
|
26
|
+
|
|
27
|
+
- Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
|
|
28
|
+
- Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
|
|
29
|
+
- Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
|
|
30
|
+
|
|
31
|
+
Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
|
|
20
32
|
|
|
21
33
|
---
|
|
22
34
|
|
|
@@ -5,6 +5,19 @@ argument-hint: [caminho do PRD]
|
|
|
5
5
|
---
|
|
6
6
|
PERSONA: Você é um Arquiteto de Software Sênior.
|
|
7
7
|
Responsabilidade: Transformar PRDs aprovados em especificações técnicas completas, claras e prontas para implementação.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Regra de Acentuação
|
|
12
|
+
|
|
13
|
+
Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
|
|
14
|
+
|
|
15
|
+
- Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
|
|
16
|
+
- Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
|
|
17
|
+
- Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
|
|
18
|
+
|
|
19
|
+
Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
|
|
20
|
+
|
|
8
21
|
---
|
|
9
22
|
|
|
10
23
|
# Framework SDD - SPEC_TECH
|
|
@@ -6,7 +6,19 @@ argument-hint: [pergunta, contexto ou caminho da taskcard]
|
|
|
6
6
|
|
|
7
7
|
Voce e um **Especialista no Framework TaskCard** — o sistema de planejamento e execucao de tasks deste projeto.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Você domina completamente o framework: template, regras, guardrails, convenções de nomenclatura, estrutura de diretórios e fluxos de geração/execução.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Regra de Acentuação
|
|
14
|
+
|
|
15
|
+
Todo artefato gerado por esta skill é um documento em português brasileiro. Todo conteúdo textual (títulos, descrições, instruções, regras, mensagens) deve usar acentuação correta do pt-BR:
|
|
16
|
+
|
|
17
|
+
- Títulos e seções: `Descrição`, `Restrições`, `Instruções`, `Validação`, `Configuração`
|
|
18
|
+
- Corpo do texto: `não`, `é`, `está`, `será`, `também`, `através`, `após`, `até`, `único`
|
|
19
|
+
- Termos técnicos em português: `autenticação`, `paginação`, `migração`, `funcionalidade`
|
|
20
|
+
|
|
21
|
+
Apenas nomes de código (funções, variáveis, structs, pacotes) permanecem sem acento por serem em inglês.
|
|
10
22
|
|
|
11
23
|
---
|
|
12
24
|
|
|
@@ -60,15 +72,18 @@ Se `project-profile.md` NAO existir, execute `/generate-project-profile` antes d
|
|
|
60
72
|
|
|
61
73
|
---
|
|
62
74
|
|
|
63
|
-
##
|
|
75
|
+
## Seção 10 (Testes): Delegação ao qa-staff-engineer
|
|
76
|
+
|
|
77
|
+
A seção 10 (Testes) NÃO é preenchida diretamente pelo gerador da TaskCard. O fluxo é:
|
|
78
|
+
|
|
79
|
+
1. O orquestrador (`generate-taskcard`) dispara o agente `qa-staff-engineer` (modo GERAR_TESTES)
|
|
80
|
+
2. O agente retorna um **JSON estruturado** com casos de teste, rastreabilidade e padrões detectados
|
|
81
|
+
3. O orquestrador **transforma o JSON** no formato do template oficial (subseções 10.1 a 10.6) e edita o arquivo
|
|
64
82
|
|
|
65
|
-
|
|
66
|
-
- Analisa o codebase, testes existentes e padroes do projeto
|
|
67
|
-
- Mapeia criterios de aceite (secao 9) para testes
|
|
68
|
-
- Preenche as subsecoes 10.1 a 10.6 diretamente no arquivo da TaskCard
|
|
83
|
+
O agente QA é compartilhado entre processos (SDD, miniStack, TaskCard) e sempre retorna JSON — a adaptação ao formato do template é responsabilidade do orquestrador.
|
|
69
84
|
|
|
70
|
-
> **Nunca gere uma TaskCard sem disparar o qa-staff-engineer para
|
|
71
|
-
> Salve o arquivo com
|
|
85
|
+
> **Nunca gere uma TaskCard sem disparar o qa-staff-engineer para a seção 10.**
|
|
86
|
+
> Salve o arquivo com seções 1-9 e 11 primeiro, depois dispare o agente e formate o resultado.
|
|
72
87
|
|
|
73
88
|
---
|
|
74
89
|
|
|
@@ -178,9 +193,9 @@ Contexto do usuario
|
|
|
178
193
|
-> Preencher template (secoes 1-9 e 11)
|
|
179
194
|
-> Remover todos os comentarios <!-- LLM-ONLY: ... --> do conteudo antes de salvar
|
|
180
195
|
-> Salvar em docs/<feature>/vN/ (GERAR ARQUIVOS IMEDIATAMENTE, SEM PEDIR APROVACAO)
|
|
181
|
-
->
|
|
182
|
-
|
|
183
|
-
|
|
196
|
+
-> Disparar qa-staff-engineer (modo GERAR_TESTES) → recebe JSON
|
|
197
|
+
-> Transformar JSON no formato do template (subseções 10.1 a 10.6)
|
|
198
|
+
-> Editar arquivo da TaskCard com a seção 10 formatada
|
|
184
199
|
-> Se multiplas: gerar task-plan.md
|
|
185
200
|
-> Apresentar resumo curto do que foi criado (arquivos gerados, IDs, nomes)
|
|
186
201
|
```
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# 🎯 Prompt Template 5 Estrelas
|
|
2
|
+
|
|
3
|
+
> **Como usar:** Preencha cada seção abaixo com as informações específicas da sua tarefa. Delete as dicas entre colchetes após preencher.
|
|
4
|
+
|
|
5
|
+
> 💡 **Novo!** Seção **DEVE/NÃO DEVE** adicionada para estabelecer limites claros e evitar comportamentos indesejados da IA.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. 🌍 Contexto
|
|
10
|
+
|
|
11
|
+
[Descreva o ambiente técnico, stack, público e restrições relevantes]
|
|
12
|
+
|
|
13
|
+
**Linguagem/Framework:**
|
|
14
|
+
[Ex: Python 3.11 com FastAPI / Go com Gin / React com TypeScript]
|
|
15
|
+
|
|
16
|
+
**Arquitetura/Padrão:**
|
|
17
|
+
[Ex: Clean Architecture / Arquitetura em camadas / MVC / Microserviços]
|
|
18
|
+
|
|
19
|
+
**Público-alvo:**
|
|
20
|
+
[Ex: Desenvolvedores backend / Equipe de frontend / Arquitetos de software]
|
|
21
|
+
|
|
22
|
+
**Limitações/Restrições:**
|
|
23
|
+
[Ex: Não pode usar bibliotecas externas / Deve ser compatível com PostgreSQL 14 / Budget limitado de memória]
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. 🎯 Objetivo
|
|
28
|
+
|
|
29
|
+
[Descreva claramente o que você deseja obter da IA]
|
|
30
|
+
|
|
31
|
+
**O que precisa ser entregue:**
|
|
32
|
+
[Ex: Implementar feature de autenticação JWT / Criar testes unitários / Refatorar código legado]
|
|
33
|
+
|
|
34
|
+
**Propósito da tarefa:**
|
|
35
|
+
[Ex: Melhorar segurança / Aumentar cobertura de testes / Facilitar manutenção]
|
|
36
|
+
|
|
37
|
+
**Resultado esperado:**
|
|
38
|
+
[Ex: Código funcional / Documentação técnica / Plano de implementação]
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. ⚙️ Instruções Específicas
|
|
43
|
+
|
|
44
|
+
[Defina COMO a IA deve construir a resposta]
|
|
45
|
+
|
|
46
|
+
**Detalhes técnicos:**
|
|
47
|
+
- [Ex: Usar pgx/v5 para conexão com banco]
|
|
48
|
+
- [Ex: Implementar validação de entrada com tags do Gin]
|
|
49
|
+
- [Ex: Seguir padrão de nomenclatura do projeto]
|
|
50
|
+
|
|
51
|
+
**Restrições:**
|
|
52
|
+
- [Ex: NÃO usar bibliotecas ORM]
|
|
53
|
+
- [Ex: NÃO modificar arquivos de configuração existentes]
|
|
54
|
+
- [Ex: Manter compatibilidade com API v1]
|
|
55
|
+
|
|
56
|
+
**Estrutura lógica:**
|
|
57
|
+
- [Ex: Separar camadas: handler → service → repository]
|
|
58
|
+
- [Ex: Implementar tratamento de erros em cada camada]
|
|
59
|
+
- [Ex: Adicionar logs estruturados]
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 4. ✓ Regras: DEVE / NÃO DEVE
|
|
64
|
+
|
|
65
|
+
[Defina limites claros do que a IA DEVE e NÃO DEVE fazer]
|
|
66
|
+
|
|
67
|
+
### ✅ DEVE:
|
|
68
|
+
- [Ex: DEVE usar Context para operações de I/O]
|
|
69
|
+
- [Ex: DEVE seguir o padrão de nomenclatura do projeto (PascalCase/camelCase)]
|
|
70
|
+
- [Ex: DEVE implementar tratamento de erros com contexto usando fmt.Errorf]
|
|
71
|
+
- [Ex: DEVE adicionar comentários explicativos em lógicas complexas]
|
|
72
|
+
- [Ex: DEVE validar todos os inputs antes de processar]
|
|
73
|
+
- [Ex: DEVE retornar erros apropriados em cada camada]
|
|
74
|
+
- [Ex: DEVE escrever testes para código crítico]
|
|
75
|
+
- [Ex: DEVE formatar código com gofmt/prettier]
|
|
76
|
+
|
|
77
|
+
### ❌ NÃO DEVE:
|
|
78
|
+
- [Ex: NÃO DEVE usar bibliotecas ORM (usar apenas SQL puro)]
|
|
79
|
+
- [Ex: NÃO DEVE expor informações sensíveis em logs]
|
|
80
|
+
- [Ex: NÃO DEVE fazer breaking changes na API pública]
|
|
81
|
+
- [Ex: NÃO DEVE ignorar erros silenciosamente]
|
|
82
|
+
- [Ex: NÃO DEVE criar código duplicado (DRY - Don't Repeat Yourself)]
|
|
83
|
+
- [Ex: NÃO DEVE usar hardcoded values (usar variáveis de ambiente)]
|
|
84
|
+
- [Ex: NÃO DEVE modificar arquivos de migração já aplicados]
|
|
85
|
+
- [Ex: NÃO DEVE pular validações de segurança]
|
|
86
|
+
|
|
87
|
+
### ⚠️ ATENÇÃO ESPECIAL:
|
|
88
|
+
- [Ex: Ao manipular senhas, SEMPRE usar hashing (bcrypt)]
|
|
89
|
+
- [Ex: Ao fazer queries SQL, SEMPRE usar prepared statements]
|
|
90
|
+
- [Ex: Ao lidar com datas, SEMPRE usar UTC]
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 5. 📋 Formato da Resposta
|
|
95
|
+
[Ex: Se a resposta for longa, use subtítulos (##) e listas numeradas para facilitar leitura.]
|
|
96
|
+
|
|
97
|
+
[Especifique COMO você quer receber o resultado]
|
|
98
|
+
|
|
99
|
+
**Estrutura desejada:**
|
|
100
|
+
[Ex: Código completo com comentários / Plano em tópicos / Tabela comparativa / Diagrama + explicação]
|
|
101
|
+
|
|
102
|
+
**Limites:**
|
|
103
|
+
[Ex: Máximo 200 linhas de código / Resposta em até 3 parágrafos / Sem dependências externas]
|
|
104
|
+
|
|
105
|
+
**Estilo:**
|
|
106
|
+
[Ex: Responder em português / Usar markdown / Incluir exemplos de uso / Formato técnico e direto]
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 6. 👤 Persona / Tom
|
|
111
|
+
|
|
112
|
+
[Defina a perspectiva e forma de comunicação da IA]
|
|
113
|
+
|
|
114
|
+
**Perspectiva:**
|
|
115
|
+
[Ex: Desenvolvedor sênior / Arquiteto de software / Instrutor técnico / Consultor especializado]
|
|
116
|
+
|
|
117
|
+
**Tom da explicação:**
|
|
118
|
+
[Ex: Técnico e objetivo / Didático e detalhado / Consultivo e estratégico]
|
|
119
|
+
|
|
120
|
+
**Nível de profundidade:**
|
|
121
|
+
[Ex: Explicações básicas / Aprofundado com edge cases / Foco em performance / Visão de alto nível]
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 7. ✅ Critérios de Aceite
|
|
126
|
+
[Liste condições objetivas que determinam se o resultado está correto]
|
|
127
|
+
|
|
128
|
+
- [ ] [Ex: O código compila sem erros]
|
|
129
|
+
- [ ] [Ex: Segue o padrão de arquitetura em camadas]
|
|
130
|
+
- [ ] [Ex: Inclui tratamento de erros]
|
|
131
|
+
- [ ] [Ex: Possui testes unitários com 80%+ de cobertura]
|
|
132
|
+
- [ ] [Ex: Documentação atualizada]
|
|
133
|
+
- [ ] [Ex: Performance < 100ms por requisição]
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 8. 💬 Exemplos *(opcional)*
|
|
138
|
+
|
|
139
|
+
[Forneça exemplos de entrada e saída esperada se achar necessário]
|
|
140
|
+
|
|
141
|
+
**Exemplo 1:**
|
|
142
|
+
```
|
|
143
|
+
Entrada: [Descreva a entrada]
|
|
144
|
+
Saída esperada: [Descreva a saída]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Exemplo 2:**
|
|
148
|
+
```
|
|
149
|
+
Entrada: [Descreva a entrada]
|
|
150
|
+
Saída esperada: [Descreva a saída]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 9. 📂 Arquivos Envolvidos *(opcional)*
|
|
156
|
+
|
|
157
|
+
[Liste os arquivos que devem ser criados, modificados ou consultados durante a tarefa]
|
|
158
|
+
|
|
159
|
+
**Arquivos a criar:**
|
|
160
|
+
- [Ex: `internal/service/order_service.go` — lógica de negócio de pedidos]
|
|
161
|
+
- [Ex: `internal/handler/grpc/order_handler.go` — handler gRPC de pedidos]
|
|
162
|
+
|
|
163
|
+
**Arquivos a modificar:**
|
|
164
|
+
- [Ex: `internal/infra/di/fx.go` — registrar novos módulos no DI]
|
|
165
|
+
- [Ex: `api/proto/v1/order.proto` — definir mensagens e RPCs de pedidos]
|
|
166
|
+
|
|
167
|
+
**Arquivos de referência (consultar, não alterar):**
|
|
168
|
+
- [Ex: `internal/service/user_service.go` — seguir mesmo padrão de implementação]
|
|
169
|
+
- [Ex: `internal/handler/grpc/user_handler.go` — referência de como mapear DTOs]
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 10. 🧪 Testes de Unidade *(opcional)*
|
|
174
|
+
|
|
175
|
+
[Defina expectativas sobre testes que devem acompanhar a implementação]
|
|
176
|
+
|
|
177
|
+
**Escopo dos testes:**
|
|
178
|
+
- [Ex: Testar apenas a camada de service]
|
|
179
|
+
- [Ex: Cobrir fluxos de sucesso e erro]
|
|
180
|
+
- [Ex: Incluir testes de integração com banco real]
|
|
181
|
+
|
|
182
|
+
**Cenários obrigatórios:**
|
|
183
|
+
- [Ex: Criação com dados válidos → sucesso]
|
|
184
|
+
- [Ex: Criação com email duplicado → erro de conflito]
|
|
185
|
+
- [Ex: Busca por ID inexistente → erro not found]
|
|
186
|
+
- [Ex: Atualização sem permissão → erro de autorização]
|
|
187
|
+
|
|
188
|
+
**Padrão de testes:**
|
|
189
|
+
- [Ex: Table-driven tests com `testify`]
|
|
190
|
+
- [Ex: Mocks para dependências externas]
|
|
191
|
+
- [Ex: Nomenclatura: `TestNomeDoService_MetodoTestado_Cenario`]
|
|
192
|
+
|
|
193
|
+
**Arquivo de referência:**
|
|
194
|
+
- [Ex: `internal/service/user_service_test.go` — seguir mesmo padrão]
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 💡 Dicas de Uso
|
|
199
|
+
|
|
200
|
+
* ✅ **Mínimo obrigatório:** Seções 1–6 (Contexto + Objetivo + Instruções + DEVE/NÃO DEVE + Formato + Persona)
|
|
201
|
+
* ⭐ **Para 6 estrelas:** Adicione seções 7–10 (Critérios de Aceite + Exemplos + Arquivos + Testes)
|
|
202
|
+
* 🎯 **Seja específico:** Quanto mais detalhes relevantes, melhor a resposta
|
|
203
|
+
* 🎭 **Use DEVE/NÃO DEVE:** Esta seção é crucial para evitar comportamentos indesejados
|
|
204
|
+
* 🔄 **Itere:** Ajuste o prompt baseado nos resultados obtidos
|
|
205
|
+
* 📏 **Balanceie:** Detalhes suficientes sem ser verboso demais
|
|
206
|
+
|
|
207
|
+
---
|