@luanpdd/kit-mcp 1.19.0 → 1.20.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.
Files changed (231) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +648 -648
  3. package/kit/COMANDOS.md +138 -138
  4. package/kit/README.md +52 -52
  5. package/kit/agents/advisor-researcher.md +106 -106
  6. package/kit/agents/assumptions-analyzer.md +107 -107
  7. package/kit/agents/codebase-mapper.md +768 -768
  8. package/kit/agents/debugger.md +772 -772
  9. package/kit/agents/example-reviewer.md +21 -21
  10. package/kit/agents/executor.md +523 -523
  11. package/kit/agents/integration-checker.md +200 -200
  12. package/kit/agents/nyquist-auditor.md +178 -178
  13. package/kit/agents/phase-researcher.md +696 -696
  14. package/kit/agents/plan-checker.md +272 -272
  15. package/kit/agents/planner.md +891 -891
  16. package/kit/agents/project-researcher.md +652 -652
  17. package/kit/agents/research-synthesizer.md +245 -245
  18. package/kit/agents/roadmapper.md +677 -677
  19. package/kit/agents/ui-auditor.md +437 -437
  20. package/kit/agents/ui-checker.md +302 -302
  21. package/kit/agents/ui-researcher.md +355 -355
  22. package/kit/agents/user-profiler.md +175 -175
  23. package/kit/agents/verifier.md +728 -728
  24. package/kit/commands/adicionar-backlog.md +75 -75
  25. package/kit/commands/adicionar-fase.md +42 -42
  26. package/kit/commands/adicionar-tarefa.md +45 -45
  27. package/kit/commands/adicionar-testes.md +41 -41
  28. package/kit/commands/ajuda.md +21 -21
  29. package/kit/commands/atualizar.md +37 -37
  30. package/kit/commands/auditar-marco.md +179 -179
  31. package/kit/commands/auditar-uat.md +23 -23
  32. package/kit/commands/autonomo.md +40 -40
  33. package/kit/commands/branch-pr.md +24 -24
  34. package/kit/commands/burn-rate-status.md +237 -121
  35. package/kit/commands/concluir-marco.md +247 -247
  36. package/kit/commands/configuracoes.md +36 -36
  37. package/kit/commands/definir-perfil.md +10 -10
  38. package/kit/commands/depurar.md +190 -190
  39. package/kit/commands/discutir-fase.md +131 -131
  40. package/kit/commands/entrar-discord.md +17 -17
  41. package/kit/commands/estatisticas.md +18 -18
  42. package/kit/commands/example-greeting.md +33 -33
  43. package/kit/commands/executar-fase.md +58 -58
  44. package/kit/commands/expresso.md +56 -56
  45. package/kit/commands/fase-ui.md +34 -34
  46. package/kit/commands/fazer.md +57 -57
  47. package/kit/commands/fio.md +125 -125
  48. package/kit/commands/fluxos-trabalho.md +64 -64
  49. package/kit/commands/forense.md +176 -176
  50. package/kit/commands/gerenciador.md +38 -38
  51. package/kit/commands/inserir-fase.md +31 -31
  52. package/kit/commands/limpeza.md +17 -17
  53. package/kit/commands/listar-hipoteses-fase.md +45 -45
  54. package/kit/commands/listar-workspaces.md +18 -18
  55. package/kit/commands/mapear-codebase.md +70 -70
  56. package/kit/commands/nota.md +33 -33
  57. package/kit/commands/novo-marco.md +43 -43
  58. package/kit/commands/novo-projeto.md +41 -41
  59. package/kit/commands/novo-workspace.md +43 -43
  60. package/kit/commands/pausar-trabalho.md +37 -37
  61. package/kit/commands/perfil-usuario.md +45 -45
  62. package/kit/commands/pesquisar-fase.md +195 -195
  63. package/kit/commands/planejar-fase.md +67 -67
  64. package/kit/commands/planejar-lacunas.md +33 -33
  65. package/kit/commands/plantar-ideia.md +25 -25
  66. package/kit/commands/progresso.md +24 -24
  67. package/kit/commands/proximo.md +30 -30
  68. package/kit/commands/publicar.md +490 -490
  69. package/kit/commands/rapido.md +35 -35
  70. package/kit/commands/reaplicar-patches.md +124 -124
  71. package/kit/commands/relatorio-sessao.md +19 -19
  72. package/kit/commands/remover-fase.md +31 -31
  73. package/kit/commands/remover-workspace.md +26 -26
  74. package/kit/commands/resumo-marco.md +50 -50
  75. package/kit/commands/retomar-trabalho.md +40 -40
  76. package/kit/commands/revisar-backlog.md +60 -60
  77. package/kit/commands/revisar-ui.md +32 -32
  78. package/kit/commands/revisar.md +37 -37
  79. package/kit/commands/saude.md +21 -21
  80. package/kit/commands/setup-notion.md +93 -93
  81. package/kit/commands/sync-main.md +68 -68
  82. package/kit/commands/validar-fase.md +35 -35
  83. package/kit/commands/verificar-tarefas.md +44 -44
  84. package/kit/commands/verificar-trabalho.md +64 -64
  85. package/kit/file-manifest.json +3 -3
  86. package/kit/framework/bin/lib/commands.cjs +959 -959
  87. package/kit/framework/bin/lib/config.cjs +442 -442
  88. package/kit/framework/bin/lib/core.cjs +1230 -1230
  89. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  90. package/kit/framework/bin/lib/init.cjs +1442 -1442
  91. package/kit/framework/bin/lib/milestone.cjs +252 -252
  92. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  93. package/kit/framework/bin/lib/phase.cjs +888 -888
  94. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  95. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  96. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  97. package/kit/framework/bin/lib/security.cjs +382 -382
  98. package/kit/framework/bin/lib/state.cjs +1031 -1031
  99. package/kit/framework/bin/lib/template.cjs +222 -222
  100. package/kit/framework/bin/lib/uat.cjs +282 -282
  101. package/kit/framework/bin/lib/verify.cjs +888 -888
  102. package/kit/framework/bin/lib/workstream.cjs +491 -491
  103. package/kit/framework/bin/tools.cjs +918 -918
  104. package/kit/framework/commands/workstreams.md +63 -63
  105. package/kit/framework/references/checkpoints.md +778 -778
  106. package/kit/framework/references/continuation-format.md +249 -249
  107. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  108. package/kit/framework/references/git-integration.md +295 -295
  109. package/kit/framework/references/git-planning-commit.md +38 -38
  110. package/kit/framework/references/model-profile-resolution.md +36 -36
  111. package/kit/framework/references/model-profiles.md +139 -139
  112. package/kit/framework/references/phase-argument-parsing.md +61 -61
  113. package/kit/framework/references/planning-config.md +202 -202
  114. package/kit/framework/references/questioning.md +162 -162
  115. package/kit/framework/references/tdd.md +263 -263
  116. package/kit/framework/references/ui-brand.md +160 -160
  117. package/kit/framework/references/user-profiling.md +657 -657
  118. package/kit/framework/references/verification-patterns.md +612 -612
  119. package/kit/framework/references/workstream-flag.md +58 -58
  120. package/kit/framework/templates/DEBUG.md +164 -164
  121. package/kit/framework/templates/UAT.md +265 -265
  122. package/kit/framework/templates/UI-SPEC.md +100 -100
  123. package/kit/framework/templates/VALIDATION.md +76 -76
  124. package/kit/framework/templates/claude-md.md +122 -122
  125. package/kit/framework/templates/codebase/architecture.md +185 -185
  126. package/kit/framework/templates/codebase/concerns.md +205 -205
  127. package/kit/framework/templates/codebase/conventions.md +204 -204
  128. package/kit/framework/templates/codebase/integrations.md +192 -192
  129. package/kit/framework/templates/codebase/stack.md +158 -158
  130. package/kit/framework/templates/codebase/structure.md +199 -199
  131. package/kit/framework/templates/codebase/testing.md +301 -301
  132. package/kit/framework/templates/config.json +44 -44
  133. package/kit/framework/templates/context.md +352 -352
  134. package/kit/framework/templates/continue-here.md +78 -78
  135. package/kit/framework/templates/copilot-instructions.md +7 -7
  136. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  137. package/kit/framework/templates/dev-preferences.md +20 -20
  138. package/kit/framework/templates/discovery.md +146 -146
  139. package/kit/framework/templates/discussion-log.md +63 -63
  140. package/kit/framework/templates/milestone-archive.md +123 -123
  141. package/kit/framework/templates/milestone.md +115 -115
  142. package/kit/framework/templates/phase-prompt.md +610 -610
  143. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  144. package/kit/framework/templates/project.md +186 -186
  145. package/kit/framework/templates/requirements.md +231 -231
  146. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  147. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  148. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  149. package/kit/framework/templates/research-project/STACK.md +120 -120
  150. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  151. package/kit/framework/templates/research.md +419 -419
  152. package/kit/framework/templates/retrospective.md +54 -54
  153. package/kit/framework/templates/roadmap.md +202 -202
  154. package/kit/framework/templates/state.md +176 -176
  155. package/kit/framework/templates/summary-complex.md +59 -59
  156. package/kit/framework/templates/summary-minimal.md +41 -41
  157. package/kit/framework/templates/summary-standard.md +48 -48
  158. package/kit/framework/templates/summary.md +209 -209
  159. package/kit/framework/templates/user-profile.md +146 -146
  160. package/kit/framework/templates/user-setup.md +256 -256
  161. package/kit/framework/templates/verification-report.md +258 -258
  162. package/kit/framework/workflows/add-phase.md +112 -112
  163. package/kit/framework/workflows/add-tests.md +351 -351
  164. package/kit/framework/workflows/add-todo.md +158 -158
  165. package/kit/framework/workflows/audit-milestone.md +340 -340
  166. package/kit/framework/workflows/audit-uat.md +109 -109
  167. package/kit/framework/workflows/autonomous.md +891 -891
  168. package/kit/framework/workflows/check-todos.md +177 -177
  169. package/kit/framework/workflows/cleanup.md +152 -152
  170. package/kit/framework/workflows/complete-milestone.md +696 -696
  171. package/kit/framework/workflows/diagnose-issues.md +231 -231
  172. package/kit/framework/workflows/discovery-phase.md +289 -289
  173. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  174. package/kit/framework/workflows/discuss-phase.md +784 -784
  175. package/kit/framework/workflows/do.md +104 -104
  176. package/kit/framework/workflows/execute-phase.md +838 -838
  177. package/kit/framework/workflows/execute-plan.md +510 -510
  178. package/kit/framework/workflows/fast.md +102 -102
  179. package/kit/framework/workflows/forensics.md +265 -265
  180. package/kit/framework/workflows/health.md +181 -181
  181. package/kit/framework/workflows/help.md +619 -619
  182. package/kit/framework/workflows/insert-phase.md +130 -130
  183. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  184. package/kit/framework/workflows/list-workspaces.md +56 -56
  185. package/kit/framework/workflows/manager.md +362 -362
  186. package/kit/framework/workflows/map-codebase.md +377 -377
  187. package/kit/framework/workflows/milestone-summary.md +223 -223
  188. package/kit/framework/workflows/new-milestone.md +486 -486
  189. package/kit/framework/workflows/new-project.md +1159 -1159
  190. package/kit/framework/workflows/new-workspace.md +237 -237
  191. package/kit/framework/workflows/next.md +97 -97
  192. package/kit/framework/workflows/node-repair.md +92 -92
  193. package/kit/framework/workflows/note.md +156 -156
  194. package/kit/framework/workflows/pause-work.md +176 -176
  195. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  196. package/kit/framework/workflows/plan-phase.md +765 -765
  197. package/kit/framework/workflows/plant-seed.md +169 -169
  198. package/kit/framework/workflows/pr-branch.md +129 -129
  199. package/kit/framework/workflows/profile-user.md +450 -450
  200. package/kit/framework/workflows/progress.md +507 -507
  201. package/kit/framework/workflows/quick.md +757 -757
  202. package/kit/framework/workflows/remove-phase.md +155 -155
  203. package/kit/framework/workflows/remove-workspace.md +90 -90
  204. package/kit/framework/workflows/research-phase.md +82 -82
  205. package/kit/framework/workflows/resume-project.md +326 -326
  206. package/kit/framework/workflows/review.md +228 -228
  207. package/kit/framework/workflows/session-report.md +146 -146
  208. package/kit/framework/workflows/settings.md +283 -283
  209. package/kit/framework/workflows/ship.md +228 -228
  210. package/kit/framework/workflows/stats.md +60 -60
  211. package/kit/framework/workflows/transition.md +671 -671
  212. package/kit/framework/workflows/ui-phase.md +302 -302
  213. package/kit/framework/workflows/ui-review.md +165 -165
  214. package/kit/framework/workflows/update.md +323 -323
  215. package/kit/framework/workflows/validate-phase.md +174 -174
  216. package/kit/framework/workflows/verify-phase.md +252 -252
  217. package/kit/framework/workflows/verify-work.md +637 -637
  218. package/kit/hooks/check-update.js +118 -118
  219. package/kit/hooks/context-monitor.js +163 -163
  220. package/kit/hooks/prompt-guard.js +103 -103
  221. package/kit/hooks/statusline.js +125 -125
  222. package/kit/hooks/workflow-guard.js +101 -101
  223. package/kit/settings.json +45 -45
  224. package/kit/skills/example-skill/SKILL.md +42 -42
  225. package/package.json +63 -59
  226. package/src/core/kit.js +216 -216
  227. package/src/core/reflect.js +247 -247
  228. package/src/core/reverse-sync.js +372 -372
  229. package/src/core/sync.js +418 -418
  230. package/src/core/watch.js +121 -121
  231. package/src/mcp-server/index.js +34 -3
@@ -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/`)