@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,671 @@
|
|
|
1
|
+
<internal_workflow>
|
|
2
|
+
|
|
3
|
+
**Este é um workflow INTERNO — NÃO é um comando para o usuário.**
|
|
4
|
+
|
|
5
|
+
Não existe um comando `/transition`. Este workflow é invocado automaticamente pelo
|
|
6
|
+
`execute-phase` durante o avanço automático, ou inline pelo orquestrador após a verificação
|
|
7
|
+
da fase. Jamais diga aos usuários para executar `/transition`.
|
|
8
|
+
|
|
9
|
+
**Comandos válidos para o usuário para progressão de fase:**
|
|
10
|
+
- `/discutir-fase {N}` — discutir uma fase antes do planejamento
|
|
11
|
+
- `/planejar-fase {N}` — planejar uma fase
|
|
12
|
+
- `/executar-fase {N}` — executar uma fase
|
|
13
|
+
- `/progresso` — ver o progresso do roadmap
|
|
14
|
+
|
|
15
|
+
</internal_workflow>
|
|
16
|
+
|
|
17
|
+
<required_reading>
|
|
18
|
+
|
|
19
|
+
**Leia estes arquivos AGORA:**
|
|
20
|
+
|
|
21
|
+
1. `.planning/STATE.md`
|
|
22
|
+
2. `.planning/PROJECT.md`
|
|
23
|
+
3. `.planning/ROADMAP.md`
|
|
24
|
+
4. Arquivos de plano da fase atual (`*-PLAN.md`)
|
|
25
|
+
5. Arquivos de resumo da fase atual (`*-SUMMARY.md`)
|
|
26
|
+
|
|
27
|
+
</required_reading>
|
|
28
|
+
|
|
29
|
+
<purpose>
|
|
30
|
+
|
|
31
|
+
Marcar a fase atual como concluída e avançar para a próxima. Este é o ponto natural onde o rastreamento de progresso e a evolução do PROJECT.md acontecem.
|
|
32
|
+
|
|
33
|
+
"Planejar a próxima fase" = "fase atual está concluída"
|
|
34
|
+
|
|
35
|
+
</purpose>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
|
|
39
|
+
<step name="load_project_state" priority="first">
|
|
40
|
+
|
|
41
|
+
Antes da transição, leia o estado do projeto:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cat .planning/STATE.md 2>/dev/null || true
|
|
45
|
+
cat .planning/PROJECT.md 2>/dev/null || true
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Analise a posição atual para verificar se estamos fazendo a transição da fase correta.
|
|
49
|
+
Note o contexto acumulado que pode precisar de atualização após a transição.
|
|
50
|
+
|
|
51
|
+
</step>
|
|
52
|
+
|
|
53
|
+
<step name="verify_completion">
|
|
54
|
+
|
|
55
|
+
Verifique se a fase atual tem todos os resumos de plano:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
(ls .planning/phases/XX-current/*-PLAN.md 2>/dev/null || true) | sort
|
|
59
|
+
(ls .planning/phases/XX-current/*-SUMMARY.md 2>/dev/null || true) | sort
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Lógica de verificação:**
|
|
63
|
+
|
|
64
|
+
- Contar arquivos PLAN
|
|
65
|
+
- Contar arquivos SUMMARY
|
|
66
|
+
- Se as contagens coincidirem: todos os planos concluídos
|
|
67
|
+
- Se não coincidirem: incompleto
|
|
68
|
+
|
|
69
|
+
<config-check>
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
cat .planning/config.json 2>/dev/null || true
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
</config-check>
|
|
76
|
+
|
|
77
|
+
**Verificar dívida de verificação nesta fase:**
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Contar itens pendentes na fase atual
|
|
81
|
+
OUTSTANDING=""
|
|
82
|
+
for f in .planning/phases/XX-current/*-UAT.md .planning/phases/XX-current/*-VERIFICATION.md; do
|
|
83
|
+
[ -f "$f" ] || continue
|
|
84
|
+
grep -q "result: pending\|result: blocked\|status: partial\|status: human_needed\|status: diagnosed" "$f" && OUTSTANDING="$OUTSTANDING\n$(basename $f)"
|
|
85
|
+
done
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Se OUTSTANDING não estiver vazio:**
|
|
89
|
+
|
|
90
|
+
Adicione à mensagem de confirmação de conclusão (independente do modo):
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Itens de verificação pendentes nesta fase:
|
|
94
|
+
{listar nomes de arquivo}
|
|
95
|
+
|
|
96
|
+
Estes serão carregados como dívida. Revise: `/auditar-uat`
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Isto NÃO bloqueia a transição — garante que o usuário veja a dívida antes de confirmar.
|
|
100
|
+
|
|
101
|
+
**Se todos os planos estiverem concluídos:**
|
|
102
|
+
|
|
103
|
+
<if mode="yolo">
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
⚡ Auto-aprovado: Transição Fase [X] → Fase [X+1]
|
|
107
|
+
Fase [X] concluída — todos os [Y] planos finalizados.
|
|
108
|
+
|
|
109
|
+
Prosseguindo para marcar como concluído e avançar...
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Prossiga diretamente para o passo cleanup_handoff.
|
|
113
|
+
|
|
114
|
+
</if>
|
|
115
|
+
|
|
116
|
+
<if mode="interactive" OR="custom with gates.confirm_transition true">
|
|
117
|
+
|
|
118
|
+
Pergunte: "Fase [X] concluída — todos os [Y] planos finalizados. Pronto para marcar como concluído e avançar para a Fase [X+1]?"
|
|
119
|
+
|
|
120
|
+
Aguarde confirmação antes de prosseguir.
|
|
121
|
+
|
|
122
|
+
</if>
|
|
123
|
+
|
|
124
|
+
**Se os planos estiverem incompletos:**
|
|
125
|
+
|
|
126
|
+
**TRILHO DE SEGURANÇA: always_confirm_destructive aplica-se aqui.**
|
|
127
|
+
Pular planos incompletos é destrutivo — SEMPRE solicite confirmação independente do modo.
|
|
128
|
+
|
|
129
|
+
Apresente:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Fase [X] tem planos incompletos:
|
|
133
|
+
- {fase}-01-SUMMARY.md ✓ Concluído
|
|
134
|
+
- {fase}-02-SUMMARY.md ✗ Ausente
|
|
135
|
+
- {fase}-03-SUMMARY.md ✗ Ausente
|
|
136
|
+
|
|
137
|
+
⚠️ Trilho de segurança: Pular planos requer confirmação (ação destrutiva)
|
|
138
|
+
|
|
139
|
+
Opções:
|
|
140
|
+
1. Continuar a fase atual (executar planos restantes)
|
|
141
|
+
2. Marcar como concluído mesmo assim (pular planos restantes)
|
|
142
|
+
3. Revisar o que falta
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Aguarde a decisão do usuário.
|
|
146
|
+
|
|
147
|
+
</step>
|
|
148
|
+
|
|
149
|
+
<step name="cleanup_handoff">
|
|
150
|
+
|
|
151
|
+
Verifique handoffs pendentes:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
ls .planning/phases/XX-current/.continue-here*.md 2>/dev/null || true
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Se encontrados, exclua-os — a fase está concluída, os handoffs são obsoletos.
|
|
158
|
+
|
|
159
|
+
</step>
|
|
160
|
+
|
|
161
|
+
<step name="update_roadmap_and_state">
|
|
162
|
+
|
|
163
|
+
**Delegue as atualizações do ROADMAP.md e STATE.md ao tools:**
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
TRANSITION=$(node "./.claude/framework/bin/tools.cjs" phase complete "${current_phase}")
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
O CLI cuida de:
|
|
170
|
+
- Marcar o checkbox da fase como `[x]` concluído com a data de hoje
|
|
171
|
+
- Atualizar a contagem de planos para o final (ex.: "3/3 planos concluídos")
|
|
172
|
+
- Atualizar a tabela de Progresso (Status → Concluído, adicionando data)
|
|
173
|
+
- Avançar o STATE.md para a próxima fase (Fase Atual, Status → Pronto para planejar, Plano Atual → Não iniciado)
|
|
174
|
+
- Detectar se esta é a última fase do marco
|
|
175
|
+
|
|
176
|
+
Extraia do resultado: `completed_phase`, `plans_executed`, `next_phase`, `next_phase_name`, `is_last_phase`.
|
|
177
|
+
|
|
178
|
+
</step>
|
|
179
|
+
|
|
180
|
+
<step name="archive_prompts">
|
|
181
|
+
|
|
182
|
+
Se prompts foram gerados para a fase, eles permanecem no lugar.
|
|
183
|
+
O padrão de subpasta `completed/` do create-meta-prompts trata o arquivamento.
|
|
184
|
+
|
|
185
|
+
</step>
|
|
186
|
+
|
|
187
|
+
<step name="evolve_project">
|
|
188
|
+
|
|
189
|
+
Evolua o PROJECT.md para refletir os aprendizados da fase concluída.
|
|
190
|
+
|
|
191
|
+
**Leia os resumos da fase:**
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
cat .planning/phases/XX-current/*-SUMMARY.md
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Avalie mudanças de requisitos:**
|
|
198
|
+
|
|
199
|
+
1. **Requisitos validados?**
|
|
200
|
+
- Algum requisito Ativo foi entregue nesta fase?
|
|
201
|
+
- Mova para Validado com referência da fase: `- ✓ [Requisito] — Fase X`
|
|
202
|
+
|
|
203
|
+
2. **Requisitos invalidados?**
|
|
204
|
+
- Algum requisito Ativo foi descoberto como desnecessário ou incorreto?
|
|
205
|
+
- Mova para Fora do Escopo com motivo: `- [Requisito] — [por que invalidado]`
|
|
206
|
+
|
|
207
|
+
3. **Requisitos emergentes?**
|
|
208
|
+
- Novos requisitos descobertos durante a construção?
|
|
209
|
+
- Adicione ao Ativo: `- [ ] [Novo requisito]`
|
|
210
|
+
|
|
211
|
+
4. **Decisões a registrar?**
|
|
212
|
+
- Extraia decisões dos arquivos SUMMARY.md
|
|
213
|
+
- Adicione à tabela de Decisões-Chave com resultado se conhecido
|
|
214
|
+
|
|
215
|
+
5. **"O Que É" ainda está preciso?**
|
|
216
|
+
- Se o produto mudou significativamente, atualize a descrição
|
|
217
|
+
- Mantenha-o atual e preciso
|
|
218
|
+
|
|
219
|
+
**Atualize o PROJECT.md:**
|
|
220
|
+
|
|
221
|
+
Faça as edições inline. Atualize o rodapé "Última atualização":
|
|
222
|
+
|
|
223
|
+
```markdown
|
|
224
|
+
---
|
|
225
|
+
*Última atualização: [data] após a Fase [X]*
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Exemplo de evolução:**
|
|
229
|
+
|
|
230
|
+
Antes:
|
|
231
|
+
|
|
232
|
+
```markdown
|
|
233
|
+
### Ativo
|
|
234
|
+
|
|
235
|
+
- [ ] Autenticação JWT
|
|
236
|
+
- [ ] Sincronização em tempo real < 500ms
|
|
237
|
+
- [ ] Modo offline
|
|
238
|
+
|
|
239
|
+
### Fora do Escopo
|
|
240
|
+
|
|
241
|
+
- OAuth2 — complexidade não necessária para v1
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Depois (Fase 2 entregou auth JWT, descobriu que rate limiting era necessário):
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
### Validado
|
|
248
|
+
|
|
249
|
+
- ✓ Autenticação JWT — Fase 2
|
|
250
|
+
|
|
251
|
+
### Ativo
|
|
252
|
+
|
|
253
|
+
- [ ] Sincronização em tempo real < 500ms
|
|
254
|
+
- [ ] Modo offline
|
|
255
|
+
- [ ] Rate limiting no endpoint de sync
|
|
256
|
+
|
|
257
|
+
### Fora do Escopo
|
|
258
|
+
|
|
259
|
+
- OAuth2 — complexidade não necessária para v1
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Passo concluído quando:**
|
|
263
|
+
|
|
264
|
+
- [ ] Resumos da fase revisados para aprendizados
|
|
265
|
+
- [ ] Requisitos validados movidos de Ativo
|
|
266
|
+
- [ ] Requisitos invalidados movidos para Fora do Escopo com motivo
|
|
267
|
+
- [ ] Requisitos emergentes adicionados ao Ativo
|
|
268
|
+
- [ ] Novas decisões registradas com justificativa
|
|
269
|
+
- [ ] "O Que É" atualizado se o produto mudou
|
|
270
|
+
- [ ] Rodapé "Última atualização" reflete esta transição
|
|
271
|
+
|
|
272
|
+
</step>
|
|
273
|
+
|
|
274
|
+
<step name="update_current_position_after_transition">
|
|
275
|
+
|
|
276
|
+
**Nota:** As atualizações básicas de posição (Fase Atual, Status, Plano Atual, Última Atividade) já foram tratadas pelo `tools phase complete` no passo update_roadmap_and_state.
|
|
277
|
+
|
|
278
|
+
Verifique se as atualizações estão corretas lendo STATE.md. Se a barra de progresso precisar de atualização, use:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
PROGRESS=$(node "./.claude/framework/bin/tools.cjs" progress bar --raw)
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Atualize a linha da barra de progresso no STATE.md com o resultado.
|
|
285
|
+
|
|
286
|
+
**Passo concluído quando:**
|
|
287
|
+
|
|
288
|
+
- [ ] Número da fase incrementado para a próxima fase (feito por phase complete)
|
|
289
|
+
- [ ] Status do plano redefinido para "Não iniciado" (feito por phase complete)
|
|
290
|
+
- [ ] Status mostra "Pronto para planejar" (feito por phase complete)
|
|
291
|
+
- [ ] Barra de progresso reflete o total de planos concluídos
|
|
292
|
+
|
|
293
|
+
</step>
|
|
294
|
+
|
|
295
|
+
<step name="update_project_reference">
|
|
296
|
+
|
|
297
|
+
Atualize a seção de Referência do Projeto no STATE.md.
|
|
298
|
+
|
|
299
|
+
```markdown
|
|
300
|
+
## Referência do Projeto
|
|
301
|
+
|
|
302
|
+
Ver: .planning/PROJECT.md (atualizado em [hoje])
|
|
303
|
+
|
|
304
|
+
**Valor central:** [Valor central atual do PROJECT.md]
|
|
305
|
+
**Foco atual:** [Nome da próxima fase]
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Atualize a data e o foco atual para refletir a transição.
|
|
309
|
+
|
|
310
|
+
</step>
|
|
311
|
+
|
|
312
|
+
<step name="review_accumulated_context">
|
|
313
|
+
|
|
314
|
+
Revise e atualize a seção de Contexto Acumulado no STATE.md.
|
|
315
|
+
|
|
316
|
+
**Decisões:**
|
|
317
|
+
|
|
318
|
+
- Note decisões recentes desta fase (máx. 3-5)
|
|
319
|
+
- O log completo está na tabela de Decisões-Chave do PROJECT.md
|
|
320
|
+
|
|
321
|
+
**Bloqueadores/Preocupações:**
|
|
322
|
+
|
|
323
|
+
- Revise os bloqueadores da fase concluída
|
|
324
|
+
- Se resolvidos nesta fase: Remova da lista
|
|
325
|
+
- Se ainda relevantes para o futuro: Mantenha com prefixo "Fase X"
|
|
326
|
+
- Adicione quaisquer novas preocupações dos resumos da fase concluída
|
|
327
|
+
|
|
328
|
+
**Exemplo:**
|
|
329
|
+
|
|
330
|
+
Antes:
|
|
331
|
+
|
|
332
|
+
```markdown
|
|
333
|
+
### Bloqueadores/Preocupações
|
|
334
|
+
|
|
335
|
+
- ⚠️ [Fase 1] Schema do banco de dados sem índice para consultas comuns
|
|
336
|
+
- ⚠️ [Fase 2] Comportamento de reconexão WebSocket em redes instáveis desconhecido
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Depois (se a indexação do banco de dados foi resolvida na Fase 2):
|
|
340
|
+
|
|
341
|
+
```markdown
|
|
342
|
+
### Bloqueadores/Preocupações
|
|
343
|
+
|
|
344
|
+
- ⚠️ [Fase 2] Comportamento de reconexão WebSocket em redes instáveis desconhecido
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Passo concluído quando:**
|
|
348
|
+
|
|
349
|
+
- [ ] Decisões recentes anotadas (log completo no PROJECT.md)
|
|
350
|
+
- [ ] Bloqueadores resolvidos removidos da lista
|
|
351
|
+
- [ ] Bloqueadores não resolvidos mantidos com prefixo de fase
|
|
352
|
+
- [ ] Novas preocupações da fase concluída adicionadas
|
|
353
|
+
|
|
354
|
+
</step>
|
|
355
|
+
|
|
356
|
+
<step name="update_session_continuity_after_transition">
|
|
357
|
+
|
|
358
|
+
Atualize a seção de Continuidade de Sessão no STATE.md para refletir a conclusão da transição.
|
|
359
|
+
|
|
360
|
+
**Formato:**
|
|
361
|
+
|
|
362
|
+
```markdown
|
|
363
|
+
Última sessão: [hoje]
|
|
364
|
+
Parou em: Fase [X] concluída, pronta para planejar a Fase [X+1]
|
|
365
|
+
Arquivo de retomada: Nenhum
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Passo concluído quando:**
|
|
369
|
+
|
|
370
|
+
- [ ] Timestamp da última sessão atualizado para data e hora atuais
|
|
371
|
+
- [ ] "Parou em" descreve a conclusão da fase e a próxima fase
|
|
372
|
+
- [ ] Arquivo de retomada confirmado como Nenhum (transições não usam arquivos de retomada)
|
|
373
|
+
|
|
374
|
+
</step>
|
|
375
|
+
|
|
376
|
+
<step name="offer_next_phase">
|
|
377
|
+
|
|
378
|
+
**OBRIGATÓRIO: Verificar o status do marco antes de apresentar os próximos passos.**
|
|
379
|
+
|
|
380
|
+
**Use o resultado da transição do `tools phase complete`:**
|
|
381
|
+
|
|
382
|
+
O campo `is_last_phase` do resultado de phase complete informa diretamente:
|
|
383
|
+
- `is_last_phase: false` → Mais fases restam → Vá para **Rota A**
|
|
384
|
+
- `is_last_phase: true` → Última fase concluída → **Verifique primeiro colisões de workstream**
|
|
385
|
+
|
|
386
|
+
Os campos `next_phase` e `next_phase_name` fornecem os detalhes da próxima fase.
|
|
387
|
+
|
|
388
|
+
Se precisar de contexto adicional, use:
|
|
389
|
+
```bash
|
|
390
|
+
ROADMAP=$(node "./.claude/framework/bin/tools.cjs" roadmap analyze)
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Isto retorna todas as fases com objetivos, status em disco e informações de conclusão.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
**Verificação de colisão de workstream (quando `is_last_phase: true`):**
|
|
398
|
+
|
|
399
|
+
Antes de rotear para a Rota B, verifique se outros workstreams ainda estão ativos.
|
|
400
|
+
Isto evita que um workstream avance ou conclua o marco enquanto outros workstreams
|
|
401
|
+
ainda estão trabalhando em suas fases.
|
|
402
|
+
|
|
403
|
+
**Pule esta verificação se NÃO estiver no modo workstream** (ou seja, `WORKSTREAM` não está definido / modo plano).
|
|
404
|
+
No modo plano, vá diretamente para **Rota B**.
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
# Verifique apenas se estamos no modo workstream
|
|
408
|
+
if [ -n "$WORKSTREAM" ]; then
|
|
409
|
+
WS_LIST=$(node "./.claude/framework/bin/tools.cjs" workstream list --raw)
|
|
410
|
+
fi
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
Analise o resultado JSON. A saída tem `{ mode, workstreams: [...] }`.
|
|
414
|
+
Cada entrada de workstream tem: `name`, `status`, `current_phase`, `phase_count`, `completed_phases`.
|
|
415
|
+
|
|
416
|
+
Filtre o workstream atual (`$WORKSTREAM`) e quaisquer workstreams com
|
|
417
|
+
status contendo "milestone complete" ou "archived" (sem distinção de maiúsculas).
|
|
418
|
+
As entradas restantes são **outros workstreams ativos**.
|
|
419
|
+
|
|
420
|
+
- **Se outros workstreams ativos existirem** → Vá para **Rota B1**
|
|
421
|
+
- **Se NÃO houver outros workstreams ativos** (ou modo plano) → Vá para **Rota B**
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
**Rota A: Mais fases restam no marco**
|
|
426
|
+
|
|
427
|
+
Leia ROADMAP.md para obter o nome e o objetivo da próxima fase.
|
|
428
|
+
|
|
429
|
+
**Verifique se a próxima fase tem CONTEXT.md:**
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
ls .planning/phases/*[X+1]*/*-CONTEXT.md 2>/dev/null || true
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
**Se a próxima fase existir:**
|
|
436
|
+
|
|
437
|
+
<if mode="yolo">
|
|
438
|
+
|
|
439
|
+
**Se CONTEXT.md existir:**
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
Fase [X] marcada como concluída.
|
|
443
|
+
|
|
444
|
+
Próxima: Fase [X+1] — [Nome]
|
|
445
|
+
|
|
446
|
+
⚡ Continuando automaticamente: Planejar a Fase [X+1] em detalhe
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
Saia do skill e invoque SlashCommand("/planejar-fase [X+1] --auto ${WS}")
|
|
450
|
+
|
|
451
|
+
**Se CONTEXT.md NÃO existir:**
|
|
452
|
+
|
|
453
|
+
```
|
|
454
|
+
Fase [X] marcada como concluída.
|
|
455
|
+
|
|
456
|
+
Próxima: Fase [X+1] — [Nome]
|
|
457
|
+
|
|
458
|
+
⚡ Continuando automaticamente: Discutir a Fase [X+1] primeiro
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
Saia do skill e invoque SlashCommand("/discutir-fase [X+1] --auto ${WS}")
|
|
462
|
+
|
|
463
|
+
</if>
|
|
464
|
+
|
|
465
|
+
<if mode="interactive" OR="custom with gates.confirm_transition true">
|
|
466
|
+
|
|
467
|
+
**Se CONTEXT.md NÃO existir:**
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
## ✓ Fase [X] Concluída
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## ▶ Próximo Passo
|
|
475
|
+
|
|
476
|
+
**Fase [X+1]: [Nome]** — [Objetivo do ROADMAP.md]
|
|
477
|
+
|
|
478
|
+
`/discutir-fase [X+1] ${WS}` — coletar contexto e clarificar abordagem
|
|
479
|
+
|
|
480
|
+
<sub>`/clear` primeiro → contexto limpo</sub>
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
**Também disponível:**
|
|
485
|
+
- `/planejar-fase [X+1] ${WS}` — pular discussão, planejar diretamente
|
|
486
|
+
- `/pesquisar-fase [X+1] ${WS}` — investigar incógnitas
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
**Se CONTEXT.md existir:**
|
|
492
|
+
|
|
493
|
+
```
|
|
494
|
+
## ✓ Fase [X] Concluída
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
## ▶ Próximo Passo
|
|
499
|
+
|
|
500
|
+
**Fase [X+1]: [Nome]** — [Objetivo do ROADMAP.md]
|
|
501
|
+
<sub>✓ Contexto coletado, pronto para planejar</sub>
|
|
502
|
+
|
|
503
|
+
`/planejar-fase [X+1] ${WS}`
|
|
504
|
+
|
|
505
|
+
<sub>`/clear` primeiro → contexto limpo</sub>
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
**Também disponível:**
|
|
510
|
+
- `/discutir-fase [X+1] ${WS}` — revisitar contexto
|
|
511
|
+
- `/pesquisar-fase [X+1] ${WS}` — investigar incógnitas
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
</if>
|
|
517
|
+
|
|
518
|
+
---
|
|
519
|
+
|
|
520
|
+
**Rota B1: Workstream concluído, outros workstreams ainda ativos**
|
|
521
|
+
|
|
522
|
+
Esta rota é alcançada quando `is_last_phase: true` E a verificação de colisão encontrou
|
|
523
|
+
outros workstreams ativos. NÃO sugira concluir o marco ou avançar para o próximo marco —
|
|
524
|
+
outros workstreams ainda estão trabalhando.
|
|
525
|
+
|
|
526
|
+
**Limpe o flag de encadeamento automático** — o limite do workstream é o ponto de parada natural:
|
|
527
|
+
|
|
528
|
+
```bash
|
|
529
|
+
node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active false
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
<if mode="yolo">
|
|
533
|
+
|
|
534
|
+
Substitua o avanço automático: NÃO continue automaticamente para a conclusão do marco.
|
|
535
|
+
Apresente as informações de bloqueio e pare.
|
|
536
|
+
|
|
537
|
+
</if>
|
|
538
|
+
|
|
539
|
+
Apresente (todos os modos):
|
|
540
|
+
|
|
541
|
+
```
|
|
542
|
+
## ✓ Fase {X}: {Nome da Fase} Concluída
|
|
543
|
+
|
|
544
|
+
As fases deste workstream estão concluídas. Outros workstreams ainda estão ativos:
|
|
545
|
+
|
|
546
|
+
| Workstream | Status | Fase | Progresso |
|
|
547
|
+
|------------|--------|------|-----------|
|
|
548
|
+
| {nome} | {status} | {current_phase} | {completed_phases}/{phase_count} |
|
|
549
|
+
| ... | ... | ... | ... |
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
## Próximos Passos
|
|
554
|
+
|
|
555
|
+
Arquivar este workstream:
|
|
556
|
+
|
|
557
|
+
`/workstreams complete {current_ws_name} ${WS}`
|
|
558
|
+
|
|
559
|
+
Ver o progresso geral do marco:
|
|
560
|
+
|
|
561
|
+
`/workstreams progress ${WS}`
|
|
562
|
+
|
|
563
|
+
<sub>A conclusão do marco estará disponível quando todos os workstreams terminarem.</sub>
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
NÃO sugira `/concluir-marco` ou `/novo-marco`.
|
|
569
|
+
NÃO invoque automaticamente mais slash commands.
|
|
570
|
+
|
|
571
|
+
**Pare aqui.** O usuário deve decidir explicitamente o que fazer em seguida.
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
**Rota B: Marco concluído (todas as fases finalizadas)**
|
|
576
|
+
|
|
577
|
+
**Esta rota é alcançada apenas quando:**
|
|
578
|
+
- `is_last_phase: true` E não há outros workstreams ativos (ou modo plano)
|
|
579
|
+
|
|
580
|
+
**Limpe o flag de encadeamento automático** — o limite do marco é o ponto de parada natural:
|
|
581
|
+
|
|
582
|
+
```bash
|
|
583
|
+
node "./.claude/framework/bin/tools.cjs" config-set workflow._auto_chain_active false
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
<if mode="yolo">
|
|
587
|
+
|
|
588
|
+
```
|
|
589
|
+
Fase {X} marcada como concluída.
|
|
590
|
+
|
|
591
|
+
🎉 Marco {versão} está 100% concluído — todas as {N} fases finalizadas!
|
|
592
|
+
|
|
593
|
+
⚡ Continuando automaticamente: Concluir o marco e arquivar
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
Saia do skill e invoque SlashCommand("/concluir-marco {versão} ${WS}")
|
|
597
|
+
|
|
598
|
+
</if>
|
|
599
|
+
|
|
600
|
+
<if mode="interactive" OR="custom with gates.confirm_transition true">
|
|
601
|
+
|
|
602
|
+
```
|
|
603
|
+
## ✓ Fase {X}: {Nome da Fase} Concluída
|
|
604
|
+
|
|
605
|
+
🎉 Marco {versão} está 100% concluído — todas as {N} fases finalizadas!
|
|
606
|
+
|
|
607
|
+
---
|
|
608
|
+
|
|
609
|
+
## ▶ Próximo Passo
|
|
610
|
+
|
|
611
|
+
**Concluir Marco {versão}** — arquivar e preparar para o próximo
|
|
612
|
+
|
|
613
|
+
`/concluir-marco {versão} ${WS}`
|
|
614
|
+
|
|
615
|
+
<sub>`/clear` primeiro → contexto limpo</sub>
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
**Também disponível:**
|
|
620
|
+
- Revisar as realizações antes de arquivar
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
</if>
|
|
626
|
+
|
|
627
|
+
</step>
|
|
628
|
+
|
|
629
|
+
</process>
|
|
630
|
+
|
|
631
|
+
<implicit_tracking>
|
|
632
|
+
O rastreamento de progresso é IMPLÍCITO: planejar a fase N implica que as fases 1-(N-1) estão concluídas. Sem etapa separada de progresso — o movimento para frente É o progresso.
|
|
633
|
+
</implicit_tracking>
|
|
634
|
+
|
|
635
|
+
<partial_completion>
|
|
636
|
+
|
|
637
|
+
Se o usuário quiser seguir em frente, mas a fase não estiver totalmente concluída:
|
|
638
|
+
|
|
639
|
+
```
|
|
640
|
+
Fase [X] tem planos incompletos:
|
|
641
|
+
- {fase}-02-PLAN.md (não executado)
|
|
642
|
+
- {fase}-03-PLAN.md (não executado)
|
|
643
|
+
|
|
644
|
+
Opções:
|
|
645
|
+
1. Marcar como concluído mesmo assim (planos não foram necessários)
|
|
646
|
+
2. Adiar trabalho para fase posterior
|
|
647
|
+
3. Ficar e terminar a fase atual
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
Respeite o julgamento do usuário — ele sabe se o trabalho importa.
|
|
651
|
+
|
|
652
|
+
**Se marcando como concluído com planos incompletos:**
|
|
653
|
+
|
|
654
|
+
- Atualize ROADMAP: "2/3 planos concluídos" (não "3/3")
|
|
655
|
+
- Note na mensagem de transição quais planos foram pulados
|
|
656
|
+
|
|
657
|
+
</partial_completion>
|
|
658
|
+
|
|
659
|
+
<success_criteria>
|
|
660
|
+
|
|
661
|
+
A transição está concluída quando:
|
|
662
|
+
|
|
663
|
+
- [ ] Resumos de plano da fase atual verificados (todos existem ou usuário escolheu pular)
|
|
664
|
+
- [ ] Quaisquer handoffs obsoletos excluídos
|
|
665
|
+
- [ ] ROADMAP.md atualizado com status de conclusão e contagem de planos
|
|
666
|
+
- [ ] PROJECT.md evoluído (requisitos, decisões, descrição se necessário)
|
|
667
|
+
- [ ] STATE.md atualizado (posição, referência do projeto, contexto, sessão)
|
|
668
|
+
- [ ] Tabela de progresso atualizada
|
|
669
|
+
- [ ] Usuário conhece os próximos passos
|
|
670
|
+
|
|
671
|
+
</success_criteria>
|