@luanpdd/kit-mcp 1.18.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 (232) 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 +338 -70
  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/metrics.js +135 -10
  228. package/src/core/reflect.js +247 -247
  229. package/src/core/reverse-sync.js +372 -372
  230. package/src/core/sync.js +418 -418
  231. package/src/core/watch.js +121 -121
  232. package/src/mcp-server/index.js +34 -3
@@ -1,202 +1,202 @@
1
- <planning_config>
2
-
3
- Opções de configuração para o comportamento do diretório `.planning/`.
4
-
5
- <config_schema>
6
- ```json
7
- "planning": {
8
- "commit_docs": true,
9
- "search_gitignored": false
10
- },
11
- "git": {
12
- "branching_strategy": "none",
13
- "phase_branch_template": "framework/phase-{phase}-{slug}",
14
- "milestone_branch_template": "framework/{milestone}-{slug}",
15
- "quick_branch_template": null
16
- }
17
- ```
18
-
19
- | Opção | Padrão | Descrição |
20
- |-------|--------|-----------|
21
- | `commit_docs` | `true` | Se deve commitar artefatos de planejamento no git |
22
- | `search_gitignored` | `false` | Adicionar `--no-ignore` a buscas amplas com rg |
23
- | `git.branching_strategy` | `"none"` | Abordagem de branching git: `"none"`, `"phase"`, ou `"milestone"` |
24
- | `git.phase_branch_template` | `"framework/phase-{phase}-{slug}"` | Template de branch para estratégia phase |
25
- | `git.milestone_branch_template` | `"framework/{milestone}-{slug}"` | Template de branch para estratégia milestone |
26
- | `git.quick_branch_template` | `null` | Template de branch opcional para execuções de tarefa rápida |
27
- </config_schema>
28
-
29
- <commit_docs_behavior>
30
-
31
- **Quando `commit_docs: true` (padrão):**
32
- - Arquivos de planejamento commitados normalmente
33
- - SUMMARY.md, STATE.md, ROADMAP.md rastreados no git
34
- - Histórico completo de decisões de planejamento preservado
35
-
36
- **Quando `commit_docs: false`:**
37
- - Pular todos os `git add`/`git commit` para arquivos `.planning/`
38
- - O usuário deve adicionar `.planning/` ao `.gitignore`
39
- - Útil para: contribuições OSS, projetos de clientes, manter o planejamento privado
40
-
41
- **Usando tools.cjs (preferido):**
42
-
43
- ```bash
44
- # Commit com verificações automáticas de commit_docs + gitignore:
45
- node "./.claude/framework/bin/tools.cjs" commit "docs: update state" --files .planning/STATE.md
46
-
47
- # Carregar config via state load (retorna JSON):
48
- INIT=$(node "./.claude/framework/bin/tools.cjs" state load)
49
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
50
- # commit_docs está disponível na saída JSON
51
-
52
- # Ou use comandos init que incluem commit_docs:
53
- INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
54
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
55
- # commit_docs está incluído em todas as saídas de comandos init
56
- ```
57
-
58
- **Auto-detecção:** Se `.planning/` estiver no gitignore, `commit_docs` é automaticamente `false` independentemente do config.json. Isso evita erros de git quando usuários têm `.planning/` no `.gitignore`.
59
-
60
- **Commit via CLI (trata verificações automaticamente):**
61
-
62
- ```bash
63
- node "./.claude/framework/bin/tools.cjs" commit "docs: update state" --files .planning/STATE.md
64
- ```
65
-
66
- O CLI verifica a configuração `commit_docs` e o status do gitignore internamente — sem condicionais manuais.
67
-
68
- </commit_docs_behavior>
69
-
70
- <search_behavior>
71
-
72
- **Quando `search_gitignored: false` (padrão):**
73
- - Comportamento padrão do rg (respeita .gitignore)
74
- - Buscas por caminho direto funcionam: `rg "padrão" .planning/` encontra arquivos
75
- - Buscas amplas pulam ignorados: `rg "padrão"` pula `.planning/`
76
-
77
- **Quando `search_gitignored: true`:**
78
- - Adicionar `--no-ignore` a buscas amplas com rg que devem incluir `.planning/`
79
- - Necessário apenas ao buscar em todo o repositório e esperando correspondências em `.planning/`
80
-
81
- **Nota:** A maioria das operações framework usa leituras diretas de arquivo ou caminhos explícitos, que funcionam independentemente do status do gitignore.
82
-
83
- </search_behavior>
84
-
85
- <setup_uncommitted_mode>
86
-
87
- Para usar o modo não-commitado:
88
-
89
- 1. **Defina o config:**
90
- ```json
91
- "planning": {
92
- "commit_docs": false,
93
- "search_gitignored": true
94
- }
95
- ```
96
-
97
- 2. **Adicione ao .gitignore:**
98
- ```
99
- .planning/
100
- ```
101
-
102
- 3. **Arquivos rastreados existentes:** Se `.planning/` foi rastreado anteriormente:
103
- ```bash
104
- git rm -r --cached .planning/
105
- git commit -m "chore: stop tracking planning docs"
106
- ```
107
-
108
- 4. **Merges de branch:** Ao usar `branching_strategy: phase` ou `milestone`, o workflow `complete-milestone` remove automaticamente arquivos `.planning/` do staging antes de commits de merge quando `commit_docs: false`.
109
-
110
- </setup_uncommitted_mode>
111
-
112
- <branching_strategy_behavior>
113
-
114
- **Estratégias de Branching:**
115
-
116
- | Estratégia | Quando o branch é criado | Escopo do branch | Ponto de merge |
117
- |------------|--------------------------|------------------|----------------|
118
- | `none` | Nunca | N/A | N/A |
119
- | `phase` | No início do `execute-phase` | Fase única | Usuário faz merge após a fase |
120
- | `milestone` | No primeiro `execute-phase` do marco | Marco inteiro | Em `complete-milestone` |
121
-
122
- **Quando `git.branching_strategy: "none"` (padrão):**
123
- - Todo o trabalho commita para o branch atual
124
- - Comportamento padrão do framework
125
-
126
- **Quando `git.branching_strategy: "phase"`:**
127
- - `execute-phase` cria/alterna para um branch antes da execução
128
- - Nome do branch a partir de `phase_branch_template` (ex: `framework/phase-03-authentication`)
129
- - Todos os commits do plano vão para aquele branch
130
- - Usuário faz merge dos branches manualmente após a conclusão da fase
131
- - `complete-milestone` oferece fazer merge de todos os branches de fase
132
-
133
- **Quando `git.branching_strategy: "milestone"`:**
134
- - O primeiro `execute-phase` do marco cria o branch do marco
135
- - Nome do branch a partir de `milestone_branch_template` (ex: `framework/v1.0-mvp`)
136
- - Todas as fases do marco commitam para o mesmo branch
137
- - `complete-milestone` oferece fazer merge do branch do marco para main
138
-
139
- **Variáveis de template:**
140
-
141
- | Variável | Disponível em | Descrição |
142
- |----------|---------------|-----------|
143
- | `{phase}` | phase_branch_template | Número de fase com zero à esquerda (ex: "03") |
144
- | `{slug}` | Ambos | Nome em minúsculas com hífens |
145
- | `{milestone}` | milestone_branch_template | Versão do marco (ex: "v1.0") |
146
-
147
- **Verificando o config:**
148
-
149
- Use `init execute-phase` que retorna toda a config como JSON:
150
- ```bash
151
- INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
152
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
153
- # Saída JSON inclui: branching_strategy, phase_branch_template, milestone_branch_template
154
- ```
155
-
156
- Ou use `state load` para os valores de config:
157
- ```bash
158
- INIT=$(node "./.claude/framework/bin/tools.cjs" state load)
159
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
160
- # Analise branching_strategy, phase_branch_template, milestone_branch_template do JSON
161
- ```
162
-
163
- **Criação de branch:**
164
-
165
- ```bash
166
- # Para estratégia phase
167
- if [ "$BRANCHING_STRATEGY" = "phase" ]; then
168
- PHASE_SLUG=$(echo "$PHASE_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
169
- BRANCH_NAME=$(echo "$PHASE_BRANCH_TEMPLATE" | sed "s/{phase}/$PADDED_PHASE/g" | sed "s/{slug}/$PHASE_SLUG/g")
170
- git checkout -b "$BRANCH_NAME" 2>/dev/null || git checkout "$BRANCH_NAME"
171
- fi
172
-
173
- # Para estratégia milestone
174
- if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
175
- MILESTONE_SLUG=$(echo "$MILESTONE_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
176
- BRANCH_NAME=$(echo "$MILESTONE_BRANCH_TEMPLATE" | sed "s/{milestone}/$MILESTONE_VERSION/g" | sed "s/{slug}/$MILESTONE_SLUG/g")
177
- git checkout -b "$BRANCH_NAME" 2>/dev/null || git checkout "$BRANCH_NAME"
178
- fi
179
- ```
180
-
181
- **Opções de merge em complete-milestone:**
182
-
183
- | Opção | Comando git | Resultado |
184
- |-------|-------------|-----------|
185
- | Squash merge (recomendado) | `git merge --squash` | Único commit limpo por branch |
186
- | Merge com histórico | `git merge --no-ff` | Preserva todos os commits individuais |
187
- | Deletar sem merge | `git branch -D` | Descartar trabalho do branch |
188
- | Manter branches | (nenhum) | Tratamento manual depois |
189
-
190
- Squash merge é recomendado — mantém o histórico do branch main limpo enquanto preserva o histórico de desenvolvimento completo no branch (até ser deletado).
191
-
192
- **Casos de uso:**
193
-
194
- | Estratégia | Melhor para |
195
- |------------|-------------|
196
- | `none` | Desenvolvimento solo, projetos simples |
197
- | `phase` | Code review por fase, rollback granular, colaboração em equipe |
198
- | `milestone` | Branches de release, ambientes de staging, PR por versão |
199
-
200
- </branching_strategy_behavior>
201
-
202
- </planning_config>
1
+ <planning_config>
2
+
3
+ Opções de configuração para o comportamento do diretório `.planning/`.
4
+
5
+ <config_schema>
6
+ ```json
7
+ "planning": {
8
+ "commit_docs": true,
9
+ "search_gitignored": false
10
+ },
11
+ "git": {
12
+ "branching_strategy": "none",
13
+ "phase_branch_template": "framework/phase-{phase}-{slug}",
14
+ "milestone_branch_template": "framework/{milestone}-{slug}",
15
+ "quick_branch_template": null
16
+ }
17
+ ```
18
+
19
+ | Opção | Padrão | Descrição |
20
+ |-------|--------|-----------|
21
+ | `commit_docs` | `true` | Se deve commitar artefatos de planejamento no git |
22
+ | `search_gitignored` | `false` | Adicionar `--no-ignore` a buscas amplas com rg |
23
+ | `git.branching_strategy` | `"none"` | Abordagem de branching git: `"none"`, `"phase"`, ou `"milestone"` |
24
+ | `git.phase_branch_template` | `"framework/phase-{phase}-{slug}"` | Template de branch para estratégia phase |
25
+ | `git.milestone_branch_template` | `"framework/{milestone}-{slug}"` | Template de branch para estratégia milestone |
26
+ | `git.quick_branch_template` | `null` | Template de branch opcional para execuções de tarefa rápida |
27
+ </config_schema>
28
+
29
+ <commit_docs_behavior>
30
+
31
+ **Quando `commit_docs: true` (padrão):**
32
+ - Arquivos de planejamento commitados normalmente
33
+ - SUMMARY.md, STATE.md, ROADMAP.md rastreados no git
34
+ - Histórico completo de decisões de planejamento preservado
35
+
36
+ **Quando `commit_docs: false`:**
37
+ - Pular todos os `git add`/`git commit` para arquivos `.planning/`
38
+ - O usuário deve adicionar `.planning/` ao `.gitignore`
39
+ - Útil para: contribuições OSS, projetos de clientes, manter o planejamento privado
40
+
41
+ **Usando tools.cjs (preferido):**
42
+
43
+ ```bash
44
+ # Commit com verificações automáticas de commit_docs + gitignore:
45
+ node "./.claude/framework/bin/tools.cjs" commit "docs: update state" --files .planning/STATE.md
46
+
47
+ # Carregar config via state load (retorna JSON):
48
+ INIT=$(node "./.claude/framework/bin/tools.cjs" state load)
49
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
50
+ # commit_docs está disponível na saída JSON
51
+
52
+ # Ou use comandos init que incluem commit_docs:
53
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
54
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
55
+ # commit_docs está incluído em todas as saídas de comandos init
56
+ ```
57
+
58
+ **Auto-detecção:** Se `.planning/` estiver no gitignore, `commit_docs` é automaticamente `false` independentemente do config.json. Isso evita erros de git quando usuários têm `.planning/` no `.gitignore`.
59
+
60
+ **Commit via CLI (trata verificações automaticamente):**
61
+
62
+ ```bash
63
+ node "./.claude/framework/bin/tools.cjs" commit "docs: update state" --files .planning/STATE.md
64
+ ```
65
+
66
+ O CLI verifica a configuração `commit_docs` e o status do gitignore internamente — sem condicionais manuais.
67
+
68
+ </commit_docs_behavior>
69
+
70
+ <search_behavior>
71
+
72
+ **Quando `search_gitignored: false` (padrão):**
73
+ - Comportamento padrão do rg (respeita .gitignore)
74
+ - Buscas por caminho direto funcionam: `rg "padrão" .planning/` encontra arquivos
75
+ - Buscas amplas pulam ignorados: `rg "padrão"` pula `.planning/`
76
+
77
+ **Quando `search_gitignored: true`:**
78
+ - Adicionar `--no-ignore` a buscas amplas com rg que devem incluir `.planning/`
79
+ - Necessário apenas ao buscar em todo o repositório e esperando correspondências em `.planning/`
80
+
81
+ **Nota:** A maioria das operações framework usa leituras diretas de arquivo ou caminhos explícitos, que funcionam independentemente do status do gitignore.
82
+
83
+ </search_behavior>
84
+
85
+ <setup_uncommitted_mode>
86
+
87
+ Para usar o modo não-commitado:
88
+
89
+ 1. **Defina o config:**
90
+ ```json
91
+ "planning": {
92
+ "commit_docs": false,
93
+ "search_gitignored": true
94
+ }
95
+ ```
96
+
97
+ 2. **Adicione ao .gitignore:**
98
+ ```
99
+ .planning/
100
+ ```
101
+
102
+ 3. **Arquivos rastreados existentes:** Se `.planning/` foi rastreado anteriormente:
103
+ ```bash
104
+ git rm -r --cached .planning/
105
+ git commit -m "chore: stop tracking planning docs"
106
+ ```
107
+
108
+ 4. **Merges de branch:** Ao usar `branching_strategy: phase` ou `milestone`, o workflow `complete-milestone` remove automaticamente arquivos `.planning/` do staging antes de commits de merge quando `commit_docs: false`.
109
+
110
+ </setup_uncommitted_mode>
111
+
112
+ <branching_strategy_behavior>
113
+
114
+ **Estratégias de Branching:**
115
+
116
+ | Estratégia | Quando o branch é criado | Escopo do branch | Ponto de merge |
117
+ |------------|--------------------------|------------------|----------------|
118
+ | `none` | Nunca | N/A | N/A |
119
+ | `phase` | No início do `execute-phase` | Fase única | Usuário faz merge após a fase |
120
+ | `milestone` | No primeiro `execute-phase` do marco | Marco inteiro | Em `complete-milestone` |
121
+
122
+ **Quando `git.branching_strategy: "none"` (padrão):**
123
+ - Todo o trabalho commita para o branch atual
124
+ - Comportamento padrão do framework
125
+
126
+ **Quando `git.branching_strategy: "phase"`:**
127
+ - `execute-phase` cria/alterna para um branch antes da execução
128
+ - Nome do branch a partir de `phase_branch_template` (ex: `framework/phase-03-authentication`)
129
+ - Todos os commits do plano vão para aquele branch
130
+ - Usuário faz merge dos branches manualmente após a conclusão da fase
131
+ - `complete-milestone` oferece fazer merge de todos os branches de fase
132
+
133
+ **Quando `git.branching_strategy: "milestone"`:**
134
+ - O primeiro `execute-phase` do marco cria o branch do marco
135
+ - Nome do branch a partir de `milestone_branch_template` (ex: `framework/v1.0-mvp`)
136
+ - Todas as fases do marco commitam para o mesmo branch
137
+ - `complete-milestone` oferece fazer merge do branch do marco para main
138
+
139
+ **Variáveis de template:**
140
+
141
+ | Variável | Disponível em | Descrição |
142
+ |----------|---------------|-----------|
143
+ | `{phase}` | phase_branch_template | Número de fase com zero à esquerda (ex: "03") |
144
+ | `{slug}` | Ambos | Nome em minúsculas com hífens |
145
+ | `{milestone}` | milestone_branch_template | Versão do marco (ex: "v1.0") |
146
+
147
+ **Verificando o config:**
148
+
149
+ Use `init execute-phase` que retorna toda a config como JSON:
150
+ ```bash
151
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init execute-phase "1")
152
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
153
+ # Saída JSON inclui: branching_strategy, phase_branch_template, milestone_branch_template
154
+ ```
155
+
156
+ Ou use `state load` para os valores de config:
157
+ ```bash
158
+ INIT=$(node "./.claude/framework/bin/tools.cjs" state load)
159
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
160
+ # Analise branching_strategy, phase_branch_template, milestone_branch_template do JSON
161
+ ```
162
+
163
+ **Criação de branch:**
164
+
165
+ ```bash
166
+ # Para estratégia phase
167
+ if [ "$BRANCHING_STRATEGY" = "phase" ]; then
168
+ PHASE_SLUG=$(echo "$PHASE_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
169
+ BRANCH_NAME=$(echo "$PHASE_BRANCH_TEMPLATE" | sed "s/{phase}/$PADDED_PHASE/g" | sed "s/{slug}/$PHASE_SLUG/g")
170
+ git checkout -b "$BRANCH_NAME" 2>/dev/null || git checkout "$BRANCH_NAME"
171
+ fi
172
+
173
+ # Para estratégia milestone
174
+ if [ "$BRANCHING_STRATEGY" = "milestone" ]; then
175
+ MILESTONE_SLUG=$(echo "$MILESTONE_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
176
+ BRANCH_NAME=$(echo "$MILESTONE_BRANCH_TEMPLATE" | sed "s/{milestone}/$MILESTONE_VERSION/g" | sed "s/{slug}/$MILESTONE_SLUG/g")
177
+ git checkout -b "$BRANCH_NAME" 2>/dev/null || git checkout "$BRANCH_NAME"
178
+ fi
179
+ ```
180
+
181
+ **Opções de merge em complete-milestone:**
182
+
183
+ | Opção | Comando git | Resultado |
184
+ |-------|-------------|-----------|
185
+ | Squash merge (recomendado) | `git merge --squash` | Único commit limpo por branch |
186
+ | Merge com histórico | `git merge --no-ff` | Preserva todos os commits individuais |
187
+ | Deletar sem merge | `git branch -D` | Descartar trabalho do branch |
188
+ | Manter branches | (nenhum) | Tratamento manual depois |
189
+
190
+ Squash merge é recomendado — mantém o histórico do branch main limpo enquanto preserva o histórico de desenvolvimento completo no branch (até ser deletado).
191
+
192
+ **Casos de uso:**
193
+
194
+ | Estratégia | Melhor para |
195
+ |------------|-------------|
196
+ | `none` | Desenvolvimento solo, projetos simples |
197
+ | `phase` | Code review por fase, rollback granular, colaboração em equipe |
198
+ | `milestone` | Branches de release, ambientes de staging, PR por versão |
199
+
200
+ </branching_strategy_behavior>
201
+
202
+ </planning_config>