@luanpdd/kit-mcp 1.21.0 → 1.22.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 (253) 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 +76 -52
  5. package/kit/agents/advisor-researcher.md +106 -106
  6. package/kit/agents/assumptions-analyzer.md +107 -107
  7. package/kit/agents/auditor-consistencia-isolamento.md +380 -0
  8. package/kit/agents/codebase-mapper.md +768 -768
  9. package/kit/agents/crm-pipeline-implementer.md +17 -0
  10. package/kit/agents/debugger.md +772 -772
  11. package/kit/agents/detector-tenant-quente.md +337 -0
  12. package/kit/agents/example-reviewer.md +21 -21
  13. package/kit/agents/executor.md +523 -523
  14. package/kit/agents/integration-checker.md +200 -200
  15. package/kit/agents/multi-tenant-isolation-auditor.md +10 -0
  16. package/kit/agents/nyquist-auditor.md +178 -178
  17. package/kit/agents/phase-researcher.md +696 -696
  18. package/kit/agents/plan-checker.md +272 -272
  19. package/kit/agents/planner.md +891 -891
  20. package/kit/agents/project-researcher.md +652 -652
  21. package/kit/agents/research-synthesizer.md +245 -245
  22. package/kit/agents/roadmapper.md +677 -677
  23. package/kit/agents/supabase-architect.md +10 -0
  24. package/kit/agents/supabase-migration-writer.md +12 -0
  25. package/kit/agents/ui-auditor.md +437 -437
  26. package/kit/agents/ui-checker.md +302 -302
  27. package/kit/agents/ui-researcher.md +355 -355
  28. package/kit/agents/user-profiler.md +175 -175
  29. package/kit/agents/validador-evolucao-schema.md +335 -0
  30. package/kit/agents/verifier.md +728 -728
  31. package/kit/commands/adicionar-backlog.md +75 -75
  32. package/kit/commands/adicionar-fase.md +42 -42
  33. package/kit/commands/adicionar-tarefa.md +45 -45
  34. package/kit/commands/adicionar-testes.md +41 -41
  35. package/kit/commands/ajuda.md +21 -21
  36. package/kit/commands/atualizar.md +37 -37
  37. package/kit/commands/auditar-marco.md +179 -179
  38. package/kit/commands/auditar-uat.md +23 -23
  39. package/kit/commands/autonomo.md +40 -40
  40. package/kit/commands/branch-pr.md +24 -24
  41. package/kit/commands/concluir-marco.md +247 -247
  42. package/kit/commands/configuracoes.md +36 -36
  43. package/kit/commands/dados-distribuidos.md +188 -0
  44. package/kit/commands/definir-perfil.md +10 -10
  45. package/kit/commands/depurar.md +190 -190
  46. package/kit/commands/discutir-fase.md +131 -131
  47. package/kit/commands/entrar-discord.md +17 -17
  48. package/kit/commands/estatisticas.md +18 -18
  49. package/kit/commands/example-greeting.md +33 -33
  50. package/kit/commands/executar-fase.md +58 -58
  51. package/kit/commands/expresso.md +56 -56
  52. package/kit/commands/fase-ui.md +34 -34
  53. package/kit/commands/fazer.md +57 -57
  54. package/kit/commands/fio.md +125 -125
  55. package/kit/commands/fluxos-trabalho.md +64 -64
  56. package/kit/commands/forense.md +176 -176
  57. package/kit/commands/gerenciador.md +38 -38
  58. package/kit/commands/inserir-fase.md +31 -31
  59. package/kit/commands/limpeza.md +17 -17
  60. package/kit/commands/listar-hipoteses-fase.md +45 -45
  61. package/kit/commands/listar-workspaces.md +18 -18
  62. package/kit/commands/mapear-codebase.md +70 -70
  63. package/kit/commands/nota.md +33 -33
  64. package/kit/commands/novo-marco.md +43 -43
  65. package/kit/commands/novo-projeto.md +41 -41
  66. package/kit/commands/novo-workspace.md +43 -43
  67. package/kit/commands/pausar-trabalho.md +37 -37
  68. package/kit/commands/perfil-usuario.md +45 -45
  69. package/kit/commands/pesquisar-fase.md +195 -195
  70. package/kit/commands/planejar-fase.md +67 -67
  71. package/kit/commands/planejar-lacunas.md +33 -33
  72. package/kit/commands/plantar-ideia.md +25 -25
  73. package/kit/commands/progresso.md +24 -24
  74. package/kit/commands/proximo.md +30 -30
  75. package/kit/commands/publicar.md +490 -490
  76. package/kit/commands/rapido.md +35 -35
  77. package/kit/commands/reaplicar-patches.md +124 -124
  78. package/kit/commands/relatorio-sessao.md +19 -19
  79. package/kit/commands/remover-fase.md +31 -31
  80. package/kit/commands/remover-workspace.md +26 -26
  81. package/kit/commands/resumo-marco.md +50 -50
  82. package/kit/commands/retomar-trabalho.md +40 -40
  83. package/kit/commands/revisar-backlog.md +60 -60
  84. package/kit/commands/revisar-ui.md +32 -32
  85. package/kit/commands/revisar.md +37 -37
  86. package/kit/commands/saude.md +21 -21
  87. package/kit/commands/setup-notion.md +93 -93
  88. package/kit/commands/sync-main.md +68 -68
  89. package/kit/commands/validar-fase.md +35 -35
  90. package/kit/commands/verificar-tarefas.md +44 -44
  91. package/kit/commands/verificar-trabalho.md +64 -64
  92. package/kit/file-manifest.json +27 -15
  93. package/kit/framework/bin/lib/commands.cjs +959 -959
  94. package/kit/framework/bin/lib/config.cjs +442 -442
  95. package/kit/framework/bin/lib/core.cjs +1230 -1230
  96. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  97. package/kit/framework/bin/lib/init.cjs +1442 -1442
  98. package/kit/framework/bin/lib/milestone.cjs +252 -252
  99. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  100. package/kit/framework/bin/lib/phase.cjs +888 -888
  101. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  102. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  103. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  104. package/kit/framework/bin/lib/security.cjs +382 -382
  105. package/kit/framework/bin/lib/state.cjs +1031 -1031
  106. package/kit/framework/bin/lib/template.cjs +222 -222
  107. package/kit/framework/bin/lib/uat.cjs +282 -282
  108. package/kit/framework/bin/lib/verify.cjs +888 -888
  109. package/kit/framework/bin/lib/workstream.cjs +491 -491
  110. package/kit/framework/bin/tools.cjs +918 -918
  111. package/kit/framework/commands/workstreams.md +63 -63
  112. package/kit/framework/references/checkpoints.md +778 -778
  113. package/kit/framework/references/continuation-format.md +249 -249
  114. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  115. package/kit/framework/references/git-integration.md +295 -295
  116. package/kit/framework/references/git-planning-commit.md +38 -38
  117. package/kit/framework/references/model-profile-resolution.md +36 -36
  118. package/kit/framework/references/model-profiles.md +139 -139
  119. package/kit/framework/references/phase-argument-parsing.md +61 -61
  120. package/kit/framework/references/planning-config.md +202 -202
  121. package/kit/framework/references/questioning.md +162 -162
  122. package/kit/framework/references/tdd.md +263 -263
  123. package/kit/framework/references/ui-brand.md +160 -160
  124. package/kit/framework/references/user-profiling.md +657 -657
  125. package/kit/framework/references/verification-patterns.md +612 -612
  126. package/kit/framework/references/workstream-flag.md +58 -58
  127. package/kit/framework/templates/DEBUG.md +164 -164
  128. package/kit/framework/templates/UAT.md +265 -265
  129. package/kit/framework/templates/UI-SPEC.md +100 -100
  130. package/kit/framework/templates/VALIDATION.md +76 -76
  131. package/kit/framework/templates/claude-md.md +122 -122
  132. package/kit/framework/templates/codebase/architecture.md +185 -185
  133. package/kit/framework/templates/codebase/concerns.md +205 -205
  134. package/kit/framework/templates/codebase/conventions.md +204 -204
  135. package/kit/framework/templates/codebase/integrations.md +192 -192
  136. package/kit/framework/templates/codebase/stack.md +158 -158
  137. package/kit/framework/templates/codebase/structure.md +199 -199
  138. package/kit/framework/templates/codebase/testing.md +301 -301
  139. package/kit/framework/templates/config.json +44 -44
  140. package/kit/framework/templates/context.md +352 -352
  141. package/kit/framework/templates/continue-here.md +78 -78
  142. package/kit/framework/templates/copilot-instructions.md +7 -7
  143. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  144. package/kit/framework/templates/dev-preferences.md +20 -20
  145. package/kit/framework/templates/discovery.md +146 -146
  146. package/kit/framework/templates/discussion-log.md +63 -63
  147. package/kit/framework/templates/milestone-archive.md +123 -123
  148. package/kit/framework/templates/milestone.md +115 -115
  149. package/kit/framework/templates/phase-prompt.md +610 -610
  150. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  151. package/kit/framework/templates/project.md +186 -186
  152. package/kit/framework/templates/requirements.md +231 -231
  153. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  154. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  155. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  156. package/kit/framework/templates/research-project/STACK.md +120 -120
  157. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  158. package/kit/framework/templates/research.md +419 -419
  159. package/kit/framework/templates/retrospective.md +54 -54
  160. package/kit/framework/templates/roadmap.md +202 -202
  161. package/kit/framework/templates/state.md +176 -176
  162. package/kit/framework/templates/summary-complex.md +59 -59
  163. package/kit/framework/templates/summary-minimal.md +41 -41
  164. package/kit/framework/templates/summary-standard.md +48 -48
  165. package/kit/framework/templates/summary.md +209 -209
  166. package/kit/framework/templates/user-profile.md +146 -146
  167. package/kit/framework/templates/user-setup.md +256 -256
  168. package/kit/framework/templates/verification-report.md +258 -258
  169. package/kit/framework/workflows/add-phase.md +112 -112
  170. package/kit/framework/workflows/add-tests.md +351 -351
  171. package/kit/framework/workflows/add-todo.md +158 -158
  172. package/kit/framework/workflows/audit-milestone.md +340 -340
  173. package/kit/framework/workflows/audit-uat.md +109 -109
  174. package/kit/framework/workflows/autonomous.md +891 -891
  175. package/kit/framework/workflows/check-todos.md +177 -177
  176. package/kit/framework/workflows/cleanup.md +152 -152
  177. package/kit/framework/workflows/complete-milestone.md +696 -696
  178. package/kit/framework/workflows/diagnose-issues.md +231 -231
  179. package/kit/framework/workflows/discovery-phase.md +289 -289
  180. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  181. package/kit/framework/workflows/discuss-phase.md +784 -784
  182. package/kit/framework/workflows/do.md +104 -104
  183. package/kit/framework/workflows/execute-phase.md +838 -838
  184. package/kit/framework/workflows/execute-plan.md +510 -510
  185. package/kit/framework/workflows/fast.md +102 -102
  186. package/kit/framework/workflows/forensics.md +265 -265
  187. package/kit/framework/workflows/health.md +181 -181
  188. package/kit/framework/workflows/help.md +619 -619
  189. package/kit/framework/workflows/insert-phase.md +130 -130
  190. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  191. package/kit/framework/workflows/list-workspaces.md +56 -56
  192. package/kit/framework/workflows/manager.md +362 -362
  193. package/kit/framework/workflows/map-codebase.md +377 -377
  194. package/kit/framework/workflows/milestone-summary.md +223 -223
  195. package/kit/framework/workflows/new-milestone.md +486 -486
  196. package/kit/framework/workflows/new-project.md +1159 -1159
  197. package/kit/framework/workflows/new-workspace.md +237 -237
  198. package/kit/framework/workflows/next.md +97 -97
  199. package/kit/framework/workflows/node-repair.md +92 -92
  200. package/kit/framework/workflows/note.md +156 -156
  201. package/kit/framework/workflows/pause-work.md +176 -176
  202. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  203. package/kit/framework/workflows/plan-phase.md +765 -765
  204. package/kit/framework/workflows/plant-seed.md +169 -169
  205. package/kit/framework/workflows/pr-branch.md +129 -129
  206. package/kit/framework/workflows/profile-user.md +450 -450
  207. package/kit/framework/workflows/progress.md +507 -507
  208. package/kit/framework/workflows/quick.md +757 -757
  209. package/kit/framework/workflows/remove-phase.md +155 -155
  210. package/kit/framework/workflows/remove-workspace.md +90 -90
  211. package/kit/framework/workflows/research-phase.md +82 -82
  212. package/kit/framework/workflows/resume-project.md +326 -326
  213. package/kit/framework/workflows/review.md +228 -228
  214. package/kit/framework/workflows/session-report.md +146 -146
  215. package/kit/framework/workflows/settings.md +283 -283
  216. package/kit/framework/workflows/ship.md +228 -228
  217. package/kit/framework/workflows/stats.md +60 -60
  218. package/kit/framework/workflows/transition.md +671 -671
  219. package/kit/framework/workflows/ui-phase.md +302 -302
  220. package/kit/framework/workflows/ui-review.md +165 -165
  221. package/kit/framework/workflows/update.md +323 -323
  222. package/kit/framework/workflows/validate-phase.md +174 -174
  223. package/kit/framework/workflows/verify-phase.md +252 -252
  224. package/kit/framework/workflows/verify-work.md +637 -637
  225. package/kit/hooks/check-update.js +118 -118
  226. package/kit/hooks/context-monitor.js +163 -163
  227. package/kit/hooks/prompt-guard.js +103 -103
  228. package/kit/hooks/statusline.js +125 -125
  229. package/kit/hooks/workflow-guard.js +101 -101
  230. package/kit/settings.json +45 -45
  231. package/kit/skills/_shared-dados-distribuidos/glossary.md +224 -0
  232. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -0
  233. package/kit/skills/audit-log-multi-tenant/SKILL.md +6 -0
  234. package/kit/skills/cascading-failures/SKILL.md +4 -0
  235. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -0
  236. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +17 -0
  237. package/kit/skills/escolha-modelo-consistencia/SKILL.md +495 -0
  238. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -0
  239. package/kit/skills/example-skill/SKILL.md +42 -42
  240. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +4 -0
  241. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +4 -0
  242. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -0
  243. package/kit/skills/streams-eventos-cdc/SKILL.md +712 -0
  244. package/kit/skills/supabase-cron-queues/SKILL.md +9 -0
  245. package/kit/skills/supabase-migrations/SKILL.md +10 -0
  246. package/kit/skills/super-admin-platform-pattern/SKILL.md +4 -0
  247. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -0
  248. package/package.json +63 -63
  249. package/src/core/kit.js +216 -216
  250. package/src/core/reflect.js +247 -247
  251. package/src/core/reverse-sync.js +372 -372
  252. package/src/core/sync.js +418 -418
  253. package/src/core/watch.js +121 -121
@@ -1,237 +1,237 @@
1
- <purpose>
2
- Create an isolated workspace directory with git repo copies (worktrees or clones) and an independent `.planning/` directory. Supports multi-repo orchestration and single-repo feature branch isolation.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- ## 1. Setup
12
-
13
- **MANDATORY FIRST STEP — Execute init command:**
14
-
15
- ```bash
16
- INIT=$(node "./.claude/framework/bin/tools.cjs" init new-workspace)
17
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
18
- ```
19
-
20
- Parse JSON for: `default_workspace_base`, `child_repos`, `child_repo_count`, `worktree_available`, `is_git_repo`, `cwd_repo_name`, `project_root`.
21
-
22
- ## 2. Parse Arguments
23
-
24
- Extract from $ARGUMENTS:
25
- - `--name` → `WORKSPACE_NAME` (required)
26
- - `--repos` → `REPO_LIST` (comma-separated paths or names)
27
- - `--path` → `TARGET_PATH` (defaults to `$default_workspace_base/$WORKSPACE_NAME`)
28
- - `--strategy` → `STRATEGY` (defaults to `worktree`)
29
- - `--branch` → `BRANCH_NAME` (defaults to `workspace/$WORKSPACE_NAME`)
30
- - `--auto` → skip interactive questions
31
-
32
- **If `--name` is missing and not `--auto`:**
33
-
34
- Use AskUserQuestion:
35
- - header: "Workspace Name"
36
- - question: "What should this workspace be called?"
37
- - requireAnswer: true
38
-
39
- ## 3. Select Repos
40
-
41
- **If `--repos` is provided:** Parse comma-separated values. For each value:
42
- - If it's an absolute path, use it directly
43
- - If it's a relative path or name, resolve against `$project_root`
44
- - Special case: `.` means current repo (use `$project_root`, name it `$cwd_repo_name`)
45
-
46
- **If `--repos` is NOT provided and not `--auto`:**
47
-
48
- **If `child_repo_count` > 0:**
49
-
50
- Present child repos for selection:
51
-
52
- Use AskUserQuestion:
53
- - header: "Select Repos"
54
- - question: "Which repos should be included in the workspace?"
55
- - options: List each child repo from `child_repos` array by name
56
- - multiSelect: true
57
-
58
- **If `child_repo_count` is 0 and `is_git_repo` is true:**
59
-
60
- Use AskUserQuestion:
61
- - header: "Current Repo"
62
- - question: "No child repos found. Create a workspace with the current repo?"
63
- - options:
64
- - "Yes — create workspace with current repo" → use current repo
65
- - "Cancel" → exit
66
-
67
- **If `child_repo_count` is 0 and `is_git_repo` is false:**
68
-
69
- Error:
70
- ```
71
- No git repos found in the current directory and this is not a git repo.
72
-
73
- Run this command from a directory containing git repos, or specify repos explicitly:
74
- /new-workspace --name my-workspace --repos /path/to/repo1,/path/to/repo2
75
- ```
76
- Exit.
77
-
78
- **If `--auto` and `--repos` is NOT provided:**
79
-
80
- Error:
81
- ```
82
- Error: --auto requires --repos to specify which repos to include.
83
-
84
- Usage:
85
- /new-workspace --name my-workspace --repos repo1,repo2 --auto
86
- ```
87
- Exit.
88
-
89
- ## 4. Select Strategy
90
-
91
- **If `--strategy` is provided:** Use it (validate: must be `worktree` or `clone`).
92
-
93
- **If `--strategy` is NOT provided and not `--auto`:**
94
-
95
- Use AskUserQuestion:
96
- - header: "Strategy"
97
- - question: "How should repos be copied into the workspace?"
98
- - options:
99
- - "Worktree (recommended) — lightweight, shares .git objects with source repo" → `worktree`
100
- - "Clone — fully independent copy, no connection to source repo" → `clone`
101
-
102
- **If `--auto`:** Default to `worktree`.
103
-
104
- ## 5. Validate
105
-
106
- Before creating anything, validate:
107
-
108
- 1. **Target path** — must not exist or must be empty:
109
- ```bash
110
- if [ -d "$TARGET_PATH" ] && [ "$(ls -A "$TARGET_PATH" 2>/dev/null)" ]; then
111
- echo "Error: Target path already exists and is not empty: $TARGET_PATH"
112
- echo "Choose a different --name or --path."
113
- exit 1
114
- fi
115
- ```
116
-
117
- 2. **Source repos exist and are git repos** — for each repo path:
118
- ```bash
119
- if [ ! -d "$REPO_PATH/.git" ]; then
120
- echo "Error: Not a git repo: $REPO_PATH"
121
- exit 1
122
- fi
123
- ```
124
-
125
- 3. **Worktree availability** — if strategy is `worktree` and `worktree_available` is false:
126
- ```
127
- Error: git is not available. Install git or use --strategy clone.
128
- ```
129
-
130
- Report all validation errors at once, not one at a time.
131
-
132
- ## 6. Create Workspace
133
-
134
- ```bash
135
- mkdir -p "$TARGET_PATH"
136
- ```
137
-
138
- ### For each repo:
139
-
140
- **Worktree strategy:**
141
- ```bash
142
- cd "$SOURCE_REPO_PATH"
143
- git worktree add "$TARGET_PATH/$REPO_NAME" -b "$BRANCH_NAME" 2>&1
144
- ```
145
-
146
- If `git worktree add` fails because the branch already exists, try with a timestamped branch:
147
- ```bash
148
- TIMESTAMP=$(date +%Y%m%d%H%M%S)
149
- git worktree add "$TARGET_PATH/$REPO_NAME" -b "${BRANCH_NAME}-${TIMESTAMP}" 2>&1
150
- ```
151
-
152
- If that also fails, report the error and continue with remaining repos.
153
-
154
- **Clone strategy:**
155
- ```bash
156
- git clone "$SOURCE_REPO_PATH" "$TARGET_PATH/$REPO_NAME" 2>&1
157
- cd "$TARGET_PATH/$REPO_NAME"
158
- git checkout -b "$BRANCH_NAME" 2>&1
159
- ```
160
-
161
- Track results: which repos succeeded, which failed, what branch was used.
162
-
163
- ## 7. Write WORKSPACE.md
164
-
165
- Write the workspace manifest at `$TARGET_PATH/WORKSPACE.md`:
166
-
167
- ```markdown
168
- # Workspace: $WORKSPACE_NAME
169
-
170
- Created: $DATE
171
- Strategy: $STRATEGY
172
-
173
- ## Member Repos
174
-
175
- | Repo | Source | Branch | Strategy |
176
- |------|--------|--------|----------|
177
- | $REPO_NAME | $SOURCE_PATH | $BRANCH | $STRATEGY |
178
- ...for each repo...
179
-
180
- ## Notes
181
-
182
- [Add context about what this workspace is for]
183
- ```
184
-
185
- ## 8. Initialize .planning/
186
-
187
- ```bash
188
- mkdir -p "$TARGET_PATH/.planning"
189
- ```
190
-
191
- ## 9. Report and Next Steps
192
-
193
- **If all repos succeeded:**
194
-
195
- ```
196
- Workspace created: $TARGET_PATH
197
-
198
- Repos: $REPO_COUNT
199
- Strategy: $STRATEGY
200
- Branch: $BRANCH_NAME
201
-
202
- Next steps:
203
- cd $TARGET_PATH
204
- /new-project # Initialize framework in the workspace
205
- ```
206
-
207
- **If some repos failed:**
208
-
209
- ```
210
- Workspace created with $SUCCESS_COUNT of $TOTAL_COUNT repos: $TARGET_PATH
211
-
212
- Succeeded: repo1, repo2
213
- Failed: repo3 (branch already exists), repo4 (not a git repo)
214
-
215
- Next steps:
216
- cd $TARGET_PATH
217
- /new-project # Initialize framework in the workspace
218
- ```
219
-
220
- **Offer to initialize framework (if not `--auto`):**
221
-
222
- Use AskUserQuestion:
223
- - header: "Initialize framework"
224
- - question: "Would you like to initialize a framework project in the new workspace?"
225
- - options:
226
- - "Yes — run /new-project" → tell user to `cd $TARGET_PATH` first, then run `/new-project`
227
- - "No — I'll set it up later" → done
228
-
229
- </process>
230
-
231
- <success_criteria>
232
- - [ ] Workspace directory created at target path
233
- - [ ] All specified repos copied (worktree or clone) into workspace
234
- - [ ] WORKSPACE.md manifest written with correct repo table
235
- - [ ] `.planning/` directory initialized at workspace root
236
- - [ ] User informed of workspace path and next steps
237
- </success_criteria>
1
+ <purpose>
2
+ Create an isolated workspace directory with git repo copies (worktrees or clones) and an independent `.planning/` directory. Supports multi-repo orchestration and single-repo feature branch isolation.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ Read all files referenced by the invoking prompt's execution_context before starting.
7
+ </required_reading>
8
+
9
+ <process>
10
+
11
+ ## 1. Setup
12
+
13
+ **MANDATORY FIRST STEP — Execute init command:**
14
+
15
+ ```bash
16
+ INIT=$(node "./.claude/framework/bin/tools.cjs" init new-workspace)
17
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
18
+ ```
19
+
20
+ Parse JSON for: `default_workspace_base`, `child_repos`, `child_repo_count`, `worktree_available`, `is_git_repo`, `cwd_repo_name`, `project_root`.
21
+
22
+ ## 2. Parse Arguments
23
+
24
+ Extract from $ARGUMENTS:
25
+ - `--name` → `WORKSPACE_NAME` (required)
26
+ - `--repos` → `REPO_LIST` (comma-separated paths or names)
27
+ - `--path` → `TARGET_PATH` (defaults to `$default_workspace_base/$WORKSPACE_NAME`)
28
+ - `--strategy` → `STRATEGY` (defaults to `worktree`)
29
+ - `--branch` → `BRANCH_NAME` (defaults to `workspace/$WORKSPACE_NAME`)
30
+ - `--auto` → skip interactive questions
31
+
32
+ **If `--name` is missing and not `--auto`:**
33
+
34
+ Use AskUserQuestion:
35
+ - header: "Workspace Name"
36
+ - question: "What should this workspace be called?"
37
+ - requireAnswer: true
38
+
39
+ ## 3. Select Repos
40
+
41
+ **If `--repos` is provided:** Parse comma-separated values. For each value:
42
+ - If it's an absolute path, use it directly
43
+ - If it's a relative path or name, resolve against `$project_root`
44
+ - Special case: `.` means current repo (use `$project_root`, name it `$cwd_repo_name`)
45
+
46
+ **If `--repos` is NOT provided and not `--auto`:**
47
+
48
+ **If `child_repo_count` > 0:**
49
+
50
+ Present child repos for selection:
51
+
52
+ Use AskUserQuestion:
53
+ - header: "Select Repos"
54
+ - question: "Which repos should be included in the workspace?"
55
+ - options: List each child repo from `child_repos` array by name
56
+ - multiSelect: true
57
+
58
+ **If `child_repo_count` is 0 and `is_git_repo` is true:**
59
+
60
+ Use AskUserQuestion:
61
+ - header: "Current Repo"
62
+ - question: "No child repos found. Create a workspace with the current repo?"
63
+ - options:
64
+ - "Yes — create workspace with current repo" → use current repo
65
+ - "Cancel" → exit
66
+
67
+ **If `child_repo_count` is 0 and `is_git_repo` is false:**
68
+
69
+ Error:
70
+ ```
71
+ No git repos found in the current directory and this is not a git repo.
72
+
73
+ Run this command from a directory containing git repos, or specify repos explicitly:
74
+ /new-workspace --name my-workspace --repos /path/to/repo1,/path/to/repo2
75
+ ```
76
+ Exit.
77
+
78
+ **If `--auto` and `--repos` is NOT provided:**
79
+
80
+ Error:
81
+ ```
82
+ Error: --auto requires --repos to specify which repos to include.
83
+
84
+ Usage:
85
+ /new-workspace --name my-workspace --repos repo1,repo2 --auto
86
+ ```
87
+ Exit.
88
+
89
+ ## 4. Select Strategy
90
+
91
+ **If `--strategy` is provided:** Use it (validate: must be `worktree` or `clone`).
92
+
93
+ **If `--strategy` is NOT provided and not `--auto`:**
94
+
95
+ Use AskUserQuestion:
96
+ - header: "Strategy"
97
+ - question: "How should repos be copied into the workspace?"
98
+ - options:
99
+ - "Worktree (recommended) — lightweight, shares .git objects with source repo" → `worktree`
100
+ - "Clone — fully independent copy, no connection to source repo" → `clone`
101
+
102
+ **If `--auto`:** Default to `worktree`.
103
+
104
+ ## 5. Validate
105
+
106
+ Before creating anything, validate:
107
+
108
+ 1. **Target path** — must not exist or must be empty:
109
+ ```bash
110
+ if [ -d "$TARGET_PATH" ] && [ "$(ls -A "$TARGET_PATH" 2>/dev/null)" ]; then
111
+ echo "Error: Target path already exists and is not empty: $TARGET_PATH"
112
+ echo "Choose a different --name or --path."
113
+ exit 1
114
+ fi
115
+ ```
116
+
117
+ 2. **Source repos exist and are git repos** — for each repo path:
118
+ ```bash
119
+ if [ ! -d "$REPO_PATH/.git" ]; then
120
+ echo "Error: Not a git repo: $REPO_PATH"
121
+ exit 1
122
+ fi
123
+ ```
124
+
125
+ 3. **Worktree availability** — if strategy is `worktree` and `worktree_available` is false:
126
+ ```
127
+ Error: git is not available. Install git or use --strategy clone.
128
+ ```
129
+
130
+ Report all validation errors at once, not one at a time.
131
+
132
+ ## 6. Create Workspace
133
+
134
+ ```bash
135
+ mkdir -p "$TARGET_PATH"
136
+ ```
137
+
138
+ ### For each repo:
139
+
140
+ **Worktree strategy:**
141
+ ```bash
142
+ cd "$SOURCE_REPO_PATH"
143
+ git worktree add "$TARGET_PATH/$REPO_NAME" -b "$BRANCH_NAME" 2>&1
144
+ ```
145
+
146
+ If `git worktree add` fails because the branch already exists, try with a timestamped branch:
147
+ ```bash
148
+ TIMESTAMP=$(date +%Y%m%d%H%M%S)
149
+ git worktree add "$TARGET_PATH/$REPO_NAME" -b "${BRANCH_NAME}-${TIMESTAMP}" 2>&1
150
+ ```
151
+
152
+ If that also fails, report the error and continue with remaining repos.
153
+
154
+ **Clone strategy:**
155
+ ```bash
156
+ git clone "$SOURCE_REPO_PATH" "$TARGET_PATH/$REPO_NAME" 2>&1
157
+ cd "$TARGET_PATH/$REPO_NAME"
158
+ git checkout -b "$BRANCH_NAME" 2>&1
159
+ ```
160
+
161
+ Track results: which repos succeeded, which failed, what branch was used.
162
+
163
+ ## 7. Write WORKSPACE.md
164
+
165
+ Write the workspace manifest at `$TARGET_PATH/WORKSPACE.md`:
166
+
167
+ ```markdown
168
+ # Workspace: $WORKSPACE_NAME
169
+
170
+ Created: $DATE
171
+ Strategy: $STRATEGY
172
+
173
+ ## Member Repos
174
+
175
+ | Repo | Source | Branch | Strategy |
176
+ |------|--------|--------|----------|
177
+ | $REPO_NAME | $SOURCE_PATH | $BRANCH | $STRATEGY |
178
+ ...for each repo...
179
+
180
+ ## Notes
181
+
182
+ [Add context about what this workspace is for]
183
+ ```
184
+
185
+ ## 8. Initialize .planning/
186
+
187
+ ```bash
188
+ mkdir -p "$TARGET_PATH/.planning"
189
+ ```
190
+
191
+ ## 9. Report and Next Steps
192
+
193
+ **If all repos succeeded:**
194
+
195
+ ```
196
+ Workspace created: $TARGET_PATH
197
+
198
+ Repos: $REPO_COUNT
199
+ Strategy: $STRATEGY
200
+ Branch: $BRANCH_NAME
201
+
202
+ Next steps:
203
+ cd $TARGET_PATH
204
+ /new-project # Initialize framework in the workspace
205
+ ```
206
+
207
+ **If some repos failed:**
208
+
209
+ ```
210
+ Workspace created with $SUCCESS_COUNT of $TOTAL_COUNT repos: $TARGET_PATH
211
+
212
+ Succeeded: repo1, repo2
213
+ Failed: repo3 (branch already exists), repo4 (not a git repo)
214
+
215
+ Next steps:
216
+ cd $TARGET_PATH
217
+ /new-project # Initialize framework in the workspace
218
+ ```
219
+
220
+ **Offer to initialize framework (if not `--auto`):**
221
+
222
+ Use AskUserQuestion:
223
+ - header: "Initialize framework"
224
+ - question: "Would you like to initialize a framework project in the new workspace?"
225
+ - options:
226
+ - "Yes — run /new-project" → tell user to `cd $TARGET_PATH` first, then run `/new-project`
227
+ - "No — I'll set it up later" → done
228
+
229
+ </process>
230
+
231
+ <success_criteria>
232
+ - [ ] Workspace directory created at target path
233
+ - [ ] All specified repos copied (worktree or clone) into workspace
234
+ - [ ] WORKSPACE.md manifest written with correct repo table
235
+ - [ ] `.planning/` directory initialized at workspace root
236
+ - [ ] User informed of workspace path and next steps
237
+ </success_criteria>
@@ -1,97 +1,97 @@
1
- <purpose>
2
- Detectar o estado atual do projeto e avançar automaticamente para o próximo passo lógico do workflow framework.
3
- Lê o estado do projeto para determinar a progressão: discussão → planejamento → execução → verificação → conclusão.
4
- </purpose>
5
-
6
- <required_reading>
7
- Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de começar.
8
- </required_reading>
9
-
10
- <process>
11
-
12
- <step name="detect_state">
13
- Ler o estado do projeto para determinar a posição atual:
14
-
15
- ```bash
16
- # Obter snapshot do estado
17
- node "./.claude/framework/bin/tools.cjs" state json 2>/dev/null || echo "{}"
18
- ```
19
-
20
- Também ler:
21
- - `.planning/STATE.md` — fase atual, progresso, contagens de planos
22
- - `.planning/ROADMAP.md` — estrutura do milestone e lista de fases
23
-
24
- Extrair:
25
- - `current_phase` — qual fase está ativa
26
- - `plan_of` / `plans_total` — progresso de execução de planos
27
- - `progress` — percentual geral
28
- - `status` — ativo, pausado, etc.
29
-
30
- Se o diretório `.planning/` não existir:
31
- ```
32
- Nenhum projeto framework detectado. Execute `/novo-projeto` para começar.
33
- ```
34
- Sair.
35
- </step>
36
-
37
- <step name="determine_next_action">
38
- Aplicar regras de roteamento com base no estado:
39
-
40
- **Rota 1: Nenhuma fase existe ainda → discussão**
41
- Se o ROADMAP tem fases mas nenhum diretório de fase existe no disco:
42
- → Próxima ação: `/discutir-fase <primeira-fase>`
43
-
44
- **Rota 2: Fase existe mas não tem CONTEXT.md ou RESEARCH.md → discussão**
45
- Se o diretório da fase atual existe mas não tem CONTEXT.md nem RESEARCH.md:
46
- → Próxima ação: `/discutir-fase <fase-atual>`
47
-
48
- **Rota 3: Fase tem contexto mas sem planos → planejamento**
49
- Se a fase atual tem CONTEXT.md (ou RESEARCH.md) mas nenhum arquivo PLAN.md:
50
- → Próxima ação: `/planejar-fase <fase-atual>`
51
-
52
- **Rota 4: Fase tem planos mas summaries incompletos → execução**
53
- Se planos existem mas nem todos têm summaries correspondentes:
54
- → Próxima ação: `/executar-fase <fase-atual>`
55
-
56
- **Rota 5: Todos os planos têm summaries → verificar e concluir**
57
- Se todos os planos na fase atual têm summaries:
58
- → Próxima ação: `/verificar-trabalho` então `/complete-phase`
59
-
60
- **Rota 6: Fase concluída, próxima fase existe → avançar**
61
- Se a fase atual está concluída e a próxima fase existe no ROADMAP:
62
- → Próxima ação: `/discutir-fase <proxima-fase>`
63
-
64
- **Rota 7: Todas as fases concluídas → concluir milestone**
65
- Se todas as fases estão concluídas:
66
- → Próxima ação: `/concluir-marco`
67
-
68
- **Rota 8: Pausado → retomar**
69
- Se STATE.md mostra paused_at:
70
- → Próxima ação: `/retomar-trabalho`
71
- </step>
72
-
73
- <step name="show_and_execute">
74
- Exibir a determinação:
75
-
76
- ```
77
- ## framework Próximo
78
-
79
- **Atual:** Fase [N] — [nome] | [progresso]%
80
- **Status:** [descrição do status]
81
-
82
- ▶ **Próximo passo:** `/[comando] [args]`
83
- [Explicação em uma linha de por que este é o próximo passo]
84
- ```
85
-
86
- Então invocar imediatamente o comando determinado via SlashCommand.
87
- Não pedir confirmação — o objetivo do `/proximo` é avanço sem fricção.
88
- </step>
89
-
90
- </process>
91
-
92
- <success_criteria>
93
- - [ ] Estado do projeto detectado corretamente
94
- - [ ] Próxima ação determinada corretamente pelas regras de roteamento
95
- - [ ] Comando invocado imediatamente sem confirmação do usuário
96
- - [ ] Status claro mostrado antes de invocar
97
- </success_criteria>
1
+ <purpose>
2
+ Detectar o estado atual do projeto e avançar automaticamente para o próximo passo lógico do workflow framework.
3
+ Lê o estado do projeto para determinar a progressão: discussão → planejamento → execução → verificação → conclusão.
4
+ </purpose>
5
+
6
+ <required_reading>
7
+ Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de começar.
8
+ </required_reading>
9
+
10
+ <process>
11
+
12
+ <step name="detect_state">
13
+ Ler o estado do projeto para determinar a posição atual:
14
+
15
+ ```bash
16
+ # Obter snapshot do estado
17
+ node "./.claude/framework/bin/tools.cjs" state json 2>/dev/null || echo "{}"
18
+ ```
19
+
20
+ Também ler:
21
+ - `.planning/STATE.md` — fase atual, progresso, contagens de planos
22
+ - `.planning/ROADMAP.md` — estrutura do milestone e lista de fases
23
+
24
+ Extrair:
25
+ - `current_phase` — qual fase está ativa
26
+ - `plan_of` / `plans_total` — progresso de execução de planos
27
+ - `progress` — percentual geral
28
+ - `status` — ativo, pausado, etc.
29
+
30
+ Se o diretório `.planning/` não existir:
31
+ ```
32
+ Nenhum projeto framework detectado. Execute `/novo-projeto` para começar.
33
+ ```
34
+ Sair.
35
+ </step>
36
+
37
+ <step name="determine_next_action">
38
+ Aplicar regras de roteamento com base no estado:
39
+
40
+ **Rota 1: Nenhuma fase existe ainda → discussão**
41
+ Se o ROADMAP tem fases mas nenhum diretório de fase existe no disco:
42
+ → Próxima ação: `/discutir-fase <primeira-fase>`
43
+
44
+ **Rota 2: Fase existe mas não tem CONTEXT.md ou RESEARCH.md → discussão**
45
+ Se o diretório da fase atual existe mas não tem CONTEXT.md nem RESEARCH.md:
46
+ → Próxima ação: `/discutir-fase <fase-atual>`
47
+
48
+ **Rota 3: Fase tem contexto mas sem planos → planejamento**
49
+ Se a fase atual tem CONTEXT.md (ou RESEARCH.md) mas nenhum arquivo PLAN.md:
50
+ → Próxima ação: `/planejar-fase <fase-atual>`
51
+
52
+ **Rota 4: Fase tem planos mas summaries incompletos → execução**
53
+ Se planos existem mas nem todos têm summaries correspondentes:
54
+ → Próxima ação: `/executar-fase <fase-atual>`
55
+
56
+ **Rota 5: Todos os planos têm summaries → verificar e concluir**
57
+ Se todos os planos na fase atual têm summaries:
58
+ → Próxima ação: `/verificar-trabalho` então `/complete-phase`
59
+
60
+ **Rota 6: Fase concluída, próxima fase existe → avançar**
61
+ Se a fase atual está concluída e a próxima fase existe no ROADMAP:
62
+ → Próxima ação: `/discutir-fase <proxima-fase>`
63
+
64
+ **Rota 7: Todas as fases concluídas → concluir milestone**
65
+ Se todas as fases estão concluídas:
66
+ → Próxima ação: `/concluir-marco`
67
+
68
+ **Rota 8: Pausado → retomar**
69
+ Se STATE.md mostra paused_at:
70
+ → Próxima ação: `/retomar-trabalho`
71
+ </step>
72
+
73
+ <step name="show_and_execute">
74
+ Exibir a determinação:
75
+
76
+ ```
77
+ ## framework Próximo
78
+
79
+ **Atual:** Fase [N] — [nome] | [progresso]%
80
+ **Status:** [descrição do status]
81
+
82
+ ▶ **Próximo passo:** `/[comando] [args]`
83
+ [Explicação em uma linha de por que este é o próximo passo]
84
+ ```
85
+
86
+ Então invocar imediatamente o comando determinado via SlashCommand.
87
+ Não pedir confirmação — o objetivo do `/proximo` é avanço sem fricção.
88
+ </step>
89
+
90
+ </process>
91
+
92
+ <success_criteria>
93
+ - [ ] Estado do projeto detectado corretamente
94
+ - [ ] Próxima ação determinada corretamente pelas regras de roteamento
95
+ - [ ] Comando invocado imediatamente sem confirmação do usuário
96
+ - [ ] Status claro mostrado antes de invocar
97
+ </success_criteria>