@luanpdd/kit-mcp 1.30.2 → 1.31.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/LICENSE +21 -21
- package/README.md +168 -168
- package/gates/agent-no-recursive-dispatch.md +84 -82
- package/kit/COMANDOS.md +138 -138
- package/kit/README.md +76 -76
- package/kit/agents/advisor-researcher.md +107 -106
- package/kit/agents/ai-mutation-tester.md +1 -0
- package/kit/agents/assumptions-analyzer.md +108 -107
- package/kit/agents/audit-log-implementer.md +314 -313
- package/kit/agents/auditor-consistencia-isolamento.md +414 -413
- package/kit/agents/b2b-saas-architect.md +157 -156
- package/kit/agents/burn-rate-forecaster.md +1 -0
- package/kit/agents/cascading-failures-auditor.md +299 -298
- package/kit/agents/codebase-mapper.md +769 -768
- package/kit/agents/crm-pipeline-implementer.md +257 -256
- package/kit/agents/debugger.md +814 -813
- package/kit/agents/detector-tenant-quente.md +338 -337
- package/kit/agents/evolution-go-integrator.md +201 -200
- package/kit/agents/example-reviewer.md +22 -21
- package/kit/agents/executor.md +565 -564
- package/kit/agents/golden-signals-instrumenter.md +1 -0
- package/kit/agents/incident-investigator.md +1 -0
- package/kit/agents/integration-checker.md +201 -200
- package/kit/agents/invite-flow-implementer.md +190 -189
- package/kit/agents/legacy-characterizer.md +369 -368
- package/kit/agents/lgpd-compliance-auditor.md +296 -295
- package/kit/agents/load-shedding-instrumenter.md +1 -0
- package/kit/agents/multi-tenant-isolation-auditor.md +254 -253
- package/kit/agents/multi-tenant-rls-writer.md +341 -340
- package/kit/agents/nyquist-auditor.md +179 -178
- package/kit/agents/observability-coverage-auditor.md +316 -315
- package/kit/agents/observability-instrumenter.md +1 -0
- package/kit/agents/omm-auditor.md +1 -0
- package/kit/agents/org-onboarding-implementer.md +224 -223
- package/kit/agents/payload-capture-instrumenter.md +274 -273
- package/kit/agents/phase-researcher.md +697 -696
- package/kit/agents/plan-checker.md +273 -272
- package/kit/agents/planner.md +923 -922
- package/kit/agents/postmortem-writer.md +1 -0
- package/kit/agents/project-researcher.md +653 -652
- package/kit/agents/prr-conductor.md +1 -0
- package/kit/agents/refactor-safety-auditor.md +405 -404
- package/kit/agents/release-pipeline-auditor.md +1 -0
- package/kit/agents/research-synthesizer.md +246 -245
- package/kit/agents/roadmapper.md +678 -677
- package/kit/agents/schema-checker.md +1 -0
- package/kit/agents/seam-finder.md +360 -359
- package/kit/agents/shotgun-surgery-detector.md +350 -349
- package/kit/agents/slo-engineer.md +1 -0
- package/kit/agents/storytelling-analyst.md +1 -0
- package/kit/agents/supabase-architect.md +1 -0
- package/kit/agents/supabase-auth-bootstrapper.md +1 -0
- package/kit/agents/supabase-branching-architect.md +563 -562
- package/kit/agents/supabase-cicd-pipeline-implementer.md +778 -777
- package/kit/agents/supabase-column-privileges-writer.md +400 -399
- package/kit/agents/supabase-edge-fn-tester.md +2 -1
- package/kit/agents/supabase-edge-fn-writer.md +2 -1
- package/kit/agents/supabase-migration-writer.md +386 -385
- package/kit/agents/supabase-rbac-implementer.md +393 -392
- package/kit/agents/supabase-realtime-implementer.md +364 -363
- package/kit/agents/supabase-rls-hardener.md +522 -521
- package/kit/agents/supabase-rls-writer.md +324 -323
- package/kit/agents/supabase-roles-implementer.md +356 -355
- package/kit/agents/supabase-storage-implementer.md +1 -0
- package/kit/agents/super-admin-implementer.md +282 -281
- package/kit/agents/toil-auditor.md +1 -0
- package/kit/agents/ui-auditor.md +438 -437
- package/kit/agents/ui-checker.md +303 -302
- package/kit/agents/ui-researcher.md +356 -355
- package/kit/agents/user-profiler.md +176 -175
- package/kit/agents/validador-evolucao-schema.md +336 -335
- package/kit/agents/verifier.md +729 -728
- package/kit/commands/adicionar-backlog.md +75 -75
- package/kit/commands/adicionar-fase.md +42 -42
- package/kit/commands/adicionar-tarefa.md +45 -45
- package/kit/commands/adicionar-testes.md +41 -41
- package/kit/commands/ajuda.md +21 -21
- package/kit/commands/atualizar.md +37 -37
- package/kit/commands/auditar-cascading.md +111 -111
- package/kit/commands/auditar-marco.md +179 -179
- package/kit/commands/auditar-observabilidade-cobertura.md +183 -183
- package/kit/commands/auditar-refactor.md +219 -219
- package/kit/commands/auditar-release.md +109 -109
- package/kit/commands/auditar-uat.md +23 -23
- package/kit/commands/autonomo.md +40 -40
- package/kit/commands/branch-pr.md +24 -24
- package/kit/commands/burn-rate-status.md +408 -408
- package/kit/commands/capturar-payloads.md +193 -193
- package/kit/commands/caracterizar.md +212 -212
- package/kit/commands/concluir-marco.md +247 -247
- package/kit/commands/configuracoes.md +36 -36
- package/kit/commands/dados-distribuidos.md +188 -188
- package/kit/commands/definir-perfil.md +10 -10
- package/kit/commands/depurar.md +190 -190
- package/kit/commands/detectar-duplicacao.md +197 -197
- package/kit/commands/discutir-fase.md +131 -131
- package/kit/commands/encontrar-seams.md +136 -136
- package/kit/commands/entrar-discord.md +17 -17
- package/kit/commands/estatisticas.md +18 -18
- package/kit/commands/example-greeting.md +33 -33
- package/kit/commands/executar-fase.md +58 -58
- package/kit/commands/expresso.md +56 -56
- package/kit/commands/fase-ui.md +34 -34
- package/kit/commands/fazer.md +57 -57
- package/kit/commands/fio.md +125 -125
- package/kit/commands/fluxos-trabalho.md +64 -64
- package/kit/commands/forense.md +176 -176
- package/kit/commands/gerenciador.md +38 -38
- package/kit/commands/inserir-fase.md +31 -31
- package/kit/commands/legacy.md +263 -263
- package/kit/commands/limpeza.md +17 -17
- package/kit/commands/listar-hipoteses-fase.md +45 -45
- package/kit/commands/listar-workspaces.md +18 -18
- package/kit/commands/load-shedding.md +117 -117
- package/kit/commands/mapear-codebase.md +70 -70
- package/kit/commands/multi-tenant.md +163 -163
- package/kit/commands/nota.md +33 -33
- package/kit/commands/novo-marco.md +43 -43
- package/kit/commands/novo-projeto.md +41 -41
- package/kit/commands/novo-workspace.md +43 -43
- package/kit/commands/pausar-trabalho.md +37 -37
- package/kit/commands/perfil-usuario.md +45 -45
- package/kit/commands/pesquisar-fase.md +195 -195
- package/kit/commands/planejar-fase.md +67 -67
- package/kit/commands/planejar-lacunas.md +33 -33
- package/kit/commands/plantar-ideia.md +25 -25
- package/kit/commands/progresso.md +24 -24
- package/kit/commands/proximo.md +30 -30
- package/kit/commands/publicar.md +490 -490
- package/kit/commands/rapido.md +35 -35
- package/kit/commands/reaplicar-patches.md +124 -124
- package/kit/commands/refactor-seguro.md +321 -321
- package/kit/commands/relatorio-sessao.md +19 -19
- package/kit/commands/remover-fase.md +31 -31
- package/kit/commands/remover-workspace.md +26 -26
- package/kit/commands/resumo-marco.md +50 -50
- package/kit/commands/retomar-trabalho.md +40 -40
- package/kit/commands/revisar-backlog.md +60 -60
- package/kit/commands/revisar-ui.md +32 -32
- package/kit/commands/revisar.md +37 -37
- package/kit/commands/saude.md +21 -21
- package/kit/commands/setup-notion.md +93 -93
- package/kit/commands/storytelling.md +179 -179
- package/kit/commands/sync-main.md +68 -68
- package/kit/commands/validar-fase.md +35 -35
- package/kit/commands/verificar-tarefas.md +44 -44
- package/kit/commands/verificar-trabalho.md +64 -64
- package/kit/file-manifest.json +82 -81
- package/kit/framework/bin/lib/commands.cjs +959 -959
- package/kit/framework/bin/lib/config.cjs +442 -442
- package/kit/framework/bin/lib/core.cjs +1230 -1230
- package/kit/framework/bin/lib/frontmatter.cjs +336 -336
- package/kit/framework/bin/lib/init.cjs +1442 -1442
- package/kit/framework/bin/lib/milestone.cjs +252 -252
- package/kit/framework/bin/lib/model-profiles.cjs +68 -68
- package/kit/framework/bin/lib/phase.cjs +888 -888
- package/kit/framework/bin/lib/profile-output.cjs +952 -952
- package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
- package/kit/framework/bin/lib/roadmap.cjs +329 -329
- package/kit/framework/bin/lib/security.cjs +382 -382
- package/kit/framework/bin/lib/state.cjs +1031 -1031
- package/kit/framework/bin/lib/template.cjs +222 -222
- package/kit/framework/bin/lib/uat.cjs +282 -282
- package/kit/framework/bin/lib/verify.cjs +888 -888
- package/kit/framework/bin/lib/workstream.cjs +491 -491
- package/kit/framework/bin/tools.cjs +918 -918
- package/kit/framework/commands/workstreams.md +63 -63
- package/kit/framework/references/checkpoints.md +778 -778
- package/kit/framework/references/continuation-format.md +249 -249
- package/kit/framework/references/decimal-phase-calculation.md +64 -64
- package/kit/framework/references/git-integration.md +295 -295
- package/kit/framework/references/git-planning-commit.md +38 -38
- package/kit/framework/references/model-profile-resolution.md +36 -36
- package/kit/framework/references/model-profiles.md +139 -139
- package/kit/framework/references/phase-argument-parsing.md +61 -61
- package/kit/framework/references/planning-config.md +202 -202
- package/kit/framework/references/questioning.md +162 -162
- package/kit/framework/references/tdd.md +263 -263
- package/kit/framework/references/ui-brand.md +160 -160
- package/kit/framework/references/user-profiling.md +657 -657
- package/kit/framework/references/verification-patterns.md +612 -612
- package/kit/framework/references/workstream-flag.md +58 -58
- package/kit/framework/templates/DEBUG.md +164 -164
- package/kit/framework/templates/UAT.md +265 -265
- package/kit/framework/templates/UI-SPEC.md +100 -100
- package/kit/framework/templates/VALIDATION.md +76 -76
- package/kit/framework/templates/claude-md.md +122 -122
- package/kit/framework/templates/codebase/architecture.md +185 -185
- package/kit/framework/templates/codebase/concerns.md +205 -205
- package/kit/framework/templates/codebase/conventions.md +204 -204
- package/kit/framework/templates/codebase/integrations.md +192 -192
- package/kit/framework/templates/codebase/stack.md +158 -158
- package/kit/framework/templates/codebase/structure.md +199 -199
- package/kit/framework/templates/codebase/testing.md +301 -301
- package/kit/framework/templates/config.json +44 -44
- package/kit/framework/templates/context.md +352 -352
- package/kit/framework/templates/continue-here.md +78 -78
- package/kit/framework/templates/copilot-instructions.md +7 -7
- package/kit/framework/templates/debug-subagent-prompt.md +91 -91
- package/kit/framework/templates/dev-preferences.md +20 -20
- package/kit/framework/templates/discovery.md +146 -146
- package/kit/framework/templates/discussion-log.md +63 -63
- package/kit/framework/templates/milestone-archive.md +123 -123
- package/kit/framework/templates/milestone.md +115 -115
- package/kit/framework/templates/phase-prompt.md +610 -610
- package/kit/framework/templates/planner-subagent-prompt.md +117 -117
- package/kit/framework/templates/project.md +186 -186
- package/kit/framework/templates/requirements.md +231 -231
- package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
- package/kit/framework/templates/research-project/FEATURES.md +147 -147
- package/kit/framework/templates/research-project/PITFALLS.md +200 -200
- package/kit/framework/templates/research-project/STACK.md +120 -120
- package/kit/framework/templates/research-project/SUMMARY.md +170 -170
- package/kit/framework/templates/research.md +419 -419
- package/kit/framework/templates/retrospective.md +54 -54
- package/kit/framework/templates/roadmap.md +202 -202
- package/kit/framework/templates/state.md +176 -176
- package/kit/framework/templates/summary-complex.md +59 -59
- package/kit/framework/templates/summary-minimal.md +41 -41
- package/kit/framework/templates/summary-standard.md +48 -48
- package/kit/framework/templates/summary.md +209 -209
- package/kit/framework/templates/user-profile.md +146 -146
- package/kit/framework/templates/user-setup.md +256 -256
- package/kit/framework/templates/verification-report.md +258 -258
- package/kit/framework/workflows/add-phase.md +112 -112
- package/kit/framework/workflows/add-tests.md +351 -351
- package/kit/framework/workflows/add-todo.md +158 -158
- package/kit/framework/workflows/audit-milestone.md +340 -340
- package/kit/framework/workflows/audit-uat.md +109 -109
- package/kit/framework/workflows/autonomous.md +891 -891
- package/kit/framework/workflows/check-todos.md +177 -177
- package/kit/framework/workflows/cleanup.md +152 -152
- package/kit/framework/workflows/complete-milestone.md +696 -696
- package/kit/framework/workflows/diagnose-issues.md +231 -231
- package/kit/framework/workflows/discovery-phase.md +289 -289
- package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
- package/kit/framework/workflows/discuss-phase.md +784 -784
- package/kit/framework/workflows/do.md +104 -104
- package/kit/framework/workflows/execute-phase.md +838 -838
- package/kit/framework/workflows/execute-plan.md +510 -510
- package/kit/framework/workflows/fast.md +102 -102
- package/kit/framework/workflows/forensics.md +265 -265
- package/kit/framework/workflows/health.md +181 -181
- package/kit/framework/workflows/help.md +619 -619
- package/kit/framework/workflows/insert-phase.md +130 -130
- package/kit/framework/workflows/list-phase-assumptions.md +178 -178
- package/kit/framework/workflows/list-workspaces.md +56 -56
- package/kit/framework/workflows/manager.md +362 -362
- package/kit/framework/workflows/map-codebase.md +377 -377
- package/kit/framework/workflows/milestone-summary.md +223 -223
- package/kit/framework/workflows/new-milestone.md +486 -486
- package/kit/framework/workflows/new-project.md +1159 -1159
- package/kit/framework/workflows/new-workspace.md +237 -237
- package/kit/framework/workflows/next.md +97 -97
- package/kit/framework/workflows/node-repair.md +92 -92
- package/kit/framework/workflows/note.md +156 -156
- package/kit/framework/workflows/pause-work.md +176 -176
- package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
- package/kit/framework/workflows/plan-phase.md +765 -765
- package/kit/framework/workflows/plant-seed.md +169 -169
- package/kit/framework/workflows/pr-branch.md +129 -129
- package/kit/framework/workflows/profile-user.md +450 -450
- package/kit/framework/workflows/progress.md +507 -507
- package/kit/framework/workflows/quick.md +757 -757
- package/kit/framework/workflows/remove-phase.md +155 -155
- package/kit/framework/workflows/remove-workspace.md +90 -90
- package/kit/framework/workflows/research-phase.md +82 -82
- package/kit/framework/workflows/resume-project.md +326 -326
- package/kit/framework/workflows/review.md +228 -228
- package/kit/framework/workflows/session-report.md +146 -146
- package/kit/framework/workflows/settings.md +283 -283
- package/kit/framework/workflows/ship.md +228 -228
- package/kit/framework/workflows/stats.md +60 -60
- package/kit/framework/workflows/transition.md +671 -671
- package/kit/framework/workflows/ui-phase.md +302 -302
- package/kit/framework/workflows/ui-review.md +165 -165
- package/kit/framework/workflows/update.md +323 -323
- package/kit/framework/workflows/validate-phase.md +174 -174
- package/kit/framework/workflows/verify-phase.md +252 -252
- package/kit/framework/workflows/verify-work.md +637 -637
- package/kit/hooks/check-update.js +118 -118
- package/kit/hooks/context-monitor.js +163 -163
- package/kit/hooks/kit-attribution-reminder.cjs +29 -50
- package/kit/hooks/kit-router.cjs +137 -0
- package/kit/hooks/prompt-guard.js +103 -103
- package/kit/hooks/statusline.js +125 -125
- package/kit/hooks/workflow-guard.js +101 -101
- package/kit/settings.json +45 -45
- package/kit/skills/ai-prompt-characterization/SKILL.md +335 -335
- package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -447
- package/kit/skills/audit-log-multi-tenant/SKILL.md +340 -340
- package/kit/skills/b2b-saas-architecture/SKILL.md +300 -300
- package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -385
- package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +343 -343
- package/kit/skills/escolha-modelo-consistencia/SKILL.md +494 -494
- package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -448
- package/kit/skills/evolution-go-whatsapp-integration/SKILL.md +322 -322
- package/kit/skills/example-skill/SKILL.md +42 -42
- package/kit/skills/legacy-api-only-applications/SKILL.md +358 -358
- package/kit/skills/legacy-characterization-tests/SKILL.md +330 -330
- package/kit/skills/legacy-effect-analysis/SKILL.md +331 -331
- package/kit/skills/legacy-extract-class/SKILL.md +203 -203
- package/kit/skills/legacy-programming-by-difference/SKILL.md +252 -252
- package/kit/skills/legacy-seams-and-test-harness/SKILL.md +460 -460
- package/kit/skills/legacy-shotgun-surgery/SKILL.md +286 -286
- package/kit/skills/legacy-sprout-wrap-techniques/SKILL.md +434 -434
- package/kit/skills/legacy-storytelling-naked-crc/SKILL.md +270 -270
- package/kit/skills/lgpd-multi-tenant-compliance/SKILL.md +340 -340
- package/kit/skills/member-invite-flow/SKILL.md +305 -305
- package/kit/skills/member-management-react-shadcn/SKILL.md +328 -328
- package/kit/skills/multi-tenant-performance-scaling/SKILL.md +316 -316
- package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +342 -342
- package/kit/skills/org-onboarding-flow/SKILL.md +257 -257
- package/kit/skills/org-switcher-react-pattern/SKILL.md +349 -349
- package/kit/skills/permission-gate-react-pattern/SKILL.md +271 -271
- package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -552
- package/kit/skills/pre-refactor-characterization/SKILL.md +421 -421
- package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +338 -338
- package/kit/skills/streams-eventos-cdc/SKILL.md +711 -711
- package/kit/skills/supabase-branching-workflow/SKILL.md +544 -544
- package/kit/skills/supabase-ci-cd-github-actions/SKILL.md +880 -880
- package/kit/skills/supabase-column-level-security/SKILL.md +426 -426
- package/kit/skills/supabase-config-toml-remotes/SKILL.md +807 -807
- package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -472
- package/kit/skills/supabase-edge-functions/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-auth/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-limits/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-mcp-server/SKILL.md +1 -1
- package/kit/skills/supabase-edge-functions-testing/SKILL.md +1 -1
- package/kit/skills/supabase-edge-runtime-builtins/SKILL.md +1 -1
- package/kit/skills/supabase-migration-repair/SKILL.md +823 -823
- package/kit/skills/supabase-migrations/SKILL.md +297 -297
- package/kit/skills/supabase-pgtap-testing/SKILL.md +1053 -1053
- package/kit/skills/supabase-postgres-roles/SKILL.md +392 -392
- package/kit/skills/supabase-realtime/SKILL.md +460 -460
- package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -418
- package/kit/skills/supabase-rls-policies/SKILL.md +635 -635
- package/kit/skills/super-admin-platform-pattern/SKILL.md +326 -326
- package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -605
- package/kit/skills/whatsapp-conversation-state-machine/SKILL.md +287 -287
- package/package.json +1 -1
- package/src/core/kit.js +216 -216
- package/src/core/reflect.js +247 -247
- package/src/core/reverse-sync.js +372 -372
- package/src/core/sync.js +437 -418
- package/src/core/watch.js +121 -121
- package/src/mcp-server/index.js +794 -746
|
@@ -1,295 +1,295 @@
|
|
|
1
|
-
<overview>
|
|
2
|
-
Integração git para o framework.
|
|
3
|
-
</overview>
|
|
4
|
-
|
|
5
|
-
<core_principle>
|
|
6
|
-
|
|
7
|
-
**Commite resultados, não processos.**
|
|
8
|
-
|
|
9
|
-
O log git deve parecer um changelog do que foi lançado, não um diário de atividade de planejamento.
|
|
10
|
-
</core_principle>
|
|
11
|
-
|
|
12
|
-
<commit_points>
|
|
13
|
-
|
|
14
|
-
| Evento | Commitar? | Por quê |
|
|
15
|
-
| ----------------------------- | --------- | -------------------------------------------------- |
|
|
16
|
-
| BRIEF + ROADMAP criados | SIM | Inicialização do projeto |
|
|
17
|
-
| PLAN.md criado | NÃO | Intermediário — commitar com conclusão do plano |
|
|
18
|
-
| RESEARCH.md criado | NÃO | Intermediário |
|
|
19
|
-
| DISCOVERY.md criado | NÃO | Intermediário |
|
|
20
|
-
| **Tarefa concluída** | SIM | Unidade atômica de trabalho (1 commit por tarefa) |
|
|
21
|
-
| **Plano concluído** | SIM | Commit de metadados (SUMMARY + STATE + ROADMAP) |
|
|
22
|
-
| Handoff criado | SIM | Estado WIP preservado |
|
|
23
|
-
|
|
24
|
-
</commit_points>
|
|
25
|
-
|
|
26
|
-
<git_check>
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Se NO_GIT: Execute `git init` silenciosamente. Projetos framework sempre têm seu próprio repositório.
|
|
33
|
-
</git_check>
|
|
34
|
-
|
|
35
|
-
<commit_formats>
|
|
36
|
-
|
|
37
|
-
<format name="initialization">
|
|
38
|
-
## Inicialização do Projeto (brief + roadmap juntos)
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
docs: initialize [nome-do-projeto] ([N] phases)
|
|
42
|
-
|
|
43
|
-
[Linha única do PROJECT.md]
|
|
44
|
-
|
|
45
|
-
Phases:
|
|
46
|
-
1. [nome-da-fase]: [objetivo]
|
|
47
|
-
2. [nome-da-fase]: [objetivo]
|
|
48
|
-
3. [nome-da-fase]: [objetivo]
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
O que commitar:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
node "./.claude/framework/bin/tools.cjs" commit "docs: initialize [nome-do-projeto] ([N] phases)" --files .planning/
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
</format>
|
|
58
|
-
|
|
59
|
-
<format name="task-completion">
|
|
60
|
-
## Conclusão de Tarefa (Durante Execução do Plano)
|
|
61
|
-
|
|
62
|
-
Cada tarefa recebe seu próprio commit imediatamente após a conclusão.
|
|
63
|
-
|
|
64
|
-
> **Agentes paralelos:** Quando executando como executor paralelo (spawnado por execute-phase),
|
|
65
|
-
> use `--no-verify` em todos os commits para evitar contenção de bloqueio de hooks pré-commit.
|
|
66
|
-
> O orquestrador valida os hooks uma vez após todos os agentes concluírem.
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
{tipo}({fase}-{plano}): {nome-da-tarefa}
|
|
70
|
-
|
|
71
|
-
- [Alteração chave 1]
|
|
72
|
-
- [Alteração chave 2]
|
|
73
|
-
- [Alteração chave 3]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**Tipos de commit:**
|
|
77
|
-
- `feat` - Nova funcionalidade/recurso
|
|
78
|
-
- `fix` - Correção de bug
|
|
79
|
-
- `test` - Apenas testes (fase TDD VERMELHO)
|
|
80
|
-
- `refactor` - Limpeza de código (fase TDD REFATORAR)
|
|
81
|
-
- `perf` - Melhoria de desempenho
|
|
82
|
-
- `chore` - Dependências, configuração, ferramental
|
|
83
|
-
|
|
84
|
-
**Exemplos:**
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
# Tarefa padrão
|
|
88
|
-
git add src/api/auth.ts src/types/user.ts
|
|
89
|
-
git commit -m "feat(08-02): create user registration endpoint
|
|
90
|
-
|
|
91
|
-
- POST /auth/register validates email and password
|
|
92
|
-
- Checks for duplicate users
|
|
93
|
-
- Returns JWT token on success
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
# Tarefa TDD - fase VERMELHO
|
|
97
|
-
git add src/__tests__/jwt.test.ts
|
|
98
|
-
git commit -m "test(07-02): add failing test for JWT generation
|
|
99
|
-
|
|
100
|
-
- Tests token contains user ID claim
|
|
101
|
-
- Tests token expires in 1 hour
|
|
102
|
-
- Tests signature verification
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
# Tarefa TDD - fase VERDE
|
|
106
|
-
git add src/utils/jwt.ts
|
|
107
|
-
git commit -m "feat(07-02): implement JWT generation
|
|
108
|
-
|
|
109
|
-
- Uses jose library for signing
|
|
110
|
-
- Includes user ID and expiry claims
|
|
111
|
-
- Signs with HS256 algorithm
|
|
112
|
-
"
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
</format>
|
|
116
|
-
|
|
117
|
-
<format name="plan-completion">
|
|
118
|
-
## Conclusão do Plano (Após Todas as Tarefas Concluídas)
|
|
119
|
-
|
|
120
|
-
Após todas as tarefas commitadas, um commit final de metadados captura a conclusão do plano.
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
docs({fase}-{plano}): complete [nome-do-plano] plan
|
|
124
|
-
|
|
125
|
-
Tasks completed: [N]/[N]
|
|
126
|
-
- [Nome da Tarefa 1]
|
|
127
|
-
- [Nome da Tarefa 2]
|
|
128
|
-
- [Nome da Tarefa 3]
|
|
129
|
-
|
|
130
|
-
SUMMARY: .planning/phases/XX-nome/{fase}-{plano}-SUMMARY.md
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
O que commitar:
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
node "./.claude/framework/bin/tools.cjs" commit "docs({fase}-{plano}): complete [nome-do-plano] plan" --files .planning/phases/XX-nome/{fase}-{plano}-PLAN.md .planning/phases/XX-nome/{fase}-{plano}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Nota:** Arquivos de código NÃO incluídos — já commitados por tarefa.
|
|
140
|
-
|
|
141
|
-
</format>
|
|
142
|
-
|
|
143
|
-
<format name="handoff">
|
|
144
|
-
## Handoff (WIP)
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
wip: [nome-da-fase] paused at task [X]/[Y]
|
|
148
|
-
|
|
149
|
-
Current: [nome da tarefa]
|
|
150
|
-
[Se bloqueado:] Blocked: [motivo]
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
O que commitar:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
node "./.claude/framework/bin/tools.cjs" commit "wip: [nome-da-fase] paused at task [X]/[Y]" --files .planning/
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
</format>
|
|
160
|
-
</commit_formats>
|
|
161
|
-
|
|
162
|
-
<example_log>
|
|
163
|
-
|
|
164
|
-
**Abordagem antiga (commits por plano):**
|
|
165
|
-
```
|
|
166
|
-
a7f2d1 feat(checkout): Stripe payments with webhook verification
|
|
167
|
-
3e9c4b feat(products): catalog with search, filters, and pagination
|
|
168
|
-
8a1b2c feat(auth): JWT with refresh rotation using jose
|
|
169
|
-
5c3d7e feat(foundation): Next.js 15 + Prisma + Tailwind scaffold
|
|
170
|
-
2f4a8d docs: initialize ecommerce-app (5 phases)
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Nova abordagem (commits por tarefa):**
|
|
174
|
-
```
|
|
175
|
-
# Fase 04 - Checkout
|
|
176
|
-
1a2b3c docs(04-01): complete checkout flow plan
|
|
177
|
-
4d5e6f feat(04-01): add webhook signature verification
|
|
178
|
-
7g8h9i feat(04-01): implement payment session creation
|
|
179
|
-
0j1k2l feat(04-01): create checkout page component
|
|
180
|
-
|
|
181
|
-
# Fase 03 - Products
|
|
182
|
-
3m4n5o docs(03-02): complete product listing plan
|
|
183
|
-
6p7q8r feat(03-02): add pagination controls
|
|
184
|
-
9s0t1u feat(03-02): implement search and filters
|
|
185
|
-
2v3w4x feat(03-01): create product catalog schema
|
|
186
|
-
|
|
187
|
-
# Fase 02 - Auth
|
|
188
|
-
5y6z7a docs(02-02): complete token refresh plan
|
|
189
|
-
8b9c0d feat(02-02): implement refresh token rotation
|
|
190
|
-
1e2f3g test(02-02): add failing test for token refresh
|
|
191
|
-
4h5i6j docs(02-01): complete JWT setup plan
|
|
192
|
-
7k8l9m feat(02-01): add JWT generation and validation
|
|
193
|
-
0n1o2p chore(02-01): install jose library
|
|
194
|
-
|
|
195
|
-
# Fase 01 - Foundation
|
|
196
|
-
3q4r5s docs(01-01): complete scaffold plan
|
|
197
|
-
6t7u8v feat(01-01): configure Tailwind and globals
|
|
198
|
-
9w0x1y feat(01-01): set up Prisma with database
|
|
199
|
-
2z3a4b feat(01-01): create Next.js 15 project
|
|
200
|
-
|
|
201
|
-
# Inicialização
|
|
202
|
-
5c6d7e docs: initialize ecommerce-app (5 phases)
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Cada plano produz 2-4 commits (tarefas + metadados). Claro, granular, bisectable.
|
|
206
|
-
|
|
207
|
-
</example_log>
|
|
208
|
-
|
|
209
|
-
<anti_patterns>
|
|
210
|
-
|
|
211
|
-
**Ainda não commitar (artefatos intermediários):**
|
|
212
|
-
- Criação do PLAN.md (commitar com conclusão do plano)
|
|
213
|
-
- RESEARCH.md (intermediário)
|
|
214
|
-
- DISCOVERY.md (intermediário)
|
|
215
|
-
- Ajustes menores de planejamento
|
|
216
|
-
- "Corrigi typo no roadmap"
|
|
217
|
-
|
|
218
|
-
**Commitar (resultados):**
|
|
219
|
-
- Cada conclusão de tarefa (feat/fix/test/refactor)
|
|
220
|
-
- Metadados de conclusão de plano (docs)
|
|
221
|
-
- Inicialização do projeto (docs)
|
|
222
|
-
|
|
223
|
-
**Princípio chave:** Commite código funcionando e resultados lançados, não processo de planejamento.
|
|
224
|
-
|
|
225
|
-
</anti_patterns>
|
|
226
|
-
|
|
227
|
-
<commit_strategy_rationale>
|
|
228
|
-
|
|
229
|
-
## Por Que Commits Por Tarefa?
|
|
230
|
-
|
|
231
|
-
**Engenharia de contexto para IA:**
|
|
232
|
-
- O histórico git torna-se a fonte primária de contexto para sessões futuras do Claude
|
|
233
|
-
- `git log --grep="{fase}-{plano}"` mostra todo o trabalho de um plano
|
|
234
|
-
- `git diff <hash>^..<hash>` mostra as alterações exatas por tarefa
|
|
235
|
-
- Menos dependência de análise do SUMMARY.md = mais contexto para o trabalho real
|
|
236
|
-
|
|
237
|
-
**Recuperação de falha:**
|
|
238
|
-
- Tarefa 1 commitada ✅, Tarefa 2 falhou ❌
|
|
239
|
-
- Claude na próxima sessão: vê tarefa 1 concluída, pode tentar novamente a tarefa 2
|
|
240
|
-
- Pode `git reset --hard` para a última tarefa bem-sucedida
|
|
241
|
-
|
|
242
|
-
**Debugging:**
|
|
243
|
-
- `git bisect` encontra a tarefa exata falhando, não apenas o plano falhando
|
|
244
|
-
- `git blame` rastreia a linha até o contexto específico da tarefa
|
|
245
|
-
- Cada commit é revertível independentemente
|
|
246
|
-
|
|
247
|
-
**Observabilidade:**
|
|
248
|
-
- Workflow de desenvolvedor solo + Claude se beneficia de atribuição granular
|
|
249
|
-
- Commits atômicos são boas práticas de git
|
|
250
|
-
- "Ruído de commit" irrelevante quando o consumidor é o Claude, não humanos
|
|
251
|
-
|
|
252
|
-
</commit_strategy_rationale>
|
|
253
|
-
|
|
254
|
-
<sub_repos_support>
|
|
255
|
-
|
|
256
|
-
## Suporte a Workspace Multi-Repositório (sub_repos)
|
|
257
|
-
|
|
258
|
-
Para workspaces com repositórios git separados (ex: `backend/`, `frontend/`, `shared/`), o framework roteia commits para cada repositório independentemente.
|
|
259
|
-
|
|
260
|
-
### Configuração
|
|
261
|
-
|
|
262
|
-
Em `.planning/config.json`, liste os diretórios de sub-repositório em `planning.sub_repos`:
|
|
263
|
-
|
|
264
|
-
```json
|
|
265
|
-
{
|
|
266
|
-
"planning": {
|
|
267
|
-
"commit_docs": false,
|
|
268
|
-
"sub_repos": ["backend", "frontend", "shared"]
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
Defina `commit_docs: false` para que os docs de planejamento permaneçam locais e não sejam commitados em nenhum sub-repositório.
|
|
274
|
-
|
|
275
|
-
### Como Funciona
|
|
276
|
-
|
|
277
|
-
1. **Auto-detecção:** Durante `/novo-projeto`, diretórios com sua própria pasta `.git` são detectados e oferecidos para seleção como sub-repositórios. Em execuções subsequentes, `loadConfig` sincroniza automaticamente a lista `sub_repos` com o sistema de arquivos — adicionando repositórios recém-criados e removendo os deletados. Isso significa que `config.json` pode ser reescrito automaticamente quando os repositórios mudam no disco.
|
|
278
|
-
2. **Agrupamento de arquivos:** Arquivos de código são agrupados pelo prefixo do sub-repositório (ex: `backend/src/api/users.ts` pertence ao repositório `backend/`).
|
|
279
|
-
3. **Commits independentes:** Cada sub-repositório recebe seu próprio commit atômico via `tools.cjs commit-to-subrepo`. Os caminhos de arquivo são tornados relativos à raiz do sub-repositório antes do staging.
|
|
280
|
-
4. **Planejamento permanece local:** O diretório `.planning/` não é commitado; ele age como coordenação entre repositórios.
|
|
281
|
-
|
|
282
|
-
### Roteamento de Commit
|
|
283
|
-
|
|
284
|
-
Em vez do comando `commit` padrão, use `commit-to-subrepo` quando `sub_repos` estiver configurado:
|
|
285
|
-
|
|
286
|
-
```bash
|
|
287
|
-
node ./.claude/framework/bin/tools.cjs commit-to-subrepo "feat(02-01): add user API" \
|
|
288
|
-
--files backend/src/api/users.ts backend/src/types/user.ts frontend/src/components/UserForm.tsx
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
Isso faz staging de `src/api/users.ts` e `src/types/user.ts` no repositório `backend/`, e `src/components/UserForm.tsx` no repositório `frontend/`, commitando cada um independentemente com a mesma mensagem.
|
|
292
|
-
|
|
293
|
-
Arquivos que não correspondem a nenhum sub-repositório configurado são reportados como sem correspondência.
|
|
294
|
-
|
|
295
|
-
</sub_repos_support>
|
|
1
|
+
<overview>
|
|
2
|
+
Integração git para o framework.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<core_principle>
|
|
6
|
+
|
|
7
|
+
**Commite resultados, não processos.**
|
|
8
|
+
|
|
9
|
+
O log git deve parecer um changelog do que foi lançado, não um diário de atividade de planejamento.
|
|
10
|
+
</core_principle>
|
|
11
|
+
|
|
12
|
+
<commit_points>
|
|
13
|
+
|
|
14
|
+
| Evento | Commitar? | Por quê |
|
|
15
|
+
| ----------------------------- | --------- | -------------------------------------------------- |
|
|
16
|
+
| BRIEF + ROADMAP criados | SIM | Inicialização do projeto |
|
|
17
|
+
| PLAN.md criado | NÃO | Intermediário — commitar com conclusão do plano |
|
|
18
|
+
| RESEARCH.md criado | NÃO | Intermediário |
|
|
19
|
+
| DISCOVERY.md criado | NÃO | Intermediário |
|
|
20
|
+
| **Tarefa concluída** | SIM | Unidade atômica de trabalho (1 commit por tarefa) |
|
|
21
|
+
| **Plano concluído** | SIM | Commit de metadados (SUMMARY + STATE + ROADMAP) |
|
|
22
|
+
| Handoff criado | SIM | Estado WIP preservado |
|
|
23
|
+
|
|
24
|
+
</commit_points>
|
|
25
|
+
|
|
26
|
+
<git_check>
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Se NO_GIT: Execute `git init` silenciosamente. Projetos framework sempre têm seu próprio repositório.
|
|
33
|
+
</git_check>
|
|
34
|
+
|
|
35
|
+
<commit_formats>
|
|
36
|
+
|
|
37
|
+
<format name="initialization">
|
|
38
|
+
## Inicialização do Projeto (brief + roadmap juntos)
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
docs: initialize [nome-do-projeto] ([N] phases)
|
|
42
|
+
|
|
43
|
+
[Linha única do PROJECT.md]
|
|
44
|
+
|
|
45
|
+
Phases:
|
|
46
|
+
1. [nome-da-fase]: [objetivo]
|
|
47
|
+
2. [nome-da-fase]: [objetivo]
|
|
48
|
+
3. [nome-da-fase]: [objetivo]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
O que commitar:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
node "./.claude/framework/bin/tools.cjs" commit "docs: initialize [nome-do-projeto] ([N] phases)" --files .planning/
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
</format>
|
|
58
|
+
|
|
59
|
+
<format name="task-completion">
|
|
60
|
+
## Conclusão de Tarefa (Durante Execução do Plano)
|
|
61
|
+
|
|
62
|
+
Cada tarefa recebe seu próprio commit imediatamente após a conclusão.
|
|
63
|
+
|
|
64
|
+
> **Agentes paralelos:** Quando executando como executor paralelo (spawnado por execute-phase),
|
|
65
|
+
> use `--no-verify` em todos os commits para evitar contenção de bloqueio de hooks pré-commit.
|
|
66
|
+
> O orquestrador valida os hooks uma vez após todos os agentes concluírem.
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
{tipo}({fase}-{plano}): {nome-da-tarefa}
|
|
70
|
+
|
|
71
|
+
- [Alteração chave 1]
|
|
72
|
+
- [Alteração chave 2]
|
|
73
|
+
- [Alteração chave 3]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Tipos de commit:**
|
|
77
|
+
- `feat` - Nova funcionalidade/recurso
|
|
78
|
+
- `fix` - Correção de bug
|
|
79
|
+
- `test` - Apenas testes (fase TDD VERMELHO)
|
|
80
|
+
- `refactor` - Limpeza de código (fase TDD REFATORAR)
|
|
81
|
+
- `perf` - Melhoria de desempenho
|
|
82
|
+
- `chore` - Dependências, configuração, ferramental
|
|
83
|
+
|
|
84
|
+
**Exemplos:**
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Tarefa padrão
|
|
88
|
+
git add src/api/auth.ts src/types/user.ts
|
|
89
|
+
git commit -m "feat(08-02): create user registration endpoint
|
|
90
|
+
|
|
91
|
+
- POST /auth/register validates email and password
|
|
92
|
+
- Checks for duplicate users
|
|
93
|
+
- Returns JWT token on success
|
|
94
|
+
"
|
|
95
|
+
|
|
96
|
+
# Tarefa TDD - fase VERMELHO
|
|
97
|
+
git add src/__tests__/jwt.test.ts
|
|
98
|
+
git commit -m "test(07-02): add failing test for JWT generation
|
|
99
|
+
|
|
100
|
+
- Tests token contains user ID claim
|
|
101
|
+
- Tests token expires in 1 hour
|
|
102
|
+
- Tests signature verification
|
|
103
|
+
"
|
|
104
|
+
|
|
105
|
+
# Tarefa TDD - fase VERDE
|
|
106
|
+
git add src/utils/jwt.ts
|
|
107
|
+
git commit -m "feat(07-02): implement JWT generation
|
|
108
|
+
|
|
109
|
+
- Uses jose library for signing
|
|
110
|
+
- Includes user ID and expiry claims
|
|
111
|
+
- Signs with HS256 algorithm
|
|
112
|
+
"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
</format>
|
|
116
|
+
|
|
117
|
+
<format name="plan-completion">
|
|
118
|
+
## Conclusão do Plano (Após Todas as Tarefas Concluídas)
|
|
119
|
+
|
|
120
|
+
Após todas as tarefas commitadas, um commit final de metadados captura a conclusão do plano.
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
docs({fase}-{plano}): complete [nome-do-plano] plan
|
|
124
|
+
|
|
125
|
+
Tasks completed: [N]/[N]
|
|
126
|
+
- [Nome da Tarefa 1]
|
|
127
|
+
- [Nome da Tarefa 2]
|
|
128
|
+
- [Nome da Tarefa 3]
|
|
129
|
+
|
|
130
|
+
SUMMARY: .planning/phases/XX-nome/{fase}-{plano}-SUMMARY.md
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
O que commitar:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
node "./.claude/framework/bin/tools.cjs" commit "docs({fase}-{plano}): complete [nome-do-plano] plan" --files .planning/phases/XX-nome/{fase}-{plano}-PLAN.md .planning/phases/XX-nome/{fase}-{plano}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Nota:** Arquivos de código NÃO incluídos — já commitados por tarefa.
|
|
140
|
+
|
|
141
|
+
</format>
|
|
142
|
+
|
|
143
|
+
<format name="handoff">
|
|
144
|
+
## Handoff (WIP)
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
wip: [nome-da-fase] paused at task [X]/[Y]
|
|
148
|
+
|
|
149
|
+
Current: [nome da tarefa]
|
|
150
|
+
[Se bloqueado:] Blocked: [motivo]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
O que commitar:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
node "./.claude/framework/bin/tools.cjs" commit "wip: [nome-da-fase] paused at task [X]/[Y]" --files .planning/
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
</format>
|
|
160
|
+
</commit_formats>
|
|
161
|
+
|
|
162
|
+
<example_log>
|
|
163
|
+
|
|
164
|
+
**Abordagem antiga (commits por plano):**
|
|
165
|
+
```
|
|
166
|
+
a7f2d1 feat(checkout): Stripe payments with webhook verification
|
|
167
|
+
3e9c4b feat(products): catalog with search, filters, and pagination
|
|
168
|
+
8a1b2c feat(auth): JWT with refresh rotation using jose
|
|
169
|
+
5c3d7e feat(foundation): Next.js 15 + Prisma + Tailwind scaffold
|
|
170
|
+
2f4a8d docs: initialize ecommerce-app (5 phases)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Nova abordagem (commits por tarefa):**
|
|
174
|
+
```
|
|
175
|
+
# Fase 04 - Checkout
|
|
176
|
+
1a2b3c docs(04-01): complete checkout flow plan
|
|
177
|
+
4d5e6f feat(04-01): add webhook signature verification
|
|
178
|
+
7g8h9i feat(04-01): implement payment session creation
|
|
179
|
+
0j1k2l feat(04-01): create checkout page component
|
|
180
|
+
|
|
181
|
+
# Fase 03 - Products
|
|
182
|
+
3m4n5o docs(03-02): complete product listing plan
|
|
183
|
+
6p7q8r feat(03-02): add pagination controls
|
|
184
|
+
9s0t1u feat(03-02): implement search and filters
|
|
185
|
+
2v3w4x feat(03-01): create product catalog schema
|
|
186
|
+
|
|
187
|
+
# Fase 02 - Auth
|
|
188
|
+
5y6z7a docs(02-02): complete token refresh plan
|
|
189
|
+
8b9c0d feat(02-02): implement refresh token rotation
|
|
190
|
+
1e2f3g test(02-02): add failing test for token refresh
|
|
191
|
+
4h5i6j docs(02-01): complete JWT setup plan
|
|
192
|
+
7k8l9m feat(02-01): add JWT generation and validation
|
|
193
|
+
0n1o2p chore(02-01): install jose library
|
|
194
|
+
|
|
195
|
+
# Fase 01 - Foundation
|
|
196
|
+
3q4r5s docs(01-01): complete scaffold plan
|
|
197
|
+
6t7u8v feat(01-01): configure Tailwind and globals
|
|
198
|
+
9w0x1y feat(01-01): set up Prisma with database
|
|
199
|
+
2z3a4b feat(01-01): create Next.js 15 project
|
|
200
|
+
|
|
201
|
+
# Inicialização
|
|
202
|
+
5c6d7e docs: initialize ecommerce-app (5 phases)
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Cada plano produz 2-4 commits (tarefas + metadados). Claro, granular, bisectable.
|
|
206
|
+
|
|
207
|
+
</example_log>
|
|
208
|
+
|
|
209
|
+
<anti_patterns>
|
|
210
|
+
|
|
211
|
+
**Ainda não commitar (artefatos intermediários):**
|
|
212
|
+
- Criação do PLAN.md (commitar com conclusão do plano)
|
|
213
|
+
- RESEARCH.md (intermediário)
|
|
214
|
+
- DISCOVERY.md (intermediário)
|
|
215
|
+
- Ajustes menores de planejamento
|
|
216
|
+
- "Corrigi typo no roadmap"
|
|
217
|
+
|
|
218
|
+
**Commitar (resultados):**
|
|
219
|
+
- Cada conclusão de tarefa (feat/fix/test/refactor)
|
|
220
|
+
- Metadados de conclusão de plano (docs)
|
|
221
|
+
- Inicialização do projeto (docs)
|
|
222
|
+
|
|
223
|
+
**Princípio chave:** Commite código funcionando e resultados lançados, não processo de planejamento.
|
|
224
|
+
|
|
225
|
+
</anti_patterns>
|
|
226
|
+
|
|
227
|
+
<commit_strategy_rationale>
|
|
228
|
+
|
|
229
|
+
## Por Que Commits Por Tarefa?
|
|
230
|
+
|
|
231
|
+
**Engenharia de contexto para IA:**
|
|
232
|
+
- O histórico git torna-se a fonte primária de contexto para sessões futuras do Claude
|
|
233
|
+
- `git log --grep="{fase}-{plano}"` mostra todo o trabalho de um plano
|
|
234
|
+
- `git diff <hash>^..<hash>` mostra as alterações exatas por tarefa
|
|
235
|
+
- Menos dependência de análise do SUMMARY.md = mais contexto para o trabalho real
|
|
236
|
+
|
|
237
|
+
**Recuperação de falha:**
|
|
238
|
+
- Tarefa 1 commitada ✅, Tarefa 2 falhou ❌
|
|
239
|
+
- Claude na próxima sessão: vê tarefa 1 concluída, pode tentar novamente a tarefa 2
|
|
240
|
+
- Pode `git reset --hard` para a última tarefa bem-sucedida
|
|
241
|
+
|
|
242
|
+
**Debugging:**
|
|
243
|
+
- `git bisect` encontra a tarefa exata falhando, não apenas o plano falhando
|
|
244
|
+
- `git blame` rastreia a linha até o contexto específico da tarefa
|
|
245
|
+
- Cada commit é revertível independentemente
|
|
246
|
+
|
|
247
|
+
**Observabilidade:**
|
|
248
|
+
- Workflow de desenvolvedor solo + Claude se beneficia de atribuição granular
|
|
249
|
+
- Commits atômicos são boas práticas de git
|
|
250
|
+
- "Ruído de commit" irrelevante quando o consumidor é o Claude, não humanos
|
|
251
|
+
|
|
252
|
+
</commit_strategy_rationale>
|
|
253
|
+
|
|
254
|
+
<sub_repos_support>
|
|
255
|
+
|
|
256
|
+
## Suporte a Workspace Multi-Repositório (sub_repos)
|
|
257
|
+
|
|
258
|
+
Para workspaces com repositórios git separados (ex: `backend/`, `frontend/`, `shared/`), o framework roteia commits para cada repositório independentemente.
|
|
259
|
+
|
|
260
|
+
### Configuração
|
|
261
|
+
|
|
262
|
+
Em `.planning/config.json`, liste os diretórios de sub-repositório em `planning.sub_repos`:
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"planning": {
|
|
267
|
+
"commit_docs": false,
|
|
268
|
+
"sub_repos": ["backend", "frontend", "shared"]
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Defina `commit_docs: false` para que os docs de planejamento permaneçam locais e não sejam commitados em nenhum sub-repositório.
|
|
274
|
+
|
|
275
|
+
### Como Funciona
|
|
276
|
+
|
|
277
|
+
1. **Auto-detecção:** Durante `/novo-projeto`, diretórios com sua própria pasta `.git` são detectados e oferecidos para seleção como sub-repositórios. Em execuções subsequentes, `loadConfig` sincroniza automaticamente a lista `sub_repos` com o sistema de arquivos — adicionando repositórios recém-criados e removendo os deletados. Isso significa que `config.json` pode ser reescrito automaticamente quando os repositórios mudam no disco.
|
|
278
|
+
2. **Agrupamento de arquivos:** Arquivos de código são agrupados pelo prefixo do sub-repositório (ex: `backend/src/api/users.ts` pertence ao repositório `backend/`).
|
|
279
|
+
3. **Commits independentes:** Cada sub-repositório recebe seu próprio commit atômico via `tools.cjs commit-to-subrepo`. Os caminhos de arquivo são tornados relativos à raiz do sub-repositório antes do staging.
|
|
280
|
+
4. **Planejamento permanece local:** O diretório `.planning/` não é commitado; ele age como coordenação entre repositórios.
|
|
281
|
+
|
|
282
|
+
### Roteamento de Commit
|
|
283
|
+
|
|
284
|
+
Em vez do comando `commit` padrão, use `commit-to-subrepo` quando `sub_repos` estiver configurado:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
node ./.claude/framework/bin/tools.cjs commit-to-subrepo "feat(02-01): add user API" \
|
|
288
|
+
--files backend/src/api/users.ts backend/src/types/user.ts frontend/src/components/UserForm.tsx
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Isso faz staging de `src/api/users.ts` e `src/types/user.ts` no repositório `backend/`, e `src/components/UserForm.tsx` no repositório `frontend/`, commitando cada um independentemente com a mesma mensagem.
|
|
292
|
+
|
|
293
|
+
Arquivos que não correspondem a nenhum sub-repositório configurado são reportados como sem correspondência.
|
|
294
|
+
|
|
295
|
+
</sub_repos_support>
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
# Commit de Planejamento Git
|
|
2
|
-
|
|
3
|
-
Commite artefatos de planejamento usando o CLI tools, que verifica automaticamente a configuração `commit_docs` e o status do gitignore.
|
|
4
|
-
|
|
5
|
-
## Commit via CLI
|
|
6
|
-
|
|
7
|
-
Sempre use `tools.cjs commit` para arquivos `.planning/` — ele trata `commit_docs` e verificações do gitignore automaticamente:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
node "./.claude/framework/bin/tools.cjs" commit "docs({scope}): {descrição}" --files .planning/STATE.md .planning/ROADMAP.md
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
O CLI retornará `skipped` (com motivo) se `commit_docs` for `false` ou `.planning/` estiver no gitignore. Não são necessárias verificações condicionais manuais.
|
|
14
|
-
|
|
15
|
-
## Emenda do Commit Anterior
|
|
16
|
-
|
|
17
|
-
Para incorporar alterações de arquivos `.planning/` no commit anterior:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
node "./.claude/framework/bin/tools.cjs" commit "" --files .planning/codebase/*.md --amend
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Padrões de Mensagem de Commit
|
|
24
|
-
|
|
25
|
-
| Comando | Escopo | Exemplo |
|
|
26
|
-
|---------|--------|---------|
|
|
27
|
-
| planejar-fase | fase | `docs(phase-03): create authentication plans` |
|
|
28
|
-
| executar-fase | fase | `docs(phase-03): complete authentication phase` |
|
|
29
|
-
| novo-marco | marco | `docs: start milestone v1.1` |
|
|
30
|
-
| remover-fase | chore | `chore: remove phase 17 (dashboard)` |
|
|
31
|
-
| inserir-fase | fase | `docs: insert phase 16.1 (critical fix)` |
|
|
32
|
-
| adicionar-fase | fase | `docs: add phase 07 (settings page)` |
|
|
33
|
-
|
|
34
|
-
## Quando Pular
|
|
35
|
-
|
|
36
|
-
- `commit_docs: false` no config
|
|
37
|
-
- `.planning/` está no gitignore
|
|
38
|
-
- Nenhuma alteração a commitar (verifique com `git status --porcelain .planning/`)
|
|
1
|
+
# Commit de Planejamento Git
|
|
2
|
+
|
|
3
|
+
Commite artefatos de planejamento usando o CLI tools, que verifica automaticamente a configuração `commit_docs` e o status do gitignore.
|
|
4
|
+
|
|
5
|
+
## Commit via CLI
|
|
6
|
+
|
|
7
|
+
Sempre use `tools.cjs commit` para arquivos `.planning/` — ele trata `commit_docs` e verificações do gitignore automaticamente:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
node "./.claude/framework/bin/tools.cjs" commit "docs({scope}): {descrição}" --files .planning/STATE.md .planning/ROADMAP.md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
O CLI retornará `skipped` (com motivo) se `commit_docs` for `false` ou `.planning/` estiver no gitignore. Não são necessárias verificações condicionais manuais.
|
|
14
|
+
|
|
15
|
+
## Emenda do Commit Anterior
|
|
16
|
+
|
|
17
|
+
Para incorporar alterações de arquivos `.planning/` no commit anterior:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node "./.claude/framework/bin/tools.cjs" commit "" --files .planning/codebase/*.md --amend
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Padrões de Mensagem de Commit
|
|
24
|
+
|
|
25
|
+
| Comando | Escopo | Exemplo |
|
|
26
|
+
|---------|--------|---------|
|
|
27
|
+
| planejar-fase | fase | `docs(phase-03): create authentication plans` |
|
|
28
|
+
| executar-fase | fase | `docs(phase-03): complete authentication phase` |
|
|
29
|
+
| novo-marco | marco | `docs: start milestone v1.1` |
|
|
30
|
+
| remover-fase | chore | `chore: remove phase 17 (dashboard)` |
|
|
31
|
+
| inserir-fase | fase | `docs: insert phase 16.1 (critical fix)` |
|
|
32
|
+
| adicionar-fase | fase | `docs: add phase 07 (settings page)` |
|
|
33
|
+
|
|
34
|
+
## Quando Pular
|
|
35
|
+
|
|
36
|
+
- `commit_docs: false` no config
|
|
37
|
+
- `.planning/` está no gitignore
|
|
38
|
+
- Nenhuma alteração a commitar (verifique com `git status --porcelain .planning/`)
|