@luanpdd/kit-mcp 0.2.1 → 0.3.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/kit/COMANDOS.md +123 -0
- package/kit/agents/advisor-researcher.md +121 -0
- package/kit/agents/assumptions-analyzer.md +122 -0
- package/kit/agents/codebase-mapper.md +787 -0
- package/kit/agents/debugger.md +796 -0
- package/kit/agents/executor.md +516 -0
- package/kit/agents/integration-checker.md +217 -0
- package/kit/agents/nyquist-auditor.md +195 -0
- package/kit/agents/phase-researcher.md +715 -0
- package/kit/agents/plan-checker.md +289 -0
- package/kit/agents/planner.md +1373 -0
- package/kit/agents/project-researcher.md +671 -0
- package/kit/agents/research-synthesizer.md +259 -0
- package/kit/agents/roadmapper.md +696 -0
- package/kit/agents/ui-auditor.md +458 -0
- package/kit/agents/ui-checker.md +319 -0
- package/kit/agents/ui-researcher.md +374 -0
- package/kit/agents/user-profiler.md +183 -0
- package/kit/agents/verifier.md +719 -0
- package/kit/commands/adicionar-backlog.md +76 -0
- package/kit/commands/adicionar-fase.md +43 -0
- package/kit/commands/adicionar-tarefa.md +47 -0
- package/kit/commands/adicionar-testes.md +41 -0
- package/kit/commands/ajuda.md +22 -0
- package/kit/commands/atualizar.md +37 -0
- package/kit/commands/auditar-marco.md +36 -0
- package/kit/commands/auditar-uat.md +24 -0
- package/kit/commands/autonomo.md +41 -0
- package/kit/commands/branch-pr.md +25 -0
- package/kit/commands/concluir-marco.md +136 -0
- package/kit/commands/configuracoes.md +36 -0
- package/kit/commands/definir-perfil.md +12 -0
- package/kit/commands/depurar.md +173 -0
- package/kit/commands/discutir-fase.md +64 -0
- package/kit/commands/entrar-discord.md +18 -0
- package/kit/commands/estatisticas.md +18 -0
- package/kit/commands/executar-fase.md +59 -0
- package/kit/commands/expresso.md +47 -0
- package/kit/commands/fase-ui.md +34 -0
- package/kit/commands/fazer.md +30 -0
- package/kit/commands/fio.md +126 -0
- package/kit/commands/fluxos-trabalho.md +64 -0
- package/kit/commands/forense.md +56 -0
- package/kit/commands/gerenciador.md +39 -0
- package/kit/commands/inserir-fase.md +32 -0
- package/kit/commands/limpeza.md +18 -0
- package/kit/commands/listar-hipoteses-fase.md +46 -0
- package/kit/commands/listar-workspaces.md +19 -0
- package/kit/commands/mapear-codebase.md +71 -0
- package/kit/commands/nota.md +34 -0
- package/kit/commands/novo-marco.md +44 -0
- package/kit/commands/novo-projeto.md +42 -0
- package/kit/commands/novo-workspace.md +44 -0
- package/kit/commands/pausar-trabalho.md +38 -0
- package/kit/commands/perfil-usuario.md +46 -0
- package/kit/commands/pesquisar-fase.md +195 -0
- package/kit/commands/planejar-fase.md +47 -0
- package/kit/commands/planejar-lacunas.md +34 -0
- package/kit/commands/plantar-ideia.md +26 -0
- package/kit/commands/progresso.md +24 -0
- package/kit/commands/proximo.md +24 -0
- package/kit/commands/publicar.md +370 -0
- package/kit/commands/rapido.md +30 -0
- package/kit/commands/reaplicar-patches.md +124 -0
- package/kit/commands/relatorio-sessao.md +19 -0
- package/kit/commands/remover-fase.md +31 -0
- package/kit/commands/remover-workspace.md +26 -0
- package/kit/commands/resumo-marco.md +51 -0
- package/kit/commands/retomar-trabalho.md +40 -0
- package/kit/commands/revisar-backlog.md +60 -0
- package/kit/commands/revisar-ui.md +32 -0
- package/kit/commands/revisar.md +37 -0
- package/kit/commands/saude.md +22 -0
- package/kit/commands/setup-notion.md +93 -0
- package/kit/commands/sync-main.md +68 -0
- package/kit/commands/validar-fase.md +35 -0
- package/kit/commands/verificar-tarefas.md +45 -0
- package/kit/commands/verificar-trabalho.md +38 -0
- package/kit/file-manifest.json +219 -0
- package/kit/framework/VERSION +1 -0
- package/kit/framework/bin/lib/commands.cjs +959 -0
- package/kit/framework/bin/lib/config.cjs +442 -0
- package/kit/framework/bin/lib/core.cjs +1230 -0
- package/kit/framework/bin/lib/frontmatter.cjs +336 -0
- package/kit/framework/bin/lib/init.cjs +1442 -0
- package/kit/framework/bin/lib/milestone.cjs +252 -0
- package/kit/framework/bin/lib/model-profiles.cjs +68 -0
- package/kit/framework/bin/lib/phase.cjs +888 -0
- package/kit/framework/bin/lib/profile-output.cjs +952 -0
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -0
- package/kit/framework/bin/lib/roadmap.cjs +329 -0
- package/kit/framework/bin/lib/security.cjs +382 -0
- package/kit/framework/bin/lib/state.cjs +1031 -0
- package/kit/framework/bin/lib/template.cjs +222 -0
- package/kit/framework/bin/lib/uat.cjs +282 -0
- package/kit/framework/bin/lib/verify.cjs +888 -0
- package/kit/framework/bin/lib/workstream.cjs +491 -0
- package/kit/framework/bin/tools.cjs +918 -0
- package/kit/framework/commands/workstreams.md +63 -0
- package/kit/framework/references/checkpoints.md +778 -0
- package/kit/framework/references/continuation-format.md +249 -0
- package/kit/framework/references/decimal-phase-calculation.md +64 -0
- package/kit/framework/references/git-integration.md +295 -0
- package/kit/framework/references/git-planning-commit.md +38 -0
- package/kit/framework/references/model-profile-resolution.md +36 -0
- package/kit/framework/references/model-profiles.md +139 -0
- package/kit/framework/references/phase-argument-parsing.md +61 -0
- package/kit/framework/references/planning-config.md +202 -0
- package/kit/framework/references/questioning.md +162 -0
- package/kit/framework/references/tdd.md +263 -0
- package/kit/framework/references/ui-brand.md +160 -0
- package/kit/framework/references/user-profiling.md +657 -0
- package/kit/framework/references/verification-patterns.md +612 -0
- package/kit/framework/references/workstream-flag.md +58 -0
- package/kit/framework/templates/DEBUG.md +164 -0
- package/kit/framework/templates/UAT.md +265 -0
- package/kit/framework/templates/UI-SPEC.md +100 -0
- package/kit/framework/templates/VALIDATION.md +76 -0
- package/kit/framework/templates/claude-md.md +122 -0
- package/kit/framework/templates/codebase/architecture.md +185 -0
- package/kit/framework/templates/codebase/concerns.md +205 -0
- package/kit/framework/templates/codebase/conventions.md +204 -0
- package/kit/framework/templates/codebase/integrations.md +192 -0
- package/kit/framework/templates/codebase/stack.md +158 -0
- package/kit/framework/templates/codebase/structure.md +199 -0
- package/kit/framework/templates/codebase/testing.md +301 -0
- package/kit/framework/templates/config.json +44 -0
- package/kit/framework/templates/context.md +352 -0
- package/kit/framework/templates/continue-here.md +78 -0
- package/kit/framework/templates/copilot-instructions.md +7 -0
- package/kit/framework/templates/debug-subagent-prompt.md +91 -0
- package/kit/framework/templates/dev-preferences.md +20 -0
- package/kit/framework/templates/discovery.md +146 -0
- package/kit/framework/templates/discussion-log.md +63 -0
- package/kit/framework/templates/milestone-archive.md +123 -0
- package/kit/framework/templates/milestone.md +115 -0
- package/kit/framework/templates/phase-prompt.md +610 -0
- package/kit/framework/templates/planner-subagent-prompt.md +117 -0
- package/kit/framework/templates/project.md +186 -0
- package/kit/framework/templates/requirements.md +231 -0
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -0
- package/kit/framework/templates/research-project/FEATURES.md +147 -0
- package/kit/framework/templates/research-project/PITFALLS.md +200 -0
- package/kit/framework/templates/research-project/STACK.md +120 -0
- package/kit/framework/templates/research-project/SUMMARY.md +170 -0
- package/kit/framework/templates/research.md +419 -0
- package/kit/framework/templates/retrospective.md +54 -0
- package/kit/framework/templates/roadmap.md +202 -0
- package/kit/framework/templates/state.md +176 -0
- package/kit/framework/templates/summary-complex.md +59 -0
- package/kit/framework/templates/summary-minimal.md +41 -0
- package/kit/framework/templates/summary-standard.md +48 -0
- package/kit/framework/templates/summary.md +209 -0
- package/kit/framework/templates/user-profile.md +146 -0
- package/kit/framework/templates/user-setup.md +256 -0
- package/kit/framework/templates/verification-report.md +258 -0
- package/kit/framework/workflows/add-phase.md +112 -0
- package/kit/framework/workflows/add-tests.md +351 -0
- package/kit/framework/workflows/add-todo.md +158 -0
- package/kit/framework/workflows/audit-milestone.md +340 -0
- package/kit/framework/workflows/audit-uat.md +109 -0
- package/kit/framework/workflows/autonomous.md +891 -0
- package/kit/framework/workflows/check-todos.md +177 -0
- package/kit/framework/workflows/cleanup.md +152 -0
- package/kit/framework/workflows/complete-milestone.md +696 -0
- package/kit/framework/workflows/diagnose-issues.md +231 -0
- package/kit/framework/workflows/discovery-phase.md +289 -0
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -0
- package/kit/framework/workflows/discuss-phase.md +1049 -0
- package/kit/framework/workflows/do.md +104 -0
- package/kit/framework/workflows/execute-phase.md +838 -0
- package/kit/framework/workflows/execute-plan.md +510 -0
- package/kit/framework/workflows/fast.md +102 -0
- package/kit/framework/workflows/forensics.md +265 -0
- package/kit/framework/workflows/health.md +181 -0
- package/kit/framework/workflows/help.md +606 -0
- package/kit/framework/workflows/insert-phase.md +130 -0
- package/kit/framework/workflows/list-phase-assumptions.md +178 -0
- package/kit/framework/workflows/list-workspaces.md +56 -0
- package/kit/framework/workflows/manager.md +362 -0
- package/kit/framework/workflows/map-codebase.md +377 -0
- package/kit/framework/workflows/milestone-summary.md +223 -0
- package/kit/framework/workflows/new-milestone.md +486 -0
- package/kit/framework/workflows/new-project.md +1250 -0
- package/kit/framework/workflows/new-workspace.md +237 -0
- package/kit/framework/workflows/next.md +97 -0
- package/kit/framework/workflows/node-repair.md +92 -0
- package/kit/framework/workflows/note.md +156 -0
- package/kit/framework/workflows/pause-work.md +176 -0
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -0
- package/kit/framework/workflows/plan-phase.md +859 -0
- package/kit/framework/workflows/plant-seed.md +169 -0
- package/kit/framework/workflows/pr-branch.md +129 -0
- package/kit/framework/workflows/profile-user.md +450 -0
- package/kit/framework/workflows/progress.md +507 -0
- package/kit/framework/workflows/quick.md +757 -0
- package/kit/framework/workflows/remove-phase.md +155 -0
- package/kit/framework/workflows/remove-workspace.md +90 -0
- package/kit/framework/workflows/research-phase.md +82 -0
- package/kit/framework/workflows/resume-project.md +326 -0
- package/kit/framework/workflows/review.md +228 -0
- package/kit/framework/workflows/session-report.md +146 -0
- package/kit/framework/workflows/settings.md +283 -0
- package/kit/framework/workflows/ship.md +228 -0
- package/kit/framework/workflows/stats.md +60 -0
- package/kit/framework/workflows/transition.md +671 -0
- package/kit/framework/workflows/ui-phase.md +302 -0
- package/kit/framework/workflows/ui-review.md +165 -0
- package/kit/framework/workflows/update.md +323 -0
- package/kit/framework/workflows/validate-phase.md +174 -0
- package/kit/framework/workflows/verify-phase.md +252 -0
- package/kit/framework/workflows/verify-work.md +637 -0
- package/kit/hooks/check-update.js +114 -0
- package/kit/hooks/context-monitor.js +156 -0
- package/kit/hooks/prompt-guard.js +96 -0
- package/kit/hooks/statusline.js +119 -0
- package/kit/hooks/workflow-guard.js +94 -0
- package/kit/settings.json +45 -0
- package/package.json +1 -1
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Template de Estrutura
|
|
2
|
+
|
|
3
|
+
Template para `.planning/codebase/STRUCTURE.md` - captura a organização física dos arquivos.
|
|
4
|
+
|
|
5
|
+
**Propósito:** Documentar onde as coisas fisicamente vivem no codebase. Responde "onde coloco X?"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Template do Arquivo
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Estrutura do Codebase
|
|
13
|
+
|
|
14
|
+
**Data da Análise:** [AAAA-MM-DD]
|
|
15
|
+
|
|
16
|
+
## Estrutura de Diretórios
|
|
17
|
+
|
|
18
|
+
[Árvore ASCII com box-drawing dos diretórios de nível superior com propósito — use caracteres ├── └── │ apenas para estrutura de árvore]
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[raiz-do-projeto]/
|
|
22
|
+
├── [dir]/ # [Propósito]
|
|
23
|
+
├── [dir]/ # [Propósito]
|
|
24
|
+
├── [dir]/ # [Propósito]
|
|
25
|
+
└── [arquivo] # [Propósito]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Propósitos dos Diretórios
|
|
29
|
+
|
|
30
|
+
**[Nome do Diretório]:**
|
|
31
|
+
- Propósito: [O que vive aqui]
|
|
32
|
+
- Contém: [Tipos de arquivos: ex.: "arquivos fonte *.ts", "diretórios de componentes"]
|
|
33
|
+
- Arquivos chave: [Arquivos importantes neste diretório]
|
|
34
|
+
- Subdiretórios: [Se aninhados, descrever estrutura]
|
|
35
|
+
|
|
36
|
+
**[Nome do Diretório]:**
|
|
37
|
+
- Propósito: [O que vive aqui]
|
|
38
|
+
- Contém: [Tipos de arquivos]
|
|
39
|
+
- Arquivos chave: [Arquivos importantes]
|
|
40
|
+
- Subdiretórios: [Estrutura]
|
|
41
|
+
|
|
42
|
+
## Localizações de Arquivos Chave
|
|
43
|
+
|
|
44
|
+
**Pontos de Entrada:**
|
|
45
|
+
- [Caminho]: [Propósito: ex.: "ponto de entrada CLI"]
|
|
46
|
+
- [Caminho]: [Propósito: ex.: "inicialização do servidor"]
|
|
47
|
+
|
|
48
|
+
**Configuração:**
|
|
49
|
+
- [Caminho]: [Propósito: ex.: "config TypeScript"]
|
|
50
|
+
- [Caminho]: [Propósito: ex.: "configuração de build"]
|
|
51
|
+
- [Caminho]: [Propósito: ex.: "variáveis de ambiente"]
|
|
52
|
+
|
|
53
|
+
**Lógica Core:**
|
|
54
|
+
- [Caminho]: [Propósito: ex.: "services de negócio"]
|
|
55
|
+
- [Caminho]: [Propósito: ex.: "models de banco de dados"]
|
|
56
|
+
- [Caminho]: [Propósito: ex.: "rotas da API"]
|
|
57
|
+
|
|
58
|
+
**Testes:**
|
|
59
|
+
- [Caminho]: [Propósito: ex.: "testes unitários"]
|
|
60
|
+
- [Caminho]: [Propósito: ex.: "fixtures de teste"]
|
|
61
|
+
|
|
62
|
+
**Documentação:**
|
|
63
|
+
- [Caminho]: [Propósito: ex.: "docs voltadas ao usuário"]
|
|
64
|
+
- [Caminho]: [Propósito: ex.: "guia do desenvolvedor"]
|
|
65
|
+
|
|
66
|
+
## Convenções de Nomenclatura
|
|
67
|
+
|
|
68
|
+
**Arquivos:**
|
|
69
|
+
- [Padrão]: [Exemplo: ex.: "kebab-case.ts para módulos"]
|
|
70
|
+
- [Padrão]: [Exemplo: ex.: "PascalCase.tsx para componentes React"]
|
|
71
|
+
- [Padrão]: [Exemplo: ex.: "*.test.ts para arquivos de teste"]
|
|
72
|
+
|
|
73
|
+
**Diretórios:**
|
|
74
|
+
- [Padrão]: [Exemplo: ex.: "kebab-case para diretórios de funcionalidade"]
|
|
75
|
+
- [Padrão]: [Exemplo: ex.: "nomes no plural para coleções"]
|
|
76
|
+
|
|
77
|
+
**Padrões Especiais:**
|
|
78
|
+
- [Padrão]: [Exemplo: ex.: "index.ts para exports de diretório"]
|
|
79
|
+
- [Padrão]: [Exemplo: ex.: "__tests__ para diretórios de teste"]
|
|
80
|
+
|
|
81
|
+
## Onde Adicionar Novo Código
|
|
82
|
+
|
|
83
|
+
**Nova Funcionalidade:**
|
|
84
|
+
- Código principal: [Caminho do diretório]
|
|
85
|
+
- Testes: [Caminho do diretório]
|
|
86
|
+
- Config se necessário: [Caminho do diretório]
|
|
87
|
+
|
|
88
|
+
**Novo Componente/Módulo:**
|
|
89
|
+
- Implementação: [Caminho do diretório]
|
|
90
|
+
- Tipos: [Caminho do diretório]
|
|
91
|
+
- Testes: [Caminho do diretório]
|
|
92
|
+
|
|
93
|
+
**Nova Rota/Comando:**
|
|
94
|
+
- Definição: [Caminho do diretório]
|
|
95
|
+
- Handler: [Caminho do diretório]
|
|
96
|
+
- Testes: [Caminho do diretório]
|
|
97
|
+
|
|
98
|
+
**Utilitários:**
|
|
99
|
+
- Helpers compartilhados: [Caminho do diretório]
|
|
100
|
+
- Definições de tipos: [Caminho do diretório]
|
|
101
|
+
|
|
102
|
+
## Diretórios Especiais
|
|
103
|
+
|
|
104
|
+
[Quaisquer diretórios com significado especial ou geração]
|
|
105
|
+
|
|
106
|
+
**[Diretório]:**
|
|
107
|
+
- Propósito: [ex.: "Código gerado", "Saída de build"]
|
|
108
|
+
- Fonte: [ex.: "Auto-gerado por X", "Artefatos de build"]
|
|
109
|
+
- Comitado: [Sim/Não — no .gitignore?]
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
*Análise de estrutura: [data]*
|
|
114
|
+
*Atualizar quando a estrutura de diretórios mudar*
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
<good_examples>
|
|
118
|
+
```markdown
|
|
119
|
+
# Codebase Structure
|
|
120
|
+
|
|
121
|
+
**Analysis Date:** 2025-01-20
|
|
122
|
+
|
|
123
|
+
## Directory Layout
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
framework/
|
|
127
|
+
├── bin/ # Executable entry points
|
|
128
|
+
├── commands/ # Slash command definitions
|
|
129
|
+
│ └── framework/ # framework-specific commands
|
|
130
|
+
├── framework/ # Skill resources
|
|
131
|
+
│ ├── references/ # Principle documents
|
|
132
|
+
│ ├── templates/ # File templates
|
|
133
|
+
│ └── workflows/ # Multi-step procedures
|
|
134
|
+
├── src/ # Source code (if applicable)
|
|
135
|
+
├── tests/ # Test files
|
|
136
|
+
├── package.json # Project manifest
|
|
137
|
+
└── README.md # User documentation
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Directory Purposes
|
|
141
|
+
|
|
142
|
+
**commands/**
|
|
143
|
+
- Purpose: Slash command definitions for Claude Code
|
|
144
|
+
- Contains: *.md files (one per command)
|
|
145
|
+
- Key files: new-project.md, plan-phase.md, execute-plan.md
|
|
146
|
+
- Subdirectories: None (flat structure)
|
|
147
|
+
|
|
148
|
+
## Where to Add New Code
|
|
149
|
+
|
|
150
|
+
**New Slash Command:**
|
|
151
|
+
- Primary code: `commands/{command-name}.md`
|
|
152
|
+
- Tests: `tests/commands/{command-name}.test.js`
|
|
153
|
+
- Documentation: Update `README.md` with new command
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
*Structure analysis: 2025-01-20*
|
|
158
|
+
*Update when directory structure changes*
|
|
159
|
+
```
|
|
160
|
+
</good_examples>
|
|
161
|
+
|
|
162
|
+
<guidelines>
|
|
163
|
+
**O que pertence ao STRUCTURE.md:**
|
|
164
|
+
- Layout de diretórios (árvore ASCII para visualização de estrutura)
|
|
165
|
+
- Propósito de cada diretório
|
|
166
|
+
- Localizações de arquivos chave (pontos de entrada, configs, lógica core)
|
|
167
|
+
- Convenções de nomenclatura
|
|
168
|
+
- Onde adicionar novo código (por tipo)
|
|
169
|
+
- Diretórios especiais/gerados
|
|
170
|
+
|
|
171
|
+
**O que NÃO pertence aqui:**
|
|
172
|
+
- Arquitetura conceitual (isso é ARCHITECTURE.md)
|
|
173
|
+
- Stack tecnológico (isso é STACK.md)
|
|
174
|
+
- Detalhes de implementação de código (diferir para leitura do código)
|
|
175
|
+
- Todos os arquivos individuais (focar em diretórios e arquivos chave)
|
|
176
|
+
|
|
177
|
+
**Ao preencher este template:**
|
|
178
|
+
- Usar `tree -L 2` ou similar para visualizar estrutura
|
|
179
|
+
- Identificar diretórios de nível superior e seus propósitos
|
|
180
|
+
- Notar padrões de nomenclatura observando arquivos existentes
|
|
181
|
+
- Localizar pontos de entrada, configs e áreas de lógica principal
|
|
182
|
+
- Manter árvore de diretórios concisa (máximo 2-3 níveis)
|
|
183
|
+
|
|
184
|
+
**Formato de árvore (caracteres ASCII box-drawing apenas para estrutura):**
|
|
185
|
+
```
|
|
186
|
+
root/
|
|
187
|
+
├── dir1/ # Propósito
|
|
188
|
+
│ ├── subdir/ # Propósito
|
|
189
|
+
│ └── file.ts # Propósito
|
|
190
|
+
├── dir2/ # Propósito
|
|
191
|
+
└── file.ts # Propósito
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Útil para planejamento de fases quando:**
|
|
195
|
+
- Adicionando novas funcionalidades (onde os arquivos devem ir?)
|
|
196
|
+
- Entendendo organização do projeto
|
|
197
|
+
- Encontrando onde vive lógica específica
|
|
198
|
+
- Seguindo convenções existentes
|
|
199
|
+
</guidelines>
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Template de Padrões de Teste
|
|
2
|
+
|
|
3
|
+
Template para `.planning/codebase/TESTING.md` - captura o framework e padrões de teste.
|
|
4
|
+
|
|
5
|
+
**Propósito:** Documentar como os testes são escritos e executados. Guia para adicionar testes que correspondam aos padrões existentes.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Template do Arquivo
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Padrões de Teste
|
|
13
|
+
|
|
14
|
+
**Data da Análise:** [AAAA-MM-DD]
|
|
15
|
+
|
|
16
|
+
## Framework de Testes
|
|
17
|
+
|
|
18
|
+
**Runner:**
|
|
19
|
+
- [Framework: ex.: "Jest 29.x", "Vitest 1.x"]
|
|
20
|
+
- [Config: ex.: "jest.config.js na raiz do projeto"]
|
|
21
|
+
|
|
22
|
+
**Biblioteca de Asserções:**
|
|
23
|
+
- [Biblioteca: ex.: "expect built-in", "chai"]
|
|
24
|
+
- [Matchers: ex.: "toBe, toEqual, toThrow"]
|
|
25
|
+
|
|
26
|
+
**Comandos de Execução:**
|
|
27
|
+
```bash
|
|
28
|
+
[ex.: "npm test" ou "npm run test"] # Executar todos os testes
|
|
29
|
+
[ex.: "npm test -- --watch"] # Modo watch
|
|
30
|
+
[ex.: "npm test -- path/to/file.test.ts"] # Arquivo único
|
|
31
|
+
[ex.: "npm run test:coverage"] # Relatório de cobertura
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Organização dos Arquivos de Teste
|
|
35
|
+
|
|
36
|
+
**Localização:**
|
|
37
|
+
- [Padrão: ex.: "*.test.ts junto aos arquivos fonte"]
|
|
38
|
+
- [Alternativa: ex.: "diretório __tests__/" ou "árvore tests/ separada"]
|
|
39
|
+
|
|
40
|
+
**Nomenclatura:**
|
|
41
|
+
- [Testes unitários: ex.: "nome-do-modulo.test.ts"]
|
|
42
|
+
- [Integração: ex.: "nome-da-funcionalidade.integration.test.ts"]
|
|
43
|
+
- [E2E: ex.: "fluxo-do-usuario.e2e.test.ts"]
|
|
44
|
+
|
|
45
|
+
**Estrutura:**
|
|
46
|
+
```
|
|
47
|
+
[Mostrar padrão real de diretório, ex.:
|
|
48
|
+
src/
|
|
49
|
+
lib/
|
|
50
|
+
utils.ts
|
|
51
|
+
utils.test.ts
|
|
52
|
+
services/
|
|
53
|
+
user-service.ts
|
|
54
|
+
user-service.test.ts
|
|
55
|
+
]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Estrutura dos Testes
|
|
59
|
+
|
|
60
|
+
**Organização de Suites:**
|
|
61
|
+
```typescript
|
|
62
|
+
[Mostrar padrão real usado, ex.:
|
|
63
|
+
|
|
64
|
+
describe('NomeDoModulo', () => {
|
|
65
|
+
describe('nomeDaFuncao', () => {
|
|
66
|
+
it('deve tratar caso de sucesso', () => {
|
|
67
|
+
// arrange
|
|
68
|
+
// act
|
|
69
|
+
// assert
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('deve tratar caso de erro', () => {
|
|
73
|
+
// código do teste
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Padrões:**
|
|
81
|
+
- [Setup: ex.: "beforeEach para setup compartilhado, evitar beforeAll"]
|
|
82
|
+
- [Teardown: ex.: "afterEach para limpar, restaurar mocks"]
|
|
83
|
+
- [Estrutura: ex.: "padrão arrange/act/assert obrigatório"]
|
|
84
|
+
|
|
85
|
+
## Mocking
|
|
86
|
+
|
|
87
|
+
**Framework:**
|
|
88
|
+
- [Ferramenta: ex.: "mocking built-in do Jest", "Vitest vi", "Sinon"]
|
|
89
|
+
- [Import mocking: ex.: "vi.mock() no topo do arquivo"]
|
|
90
|
+
|
|
91
|
+
**Padrões:**
|
|
92
|
+
```typescript
|
|
93
|
+
[Mostrar padrão real de mocking, ex.:
|
|
94
|
+
|
|
95
|
+
// Mock dependência externa
|
|
96
|
+
vi.mock('./external-service', () => ({
|
|
97
|
+
fetchData: vi.fn()
|
|
98
|
+
}));
|
|
99
|
+
|
|
100
|
+
// Mock no teste
|
|
101
|
+
const mockFetch = vi.mocked(fetchData);
|
|
102
|
+
mockFetch.mockResolvedValue({ data: 'test' });
|
|
103
|
+
]
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**O Que Mockar:**
|
|
107
|
+
- [ex.: "APIs externas, sistema de arquivos, banco de dados"]
|
|
108
|
+
- [ex.: "Tempo/datas (usar vi.useFakeTimers)"]
|
|
109
|
+
- [ex.: "Chamadas de rede (usar mock fetch)"]
|
|
110
|
+
|
|
111
|
+
**O Que NÃO Mockar:**
|
|
112
|
+
- [ex.: "Funções puras, utilitários"]
|
|
113
|
+
- [ex.: "Lógica de negócio interna"]
|
|
114
|
+
|
|
115
|
+
## Fixtures e Factories
|
|
116
|
+
|
|
117
|
+
**Dados de Teste:**
|
|
118
|
+
```typescript
|
|
119
|
+
[Mostrar padrão para criar dados de teste, ex.:
|
|
120
|
+
|
|
121
|
+
// Padrão factory
|
|
122
|
+
function createTestUser(overrides?: Partial<User>): User {
|
|
123
|
+
return {
|
|
124
|
+
id: 'test-id',
|
|
125
|
+
name: 'Test User',
|
|
126
|
+
email: 'test@example.com',
|
|
127
|
+
...overrides
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Arquivo de fixture
|
|
132
|
+
// tests/fixtures/users.ts
|
|
133
|
+
export const mockUsers = [/* ... */];
|
|
134
|
+
]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Localização:**
|
|
138
|
+
- [ex.: "tests/fixtures/ para fixtures compartilhadas"]
|
|
139
|
+
- [ex.: "funções factory no arquivo de teste ou tests/factories/"]
|
|
140
|
+
|
|
141
|
+
## Cobertura
|
|
142
|
+
|
|
143
|
+
**Requisitos:**
|
|
144
|
+
- [Meta: ex.: "80% de cobertura de linhas", "sem meta específica"]
|
|
145
|
+
- [Aplicação: ex.: "CI bloqueia <80%", "cobertura apenas para conscientização"]
|
|
146
|
+
|
|
147
|
+
**Configuração:**
|
|
148
|
+
- [Ferramenta: ex.: "cobertura built-in via flag --coverage"]
|
|
149
|
+
- [Exclusões: ex.: "excluir *.test.ts, arquivos de config"]
|
|
150
|
+
|
|
151
|
+
**Ver Cobertura:**
|
|
152
|
+
```bash
|
|
153
|
+
[ex.: "npm run test:coverage"]
|
|
154
|
+
[ex.: "open coverage/index.html"]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Tipos de Testes
|
|
158
|
+
|
|
159
|
+
**Testes Unitários:**
|
|
160
|
+
- [Escopo: ex.: "testar função/classe única em isolamento"]
|
|
161
|
+
- [Mocking: ex.: "mockar todas as dependências externas"]
|
|
162
|
+
- [Velocidade: ex.: "deve executar em <1s por teste"]
|
|
163
|
+
|
|
164
|
+
**Testes de Integração:**
|
|
165
|
+
- [Escopo: ex.: "testar múltiplos módulos juntos"]
|
|
166
|
+
- [Mocking: ex.: "mockar serviços externos, usar módulos internos reais"]
|
|
167
|
+
- [Setup: ex.: "usar banco de dados de teste, seed de dados"]
|
|
168
|
+
|
|
169
|
+
**Testes E2E:**
|
|
170
|
+
- [Framework: ex.: "Playwright para E2E"]
|
|
171
|
+
- [Escopo: ex.: "testar fluxos completos do usuário"]
|
|
172
|
+
- [Localização: ex.: "diretório e2e/ separado dos testes unitários"]
|
|
173
|
+
|
|
174
|
+
## Padrões Comuns
|
|
175
|
+
|
|
176
|
+
**Teste Async:**
|
|
177
|
+
```typescript
|
|
178
|
+
[Mostrar padrão, ex.:
|
|
179
|
+
|
|
180
|
+
it('deve tratar operação async', async () => {
|
|
181
|
+
const result = await asyncFunction();
|
|
182
|
+
expect(result).toBe('expected');
|
|
183
|
+
});
|
|
184
|
+
]
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Teste de Erro:**
|
|
188
|
+
```typescript
|
|
189
|
+
[Mostrar padrão, ex.:
|
|
190
|
+
|
|
191
|
+
it('deve lançar com entrada inválida', () => {
|
|
192
|
+
expect(() => functionCall()).toThrow('mensagem de erro');
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// Erro async
|
|
196
|
+
it('deve rejeitar na falha', async () => {
|
|
197
|
+
await expect(asyncCall()).rejects.toThrow('mensagem de erro');
|
|
198
|
+
});
|
|
199
|
+
]
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Snapshot Testing:**
|
|
203
|
+
- [Uso: ex.: "apenas para componentes React" ou "não usado"]
|
|
204
|
+
- [Localização: ex.: "diretório __snapshots__/"]
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
*Análise de testes: [data]*
|
|
209
|
+
*Atualizar quando padrões de teste mudarem*
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
<good_examples>
|
|
213
|
+
```markdown
|
|
214
|
+
# Testing Patterns
|
|
215
|
+
|
|
216
|
+
**Analysis Date:** 2025-01-20
|
|
217
|
+
|
|
218
|
+
## Test Framework
|
|
219
|
+
|
|
220
|
+
**Runner:**
|
|
221
|
+
- Vitest 1.0.4
|
|
222
|
+
- Config: vitest.config.ts in project root
|
|
223
|
+
|
|
224
|
+
**Run Commands:**
|
|
225
|
+
```bash
|
|
226
|
+
npm test # Run all tests
|
|
227
|
+
npm test -- --watch # Watch mode
|
|
228
|
+
npm run test:coverage # Coverage report
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Test File Organization
|
|
232
|
+
|
|
233
|
+
**Location:**
|
|
234
|
+
- *.test.ts alongside source files
|
|
235
|
+
- No separate tests/ directory
|
|
236
|
+
|
|
237
|
+
## Test Structure
|
|
238
|
+
|
|
239
|
+
**Suite Organization:**
|
|
240
|
+
```typescript
|
|
241
|
+
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
242
|
+
|
|
243
|
+
describe('ModuleName', () => {
|
|
244
|
+
it('should handle valid input', () => {
|
|
245
|
+
// arrange
|
|
246
|
+
const input = createTestInput();
|
|
247
|
+
// act
|
|
248
|
+
const result = functionName(input);
|
|
249
|
+
// assert
|
|
250
|
+
expect(result).toEqual(expectedOutput);
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
*Testing analysis: 2025-01-20*
|
|
258
|
+
*Update when test patterns change*
|
|
259
|
+
```
|
|
260
|
+
</good_examples>
|
|
261
|
+
|
|
262
|
+
<guidelines>
|
|
263
|
+
**O que pertence ao TESTING.md:**
|
|
264
|
+
- Framework de teste e configuração do runner
|
|
265
|
+
- Padrões de localização e nomenclatura de arquivos de teste
|
|
266
|
+
- Estrutura de teste (describe/it, padrões beforeEach)
|
|
267
|
+
- Abordagem de mocking e exemplos
|
|
268
|
+
- Padrões de fixture/factory
|
|
269
|
+
- Requisitos de cobertura
|
|
270
|
+
- Como executar testes (comandos)
|
|
271
|
+
- Padrões comuns de teste no código real
|
|
272
|
+
|
|
273
|
+
**O que NÃO pertence aqui:**
|
|
274
|
+
- Casos de teste específicos (diferir para os arquivos de teste reais)
|
|
275
|
+
- Escolhas tecnológicas (isso é STACK.md)
|
|
276
|
+
- Setup de CI/CD (isso é docs de deployment)
|
|
277
|
+
|
|
278
|
+
**Ao preencher este template:**
|
|
279
|
+
- Verificar scripts do package.json para comandos de teste
|
|
280
|
+
- Encontrar arquivo de config de teste (jest.config.js, vitest.config.ts)
|
|
281
|
+
- Ler 3-5 arquivos de teste existentes para identificar padrões
|
|
282
|
+
- Procurar utilitários de teste em tests/ ou test-utils/
|
|
283
|
+
- Verificar configuração de cobertura
|
|
284
|
+
- Documentar padrões realmente usados, não padrões ideais
|
|
285
|
+
|
|
286
|
+
**Útil para planejamento de fases quando:**
|
|
287
|
+
- Adicionando novas funcionalidades (escrever testes correspondentes)
|
|
288
|
+
- Refatorando (manter padrões de teste)
|
|
289
|
+
- Corrigindo bugs (adicionar testes de regressão)
|
|
290
|
+
- Entendendo abordagem de verificação
|
|
291
|
+
- Configurando infraestrutura de teste
|
|
292
|
+
|
|
293
|
+
**Abordagem de análise:**
|
|
294
|
+
- Verificar package.json para framework de teste e scripts
|
|
295
|
+
- Ler arquivo de config de teste para cobertura, setup
|
|
296
|
+
- Examinar organização dos arquivos de teste (colocalizados vs. separados)
|
|
297
|
+
- Revisar 5 arquivos de teste para padrões (mocking, estrutura, asserções)
|
|
298
|
+
- Procurar utilitários de teste, fixtures, factories
|
|
299
|
+
- Notar quaisquer tipos de teste (unitário, integração, e2e)
|
|
300
|
+
- Documentar comandos para executar testes
|
|
301
|
+
</guidelines>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mode": "interactive",
|
|
3
|
+
"granularity": "standard",
|
|
4
|
+
"workflow": {
|
|
5
|
+
"research": true,
|
|
6
|
+
"plan_check": true,
|
|
7
|
+
"verifier": true,
|
|
8
|
+
"auto_advance": false,
|
|
9
|
+
"nyquist_validation": true,
|
|
10
|
+
"discuss_mode": "discuss",
|
|
11
|
+
"research_before_questions": false
|
|
12
|
+
},
|
|
13
|
+
"planning": {
|
|
14
|
+
"commit_docs": true,
|
|
15
|
+
"search_gitignored": false,
|
|
16
|
+
"sub_repos": []
|
|
17
|
+
},
|
|
18
|
+
"parallelization": {
|
|
19
|
+
"enabled": true,
|
|
20
|
+
"plan_level": true,
|
|
21
|
+
"task_level": false,
|
|
22
|
+
"skip_checkpoints": true,
|
|
23
|
+
"max_concurrent_agents": 3,
|
|
24
|
+
"min_plans_for_parallel": 2
|
|
25
|
+
},
|
|
26
|
+
"gates": {
|
|
27
|
+
"confirm_project": true,
|
|
28
|
+
"confirm_phases": true,
|
|
29
|
+
"confirm_roadmap": true,
|
|
30
|
+
"confirm_breakdown": true,
|
|
31
|
+
"confirm_plan": true,
|
|
32
|
+
"execute_next_plan": true,
|
|
33
|
+
"issues_review": true,
|
|
34
|
+
"confirm_transition": true
|
|
35
|
+
},
|
|
36
|
+
"safety": {
|
|
37
|
+
"always_confirm_destructive": true,
|
|
38
|
+
"always_confirm_external_services": true
|
|
39
|
+
},
|
|
40
|
+
"hooks": {
|
|
41
|
+
"context_warnings": true
|
|
42
|
+
},
|
|
43
|
+
"agent_skills": {}
|
|
44
|
+
}
|