@luanpdd/kit-mcp 0.2.1 → 0.4.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/CHANGELOG.md +43 -1
- package/README.md +35 -18
- 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,164 @@
|
|
|
1
|
+
# Template de Debug
|
|
2
|
+
|
|
3
|
+
Template para `.planning/debug/[slug].md` — rastreamento de sessão de debug ativa.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template do Arquivo
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
---
|
|
11
|
+
status: gathering | investigating | fixing | verifying | awaiting_human_verify | resolved
|
|
12
|
+
trigger: "[entrada verbatim do usuário]"
|
|
13
|
+
created: [timestamp ISO]
|
|
14
|
+
updated: [timestamp ISO]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Foco Atual
|
|
18
|
+
<!-- SOBRESCREVER a cada atualização - sempre reflete AGORA -->
|
|
19
|
+
|
|
20
|
+
hypothesis: [teoria atual sendo testada]
|
|
21
|
+
test: [como está sendo testado]
|
|
22
|
+
expecting: [o que significa o resultado se verdadeiro/falso]
|
|
23
|
+
next_action: [próximo passo imediato]
|
|
24
|
+
|
|
25
|
+
## Sintomas
|
|
26
|
+
<!-- Escrito durante gathering, depois imutável -->
|
|
27
|
+
|
|
28
|
+
expected: [o que deveria acontecer]
|
|
29
|
+
actual: [o que realmente acontece]
|
|
30
|
+
errors: [mensagens de erro, se houver]
|
|
31
|
+
reproduction: [como acionar]
|
|
32
|
+
started: [quando quebrou / sempre quebrado]
|
|
33
|
+
|
|
34
|
+
## Eliminados
|
|
35
|
+
<!-- APENAS APPEND - evita reinvestigação após /clear -->
|
|
36
|
+
|
|
37
|
+
- hypothesis: [teoria que estava errada]
|
|
38
|
+
evidence: [o que a refutou]
|
|
39
|
+
timestamp: [quando eliminado]
|
|
40
|
+
|
|
41
|
+
## Evidências
|
|
42
|
+
<!-- APENAS APPEND - fatos descobertos durante a investigação -->
|
|
43
|
+
|
|
44
|
+
- timestamp: [quando encontrado]
|
|
45
|
+
checked: [o que foi examinado]
|
|
46
|
+
found: [o que foi observado]
|
|
47
|
+
implication: [o que isso significa]
|
|
48
|
+
|
|
49
|
+
## Resolução
|
|
50
|
+
<!-- SOBRESCREVER conforme o entendimento evolui -->
|
|
51
|
+
|
|
52
|
+
root_cause: [vazio até ser encontrado]
|
|
53
|
+
fix: [vazio até ser aplicado]
|
|
54
|
+
verification: [vazio até ser verificado]
|
|
55
|
+
files_changed: []
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
<section_rules>
|
|
61
|
+
|
|
62
|
+
**Frontmatter (status, trigger, timestamps):**
|
|
63
|
+
- `status`: SOBRESCREVER - reflete a fase atual
|
|
64
|
+
- `trigger`: IMUTÁVEL - entrada verbatim do usuário, nunca muda
|
|
65
|
+
- `created`: IMUTÁVEL - definido uma vez
|
|
66
|
+
- `updated`: SOBRESCREVER - atualizar a cada mudança
|
|
67
|
+
|
|
68
|
+
**Foco Atual:**
|
|
69
|
+
- SOBRESCREVER completamente a cada atualização
|
|
70
|
+
- Sempre reflete o que Claude está fazendo AGORA
|
|
71
|
+
- Se Claude ler após /clear, sabe exatamente onde retomar
|
|
72
|
+
- Campos: hypothesis, test, expecting, next_action
|
|
73
|
+
|
|
74
|
+
**Sintomas:**
|
|
75
|
+
- Escrito durante a fase inicial de gathering
|
|
76
|
+
- IMUTÁVEL após o gathering estar completo
|
|
77
|
+
- Ponto de referência do que estamos tentando corrigir
|
|
78
|
+
- Campos: expected, actual, errors, reproduction, started
|
|
79
|
+
|
|
80
|
+
**Eliminados:**
|
|
81
|
+
- APENAS APPEND - nunca remover entradas
|
|
82
|
+
- Evita reinvestigação de becos sem saída após reset de contexto
|
|
83
|
+
- Cada entrada: hypothesis, evidência que a refutou, timestamp
|
|
84
|
+
- Crítico para eficiência entre limites de /clear
|
|
85
|
+
|
|
86
|
+
**Evidências:**
|
|
87
|
+
- APENAS APPEND - nunca remover entradas
|
|
88
|
+
- Fatos descobertos durante a investigação
|
|
89
|
+
- Cada entrada: timestamp, o que foi checado, o que foi encontrado, implicação
|
|
90
|
+
- Constrói o caso para a causa raiz
|
|
91
|
+
|
|
92
|
+
**Resolução:**
|
|
93
|
+
- SOBRESCREVER conforme o entendimento evolui
|
|
94
|
+
- Pode atualizar múltiplas vezes enquanto correções são tentadas
|
|
95
|
+
- Estado final mostra causa raiz confirmada e correção verificada
|
|
96
|
+
- Campos: root_cause, fix, verification, files_changed
|
|
97
|
+
|
|
98
|
+
</section_rules>
|
|
99
|
+
|
|
100
|
+
<lifecycle>
|
|
101
|
+
|
|
102
|
+
**Criação:** Imediatamente quando /debug é chamado
|
|
103
|
+
- Criar arquivo com trigger da entrada do usuário
|
|
104
|
+
- Definir status como "gathering"
|
|
105
|
+
- Foco Atual: next_action = "gather symptoms"
|
|
106
|
+
- Sintomas: vazio, a ser preenchido
|
|
107
|
+
|
|
108
|
+
**Durante coleta de sintomas:**
|
|
109
|
+
- Atualizar seção Sintomas conforme o usuário responde perguntas
|
|
110
|
+
- Atualizar Foco Atual com cada pergunta
|
|
111
|
+
- Quando completo: status → "investigating"
|
|
112
|
+
|
|
113
|
+
**Durante investigação:**
|
|
114
|
+
- SOBRESCREVER Foco Atual com cada hipótese
|
|
115
|
+
- APPEND em Evidências com cada descoberta
|
|
116
|
+
- APPEND em Eliminados quando hipótese for refutada
|
|
117
|
+
- Atualizar timestamp no frontmatter
|
|
118
|
+
|
|
119
|
+
**Durante correção:**
|
|
120
|
+
- status → "fixing"
|
|
121
|
+
- Atualizar Resolução.root_cause quando confirmado
|
|
122
|
+
- Atualizar Resolução.fix quando aplicado
|
|
123
|
+
- Atualizar Resolução.files_changed
|
|
124
|
+
|
|
125
|
+
**Durante verificação:**
|
|
126
|
+
- status → "verifying"
|
|
127
|
+
- Atualizar Resolução.verification com resultados
|
|
128
|
+
- Se verificação falhar: status → "investigating", tentar novamente
|
|
129
|
+
|
|
130
|
+
**Após verificação própria passar:**
|
|
131
|
+
- status → "awaiting_human_verify"
|
|
132
|
+
- Solicitar confirmação explícita do usuário em um checkpoint
|
|
133
|
+
- NÃO mover arquivo para resolvido ainda
|
|
134
|
+
|
|
135
|
+
**Na resolução:**
|
|
136
|
+
- status → "resolved"
|
|
137
|
+
- Mover arquivo para .planning/debug/resolved/ (somente após usuário confirmar correção)
|
|
138
|
+
|
|
139
|
+
</lifecycle>
|
|
140
|
+
|
|
141
|
+
<resume_behavior>
|
|
142
|
+
|
|
143
|
+
Quando Claude ler este arquivo após /clear:
|
|
144
|
+
|
|
145
|
+
1. Analisar frontmatter → saber status
|
|
146
|
+
2. Ler Foco Atual → saber exatamente o que estava acontecendo
|
|
147
|
+
3. Ler Eliminados → saber o que NÃO tentar novamente
|
|
148
|
+
4. Ler Evidências → saber o que foi aprendido
|
|
149
|
+
5. Continuar a partir de next_action
|
|
150
|
+
|
|
151
|
+
O arquivo É o cérebro de debug. Claude deve ser capaz de retomar perfeitamente de qualquer ponto de interrupção.
|
|
152
|
+
|
|
153
|
+
</resume_behavior>
|
|
154
|
+
|
|
155
|
+
<size_constraint>
|
|
156
|
+
|
|
157
|
+
Manter arquivos de debug focados:
|
|
158
|
+
- Entradas de Evidências: 1-2 linhas cada, apenas os fatos
|
|
159
|
+
- Eliminados: breve - hipótese + por que falhou
|
|
160
|
+
- Sem prosa narrativa - apenas dados estruturados
|
|
161
|
+
|
|
162
|
+
Se as evidências crescerem muito (10+ entradas), considere se está andando em círculos. Verifique Eliminados para garantir que não está repisando o mesmo caminho.
|
|
163
|
+
|
|
164
|
+
</size_constraint>
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# Template de UAT
|
|
2
|
+
|
|
3
|
+
Template para `.planning/phases/XX-name/{phase_num}-UAT.md` — rastreamento persistente de sessão UAT.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template do Arquivo
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
---
|
|
11
|
+
status: testing | partial | complete | diagnosed
|
|
12
|
+
phase: XX-name
|
|
13
|
+
source: [lista de arquivos SUMMARY.md testados]
|
|
14
|
+
started: [timestamp ISO]
|
|
15
|
+
updated: [timestamp ISO]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Teste Atual
|
|
19
|
+
<!-- SOBRESCREVER a cada teste - mostra onde estamos -->
|
|
20
|
+
|
|
21
|
+
number: [N]
|
|
22
|
+
name: [nome do teste]
|
|
23
|
+
expected: |
|
|
24
|
+
[o que o usuário deve observar]
|
|
25
|
+
awaiting: user response
|
|
26
|
+
|
|
27
|
+
## Testes
|
|
28
|
+
|
|
29
|
+
### 1. [Nome do Teste]
|
|
30
|
+
expected: [comportamento observável - o que o usuário deve ver]
|
|
31
|
+
result: [pending]
|
|
32
|
+
|
|
33
|
+
### 2. [Nome do Teste]
|
|
34
|
+
expected: [comportamento observável]
|
|
35
|
+
result: pass
|
|
36
|
+
|
|
37
|
+
### 3. [Nome do Teste]
|
|
38
|
+
expected: [comportamento observável]
|
|
39
|
+
result: issue
|
|
40
|
+
reported: "[resposta verbatim do usuário]"
|
|
41
|
+
severity: major
|
|
42
|
+
|
|
43
|
+
### 4. [Nome do Teste]
|
|
44
|
+
expected: [comportamento observável]
|
|
45
|
+
result: skipped
|
|
46
|
+
reason: [por que foi pulado]
|
|
47
|
+
|
|
48
|
+
### 5. [Nome do Teste]
|
|
49
|
+
expected: [comportamento observável]
|
|
50
|
+
result: blocked
|
|
51
|
+
blocked_by: server | physical-device | release-build | third-party | prior-phase
|
|
52
|
+
reason: [por que está bloqueado]
|
|
53
|
+
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
## Resumo
|
|
57
|
+
|
|
58
|
+
total: [N]
|
|
59
|
+
passed: [N]
|
|
60
|
+
issues: [N]
|
|
61
|
+
pending: [N]
|
|
62
|
+
skipped: [N]
|
|
63
|
+
blocked: [N]
|
|
64
|
+
|
|
65
|
+
## Gaps
|
|
66
|
+
|
|
67
|
+
<!-- Formato YAML para consumo por /planejar-fase --gaps -->
|
|
68
|
+
- truth: "[comportamento esperado do teste]"
|
|
69
|
+
status: failed
|
|
70
|
+
reason: "User reported: [resposta verbatim]"
|
|
71
|
+
severity: blocker | major | minor | cosmetic
|
|
72
|
+
test: [N]
|
|
73
|
+
root_cause: "" # Preenchido pelo diagnóstico
|
|
74
|
+
artifacts: [] # Preenchido pelo diagnóstico
|
|
75
|
+
missing: [] # Preenchido pelo diagnóstico
|
|
76
|
+
debug_session: "" # Preenchido pelo diagnóstico
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
<section_rules>
|
|
82
|
+
|
|
83
|
+
**Frontmatter:**
|
|
84
|
+
- `status`: SOBRESCREVER - "testing", "partial" ou "complete"
|
|
85
|
+
- `phase`: IMUTÁVEL - definido na criação
|
|
86
|
+
- `source`: IMUTÁVEL - arquivos SUMMARY sendo testados
|
|
87
|
+
- `started`: IMUTÁVEL - definido na criação
|
|
88
|
+
- `updated`: SOBRESCREVER - atualizar a cada mudança
|
|
89
|
+
|
|
90
|
+
**Teste Atual:**
|
|
91
|
+
- SOBRESCREVER completamente a cada transição de teste
|
|
92
|
+
- Mostra qual teste está ativo e o que está aguardando
|
|
93
|
+
- Na conclusão: "[testing complete]"
|
|
94
|
+
|
|
95
|
+
**Testes:**
|
|
96
|
+
- Cada teste: SOBRESCREVER campo result quando o usuário responde
|
|
97
|
+
- Valores de `result`: [pending], pass, issue, skipped, blocked
|
|
98
|
+
- Se issue: adicionar `reported` (verbatim) e `severity` (inferido)
|
|
99
|
+
- Se skipped: adicionar `reason` se fornecida
|
|
100
|
+
- Se blocked: adicionar `blocked_by` (tag) e `reason` (se fornecida)
|
|
101
|
+
|
|
102
|
+
**Resumo:**
|
|
103
|
+
- SOBRESCREVER contagens após cada resposta
|
|
104
|
+
- Rastreia: total, passed, issues, pending, skipped
|
|
105
|
+
|
|
106
|
+
**Gaps:**
|
|
107
|
+
- APENAS APPEND quando issue encontrado (formato YAML)
|
|
108
|
+
- Após diagnóstico: preencher `root_cause`, `artifacts`, `missing`, `debug_session`
|
|
109
|
+
- Esta seção alimenta diretamente /planejar-fase --gaps
|
|
110
|
+
|
|
111
|
+
</section_rules>
|
|
112
|
+
|
|
113
|
+
<diagnosis_lifecycle>
|
|
114
|
+
|
|
115
|
+
**Após teste completo (status: complete), se existirem gaps:**
|
|
116
|
+
|
|
117
|
+
1. Usuário executa diagnóstico (da oferta de verify-work ou manualmente)
|
|
118
|
+
2. Workflow diagnose-issues spawna agentes de debug em paralelo
|
|
119
|
+
3. Cada agente investiga um gap, retorna causa raiz
|
|
120
|
+
4. Seção Gaps do UAT.md é atualizada com diagnóstico:
|
|
121
|
+
- Cada gap recebe `root_cause`, `artifacts`, `missing`, `debug_session` preenchidos
|
|
122
|
+
5. status → "diagnosed"
|
|
123
|
+
6. Pronto para /planejar-fase --gaps com causas raiz
|
|
124
|
+
|
|
125
|
+
**Após diagnóstico:**
|
|
126
|
+
```yaml
|
|
127
|
+
## Gaps
|
|
128
|
+
|
|
129
|
+
- truth: "Comentário aparece imediatamente após envio"
|
|
130
|
+
status: failed
|
|
131
|
+
reason: "User reported: funciona mas não aparece até eu recarregar a página"
|
|
132
|
+
severity: major
|
|
133
|
+
test: 2
|
|
134
|
+
root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
|
|
135
|
+
artifacts:
|
|
136
|
+
- path: "src/components/CommentList.tsx"
|
|
137
|
+
issue: "useEffect com dependência faltando"
|
|
138
|
+
missing:
|
|
139
|
+
- "Adicionar commentCount ao array de dependências do useEffect"
|
|
140
|
+
debug_session: ".planning/debug/comment-not-refreshing.md"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
</diagnosis_lifecycle>
|
|
144
|
+
|
|
145
|
+
<lifecycle>
|
|
146
|
+
|
|
147
|
+
**Criação:** Quando /verificar-trabalho inicia nova sessão
|
|
148
|
+
- Extrair testes dos arquivos SUMMARY.md
|
|
149
|
+
- Definir status como "testing"
|
|
150
|
+
- Teste Atual aponta para teste 1
|
|
151
|
+
- Todos os testes têm result: [pending]
|
|
152
|
+
|
|
153
|
+
**Durante teste:**
|
|
154
|
+
- Apresentar teste da seção Teste Atual
|
|
155
|
+
- Usuário responde com confirmação de pass ou descrição de issue
|
|
156
|
+
- Atualizar result do teste (pass/issue/skipped)
|
|
157
|
+
- Atualizar contagens de Resumo
|
|
158
|
+
- Se issue: append à seção Gaps (formato YAML), inferir severity
|
|
159
|
+
- Mover Teste Atual para o próximo teste pendente
|
|
160
|
+
|
|
161
|
+
**Na conclusão:**
|
|
162
|
+
- status → "complete"
|
|
163
|
+
- Teste Atual → "[testing complete]"
|
|
164
|
+
- Commit do arquivo
|
|
165
|
+
- Apresentar resumo com próximos passos
|
|
166
|
+
|
|
167
|
+
**Conclusão parcial:**
|
|
168
|
+
- status → "partial" (se testes pendentes, bloqueados ou pulados não resolvidos restarem)
|
|
169
|
+
- Teste Atual → "[testing paused — {N} items outstanding]"
|
|
170
|
+
- Commit do arquivo
|
|
171
|
+
- Apresentar resumo com itens pendentes destacados
|
|
172
|
+
|
|
173
|
+
**Retomando sessão parcial:**
|
|
174
|
+
- `/verificar-trabalho {fase}` retoma a partir do primeiro teste pendente/bloqueado
|
|
175
|
+
- Quando todos os itens forem resolvidos, status avança para "complete"
|
|
176
|
+
|
|
177
|
+
**Retomar após /clear:**
|
|
178
|
+
1. Ler frontmatter → saber fase e status
|
|
179
|
+
2. Ler Teste Atual → saber onde estamos
|
|
180
|
+
3. Encontrar primeiro result [pending] → continuar a partir daí
|
|
181
|
+
4. Resumo mostra progresso até agora
|
|
182
|
+
|
|
183
|
+
</lifecycle>
|
|
184
|
+
|
|
185
|
+
<severity_guide>
|
|
186
|
+
|
|
187
|
+
A severity é INFERIDA da linguagem natural do usuário, nunca perguntada.
|
|
188
|
+
|
|
189
|
+
| Usuário descreve | Inferir |
|
|
190
|
+
|----------------|-------|
|
|
191
|
+
| Crash, erro, exception, falha completa, inutilizável | blocker |
|
|
192
|
+
| Não funciona, nada acontece, comportamento errado, faltando | major |
|
|
193
|
+
| Funciona mas..., lento, estranho, menor, pequeno problema | minor |
|
|
194
|
+
| Cor, fonte, espaçamento, alinhamento, visual, parece errado | cosmetic |
|
|
195
|
+
|
|
196
|
+
Padrão: **major** (padrão seguro, usuário pode corrigir se errado)
|
|
197
|
+
|
|
198
|
+
</severity_guide>
|
|
199
|
+
|
|
200
|
+
<good_example>
|
|
201
|
+
```markdown
|
|
202
|
+
---
|
|
203
|
+
status: diagnosed
|
|
204
|
+
phase: 04-comments
|
|
205
|
+
source: 04-01-SUMMARY.md, 04-02-SUMMARY.md
|
|
206
|
+
started: 2025-01-15T10:30:00Z
|
|
207
|
+
updated: 2025-01-15T10:45:00Z
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Teste Atual
|
|
211
|
+
|
|
212
|
+
[testing complete]
|
|
213
|
+
|
|
214
|
+
## Testes
|
|
215
|
+
|
|
216
|
+
### 1. Visualizar Comentários no Post
|
|
217
|
+
expected: Seção de comentários expande, mostra contagem e lista de comentários
|
|
218
|
+
result: pass
|
|
219
|
+
|
|
220
|
+
### 2. Criar Comentário de Nível Superior
|
|
221
|
+
expected: Enviar comentário via editor de texto rico, aparece na lista com info do autor
|
|
222
|
+
result: issue
|
|
223
|
+
reported: "funciona mas não aparece até eu recarregar a página"
|
|
224
|
+
severity: major
|
|
225
|
+
|
|
226
|
+
### 3. Responder a um Comentário
|
|
227
|
+
expected: Clicar em Responder, compositor inline aparece, envio mostra resposta aninhada
|
|
228
|
+
result: pass
|
|
229
|
+
|
|
230
|
+
### 4. Aninhamento Visual
|
|
231
|
+
expected: Thread de 3+ níveis mostra indentação, bordas laterais, limita em profundidade razoável
|
|
232
|
+
result: pass
|
|
233
|
+
|
|
234
|
+
### 5. Excluir Próprio Comentário
|
|
235
|
+
expected: Clicar em excluir no próprio comentário, removido ou mostra [deleted] se tiver respostas
|
|
236
|
+
result: pass
|
|
237
|
+
|
|
238
|
+
### 6. Contagem de Comentários
|
|
239
|
+
expected: Post mostra contagem precisa, incrementa ao adicionar comentário
|
|
240
|
+
result: pass
|
|
241
|
+
|
|
242
|
+
## Resumo
|
|
243
|
+
|
|
244
|
+
total: 6
|
|
245
|
+
passed: 5
|
|
246
|
+
issues: 1
|
|
247
|
+
pending: 0
|
|
248
|
+
skipped: 0
|
|
249
|
+
|
|
250
|
+
## Gaps
|
|
251
|
+
|
|
252
|
+
- truth: "Comentário aparece imediatamente após envio na lista"
|
|
253
|
+
status: failed
|
|
254
|
+
reason: "User reported: funciona mas não aparece até eu recarregar a página"
|
|
255
|
+
severity: major
|
|
256
|
+
test: 2
|
|
257
|
+
root_cause: "useEffect em CommentList.tsx com dependência commentCount faltando"
|
|
258
|
+
artifacts:
|
|
259
|
+
- path: "src/components/CommentList.tsx"
|
|
260
|
+
issue: "useEffect com dependência faltando"
|
|
261
|
+
missing:
|
|
262
|
+
- "Adicionar commentCount ao array de dependências do useEffect"
|
|
263
|
+
debug_session: ".planning/debug/comment-not-refreshing.md"
|
|
264
|
+
```
|
|
265
|
+
</good_example>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: {N}
|
|
3
|
+
slug: {phase-slug}
|
|
4
|
+
status: draft
|
|
5
|
+
shadcn_initialized: false
|
|
6
|
+
preset: none
|
|
7
|
+
created: {date}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fase {N} — Contrato de Design de UI
|
|
11
|
+
|
|
12
|
+
> Contrato visual e de interação para fases de frontend. Gerado por ui-researcher, verificado por ui-checker.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Sistema de Design
|
|
17
|
+
|
|
18
|
+
| Propriedade | Valor |
|
|
19
|
+
|-------------|-------|
|
|
20
|
+
| Ferramenta | {shadcn / none} |
|
|
21
|
+
| Preset | {string do preset ou "não aplicável"} |
|
|
22
|
+
| Biblioteca de componentes | {radix / base-ui / none} |
|
|
23
|
+
| Biblioteca de ícones | {biblioteca} |
|
|
24
|
+
| Fonte | {fonte} |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Escala de Espaçamento
|
|
29
|
+
|
|
30
|
+
Valores declarados (devem ser múltiplos de 4):
|
|
31
|
+
|
|
32
|
+
| Token | Valor | Uso |
|
|
33
|
+
|-------|-------|-----|
|
|
34
|
+
| xs | 4px | Espaçamentos de ícones, padding inline |
|
|
35
|
+
| sm | 8px | Espaçamento compacto de elementos |
|
|
36
|
+
| md | 16px | Espaçamento padrão de elementos |
|
|
37
|
+
| lg | 24px | Padding de seção |
|
|
38
|
+
| xl | 32px | Espaços de layout |
|
|
39
|
+
| 2xl | 48px | Quebras principais de seção |
|
|
40
|
+
| 3xl | 64px | Espaçamento de nível de página |
|
|
41
|
+
|
|
42
|
+
Exceções: {listar quaisquer, ou "nenhuma"}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Tipografia
|
|
47
|
+
|
|
48
|
+
| Papel | Tamanho | Peso | Altura de Linha |
|
|
49
|
+
|-------|---------|------|-----------------|
|
|
50
|
+
| Body | {px} | {weight} | {ratio} |
|
|
51
|
+
| Label | {px} | {weight} | {ratio} |
|
|
52
|
+
| Heading | {px} | {weight} | {ratio} |
|
|
53
|
+
| Display | {px} | {weight} | {ratio} |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Cores
|
|
58
|
+
|
|
59
|
+
| Papel | Valor | Uso |
|
|
60
|
+
|-------|-------|-----|
|
|
61
|
+
| Dominante (60%) | {hex} | Fundo, superfícies |
|
|
62
|
+
| Secundário (30%) | {hex} | Cards, sidebar, nav |
|
|
63
|
+
| Destaque (10%) | {hex} | {listar elementos específicos apenas} |
|
|
64
|
+
| Destrutivo | {hex} | Somente ações destrutivas |
|
|
65
|
+
|
|
66
|
+
Destaque reservado para: {lista explícita — nunca "todos os elementos interativos"}
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Contrato de Copywriting
|
|
71
|
+
|
|
72
|
+
| Elemento | Texto |
|
|
73
|
+
|----------|-------|
|
|
74
|
+
| CTA Principal | {verbo + substantivo específico} |
|
|
75
|
+
| Título de estado vazio | {texto} |
|
|
76
|
+
| Corpo de estado vazio | {texto + próximo passo} |
|
|
77
|
+
| Estado de erro | {problema + caminho para solução} |
|
|
78
|
+
| Confirmação destrutiva | {nome da ação}: {texto de confirmação} |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Segurança de Registry
|
|
83
|
+
|
|
84
|
+
| Registry | Blocos Usados | Gate de Segurança |
|
|
85
|
+
|----------|---------------|-------------------|
|
|
86
|
+
| shadcn oficial | {lista} | não necessário |
|
|
87
|
+
| {nome de terceiro} | {lista} | visualização shadcn + diff necessário |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Aprovação do Checker
|
|
92
|
+
|
|
93
|
+
- [ ] Dimensão 1 Copywriting: PASS
|
|
94
|
+
- [ ] Dimensão 2 Visuais: PASS
|
|
95
|
+
- [ ] Dimensão 3 Cores: PASS
|
|
96
|
+
- [ ] Dimensão 4 Tipografia: PASS
|
|
97
|
+
- [ ] Dimensão 5 Espaçamento: PASS
|
|
98
|
+
- [ ] Dimensão 6 Segurança de Registry: PASS
|
|
99
|
+
|
|
100
|
+
**Aprovação:** {pending / approved YYYY-MM-DD}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: {N}
|
|
3
|
+
slug: {phase-slug}
|
|
4
|
+
status: draft
|
|
5
|
+
nyquist_compliant: false
|
|
6
|
+
wave_0_complete: false
|
|
7
|
+
created: {date}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Fase {N} — Estratégia de Validação
|
|
11
|
+
|
|
12
|
+
> Contrato de validação por fase para amostragem de feedback durante a execução.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Infraestrutura de Testes
|
|
17
|
+
|
|
18
|
+
| Propriedade | Valor |
|
|
19
|
+
|-------------|-------|
|
|
20
|
+
| **Framework** | {pytest 7.x / jest 29.x / vitest / go test / outro} |
|
|
21
|
+
| **Arquivo de config** | {caminho ou "nenhum — Wave 0 instala"} |
|
|
22
|
+
| **Comando de execução rápida** | `{comando rápido}` |
|
|
23
|
+
| **Comando de suite completa** | `{comando completo}` |
|
|
24
|
+
| **Tempo estimado** | ~{N} segundos |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Taxa de Amostragem
|
|
29
|
+
|
|
30
|
+
- **Após cada commit de tarefa:** Execute `{comando de execução rápida}`
|
|
31
|
+
- **Após cada wave do plano:** Execute `{comando de suite completa}`
|
|
32
|
+
- **Antes de `/verificar-trabalho`:** Suite completa deve estar verde
|
|
33
|
+
- **Latência máxima de feedback:** {N} segundos
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Mapa de Verificação Por Tarefa
|
|
38
|
+
|
|
39
|
+
| ID da Tarefa | Plano | Wave | Requisito | Tipo de Teste | Comando Automatizado | Arquivo Existe | Status |
|
|
40
|
+
|--------------|-------|------|-----------|---------------|---------------------|----------------|--------|
|
|
41
|
+
| {N}-01-01 | 01 | 1 | REQ-{XX} | unit | `{comando}` | ✅ / ❌ W0 | ⬜ pending |
|
|
42
|
+
|
|
43
|
+
*Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Requisitos do Wave 0
|
|
48
|
+
|
|
49
|
+
- [ ] `{tests/test_file.py}` — stubs para REQ-{XX}
|
|
50
|
+
- [ ] `{tests/conftest.py}` — fixtures compartilhadas
|
|
51
|
+
- [ ] `{framework install}` — se nenhum framework detectado
|
|
52
|
+
|
|
53
|
+
*Se nenhum: "Infraestrutura existente cobre todos os requisitos da fase."*
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Verificações Somente Manuais
|
|
58
|
+
|
|
59
|
+
| Comportamento | Requisito | Por que Manual | Instruções de Teste |
|
|
60
|
+
|---------------|-----------|----------------|---------------------|
|
|
61
|
+
| {comportamento} | REQ-{XX} | {motivo} | {passos} |
|
|
62
|
+
|
|
63
|
+
*Se nenhum: "Todos os comportamentos da fase têm verificação automatizada."*
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Aprovação de Validação
|
|
68
|
+
|
|
69
|
+
- [ ] Todas as tarefas têm verify `<automated>` ou dependências Wave 0
|
|
70
|
+
- [ ] Continuidade de amostragem: sem 3 tarefas consecutivas sem verificação automatizada
|
|
71
|
+
- [ ] Wave 0 cobre todas as referências MISSING
|
|
72
|
+
- [ ] Sem flags de modo watch
|
|
73
|
+
- [ ] Latência de feedback < {N}s
|
|
74
|
+
- [ ] `nyquist_compliant: true` definido no frontmatter
|
|
75
|
+
|
|
76
|
+
**Aprovação:** {pending / approved YYYY-MM-DD}
|