@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,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>