@luanpdd/kit-mcp 1.21.0 → 1.26.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 (275) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +914 -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/audit-log-implementer.md +138 -0
  8. package/kit/agents/auditor-consistencia-isolamento.md +413 -0
  9. package/kit/agents/codebase-mapper.md +768 -768
  10. package/kit/agents/crm-pipeline-implementer.md +106 -0
  11. package/kit/agents/debugger.md +813 -772
  12. package/kit/agents/detector-tenant-quente.md +337 -0
  13. package/kit/agents/evolution-go-integrator.md +21 -0
  14. package/kit/agents/example-reviewer.md +21 -21
  15. package/kit/agents/executor.md +564 -523
  16. package/kit/agents/integration-checker.md +200 -200
  17. package/kit/agents/invite-flow-implementer.md +52 -0
  18. package/kit/agents/lgpd-compliance-auditor.md +89 -0
  19. package/kit/agents/multi-tenant-isolation-auditor.md +10 -0
  20. package/kit/agents/multi-tenant-rls-writer.md +78 -0
  21. package/kit/agents/nyquist-auditor.md +178 -178
  22. package/kit/agents/org-onboarding-implementer.md +21 -0
  23. package/kit/agents/phase-researcher.md +696 -696
  24. package/kit/agents/plan-checker.md +272 -272
  25. package/kit/agents/planner.md +922 -891
  26. package/kit/agents/project-researcher.md +652 -652
  27. package/kit/agents/research-synthesizer.md +245 -245
  28. package/kit/agents/roadmapper.md +677 -677
  29. package/kit/agents/supabase-architect.md +27 -0
  30. package/kit/agents/supabase-auth-bootstrapper.md +80 -0
  31. package/kit/agents/supabase-column-privileges-writer.md +399 -0
  32. package/kit/agents/supabase-migration-writer.md +141 -14
  33. package/kit/agents/supabase-rbac-implementer.md +392 -0
  34. package/kit/agents/supabase-rls-hardener.md +521 -0
  35. package/kit/agents/supabase-rls-writer.md +105 -9
  36. package/kit/agents/supabase-roles-implementer.md +355 -0
  37. package/kit/agents/super-admin-implementer.md +99 -0
  38. package/kit/agents/ui-auditor.md +437 -437
  39. package/kit/agents/ui-checker.md +302 -302
  40. package/kit/agents/ui-researcher.md +355 -355
  41. package/kit/agents/user-profiler.md +175 -175
  42. package/kit/agents/validador-evolucao-schema.md +335 -0
  43. package/kit/agents/verifier.md +728 -728
  44. package/kit/commands/adicionar-backlog.md +75 -75
  45. package/kit/commands/adicionar-fase.md +42 -42
  46. package/kit/commands/adicionar-tarefa.md +45 -45
  47. package/kit/commands/adicionar-testes.md +41 -41
  48. package/kit/commands/ajuda.md +21 -21
  49. package/kit/commands/atualizar.md +37 -37
  50. package/kit/commands/auditar-marco.md +179 -179
  51. package/kit/commands/auditar-uat.md +23 -23
  52. package/kit/commands/autonomo.md +40 -40
  53. package/kit/commands/branch-pr.md +24 -24
  54. package/kit/commands/concluir-marco.md +247 -247
  55. package/kit/commands/configuracoes.md +36 -36
  56. package/kit/commands/dados-distribuidos.md +188 -0
  57. package/kit/commands/definir-perfil.md +10 -10
  58. package/kit/commands/depurar.md +190 -190
  59. package/kit/commands/discutir-fase.md +131 -131
  60. package/kit/commands/entrar-discord.md +17 -17
  61. package/kit/commands/estatisticas.md +18 -18
  62. package/kit/commands/example-greeting.md +33 -33
  63. package/kit/commands/executar-fase.md +58 -58
  64. package/kit/commands/expresso.md +56 -56
  65. package/kit/commands/fase-ui.md +34 -34
  66. package/kit/commands/fazer.md +57 -57
  67. package/kit/commands/fio.md +125 -125
  68. package/kit/commands/fluxos-trabalho.md +64 -64
  69. package/kit/commands/forense.md +176 -176
  70. package/kit/commands/gerenciador.md +38 -38
  71. package/kit/commands/inserir-fase.md +31 -31
  72. package/kit/commands/limpeza.md +17 -17
  73. package/kit/commands/listar-hipoteses-fase.md +45 -45
  74. package/kit/commands/listar-workspaces.md +18 -18
  75. package/kit/commands/mapear-codebase.md +70 -70
  76. package/kit/commands/nota.md +33 -33
  77. package/kit/commands/novo-marco.md +43 -43
  78. package/kit/commands/novo-projeto.md +41 -41
  79. package/kit/commands/novo-workspace.md +43 -43
  80. package/kit/commands/pausar-trabalho.md +37 -37
  81. package/kit/commands/perfil-usuario.md +45 -45
  82. package/kit/commands/pesquisar-fase.md +195 -195
  83. package/kit/commands/planejar-fase.md +67 -67
  84. package/kit/commands/planejar-lacunas.md +33 -33
  85. package/kit/commands/plantar-ideia.md +25 -25
  86. package/kit/commands/progresso.md +24 -24
  87. package/kit/commands/proximo.md +30 -30
  88. package/kit/commands/publicar.md +490 -490
  89. package/kit/commands/rapido.md +35 -35
  90. package/kit/commands/reaplicar-patches.md +124 -124
  91. package/kit/commands/relatorio-sessao.md +19 -19
  92. package/kit/commands/remover-fase.md +31 -31
  93. package/kit/commands/remover-workspace.md +26 -26
  94. package/kit/commands/resumo-marco.md +50 -50
  95. package/kit/commands/retomar-trabalho.md +40 -40
  96. package/kit/commands/revisar-backlog.md +60 -60
  97. package/kit/commands/revisar-ui.md +32 -32
  98. package/kit/commands/revisar.md +37 -37
  99. package/kit/commands/saude.md +21 -21
  100. package/kit/commands/setup-notion.md +93 -93
  101. package/kit/commands/supabase.md +55 -8
  102. package/kit/commands/sync-main.md +68 -68
  103. package/kit/commands/validar-fase.md +35 -35
  104. package/kit/commands/verificar-tarefas.md +44 -44
  105. package/kit/commands/verificar-trabalho.md +64 -64
  106. package/kit/file-manifest.json +52 -32
  107. package/kit/framework/bin/lib/commands.cjs +959 -959
  108. package/kit/framework/bin/lib/config.cjs +442 -442
  109. package/kit/framework/bin/lib/core.cjs +1230 -1230
  110. package/kit/framework/bin/lib/frontmatter.cjs +336 -336
  111. package/kit/framework/bin/lib/init.cjs +1442 -1442
  112. package/kit/framework/bin/lib/milestone.cjs +252 -252
  113. package/kit/framework/bin/lib/model-profiles.cjs +68 -68
  114. package/kit/framework/bin/lib/phase.cjs +888 -888
  115. package/kit/framework/bin/lib/profile-output.cjs +952 -952
  116. package/kit/framework/bin/lib/profile-pipeline.cjs +539 -539
  117. package/kit/framework/bin/lib/roadmap.cjs +329 -329
  118. package/kit/framework/bin/lib/security.cjs +382 -382
  119. package/kit/framework/bin/lib/state.cjs +1031 -1031
  120. package/kit/framework/bin/lib/template.cjs +222 -222
  121. package/kit/framework/bin/lib/uat.cjs +282 -282
  122. package/kit/framework/bin/lib/verify.cjs +888 -888
  123. package/kit/framework/bin/lib/workstream.cjs +491 -491
  124. package/kit/framework/bin/tools.cjs +918 -918
  125. package/kit/framework/commands/workstreams.md +63 -63
  126. package/kit/framework/references/checkpoints.md +778 -778
  127. package/kit/framework/references/continuation-format.md +249 -249
  128. package/kit/framework/references/decimal-phase-calculation.md +64 -64
  129. package/kit/framework/references/git-integration.md +295 -295
  130. package/kit/framework/references/git-planning-commit.md +38 -38
  131. package/kit/framework/references/model-profile-resolution.md +36 -36
  132. package/kit/framework/references/model-profiles.md +139 -139
  133. package/kit/framework/references/phase-argument-parsing.md +61 -61
  134. package/kit/framework/references/planning-config.md +202 -202
  135. package/kit/framework/references/questioning.md +162 -162
  136. package/kit/framework/references/tdd.md +263 -263
  137. package/kit/framework/references/ui-brand.md +160 -160
  138. package/kit/framework/references/user-profiling.md +657 -657
  139. package/kit/framework/references/verification-patterns.md +612 -612
  140. package/kit/framework/references/workstream-flag.md +58 -58
  141. package/kit/framework/templates/DEBUG.md +164 -164
  142. package/kit/framework/templates/UAT.md +265 -265
  143. package/kit/framework/templates/UI-SPEC.md +100 -100
  144. package/kit/framework/templates/VALIDATION.md +76 -76
  145. package/kit/framework/templates/claude-md.md +122 -122
  146. package/kit/framework/templates/codebase/architecture.md +185 -185
  147. package/kit/framework/templates/codebase/concerns.md +205 -205
  148. package/kit/framework/templates/codebase/conventions.md +204 -204
  149. package/kit/framework/templates/codebase/integrations.md +192 -192
  150. package/kit/framework/templates/codebase/stack.md +158 -158
  151. package/kit/framework/templates/codebase/structure.md +199 -199
  152. package/kit/framework/templates/codebase/testing.md +301 -301
  153. package/kit/framework/templates/config.json +44 -44
  154. package/kit/framework/templates/context.md +352 -352
  155. package/kit/framework/templates/continue-here.md +78 -78
  156. package/kit/framework/templates/copilot-instructions.md +7 -7
  157. package/kit/framework/templates/debug-subagent-prompt.md +91 -91
  158. package/kit/framework/templates/dev-preferences.md +20 -20
  159. package/kit/framework/templates/discovery.md +146 -146
  160. package/kit/framework/templates/discussion-log.md +63 -63
  161. package/kit/framework/templates/milestone-archive.md +123 -123
  162. package/kit/framework/templates/milestone.md +115 -115
  163. package/kit/framework/templates/phase-prompt.md +610 -610
  164. package/kit/framework/templates/planner-subagent-prompt.md +117 -117
  165. package/kit/framework/templates/project.md +186 -186
  166. package/kit/framework/templates/requirements.md +231 -231
  167. package/kit/framework/templates/research-project/ARCHITECTURE.md +204 -204
  168. package/kit/framework/templates/research-project/FEATURES.md +147 -147
  169. package/kit/framework/templates/research-project/PITFALLS.md +200 -200
  170. package/kit/framework/templates/research-project/STACK.md +120 -120
  171. package/kit/framework/templates/research-project/SUMMARY.md +170 -170
  172. package/kit/framework/templates/research.md +419 -419
  173. package/kit/framework/templates/retrospective.md +54 -54
  174. package/kit/framework/templates/roadmap.md +202 -202
  175. package/kit/framework/templates/state.md +176 -176
  176. package/kit/framework/templates/summary-complex.md +59 -59
  177. package/kit/framework/templates/summary-minimal.md +41 -41
  178. package/kit/framework/templates/summary-standard.md +48 -48
  179. package/kit/framework/templates/summary.md +209 -209
  180. package/kit/framework/templates/user-profile.md +146 -146
  181. package/kit/framework/templates/user-setup.md +256 -256
  182. package/kit/framework/templates/verification-report.md +258 -258
  183. package/kit/framework/workflows/add-phase.md +112 -112
  184. package/kit/framework/workflows/add-tests.md +351 -351
  185. package/kit/framework/workflows/add-todo.md +158 -158
  186. package/kit/framework/workflows/audit-milestone.md +340 -340
  187. package/kit/framework/workflows/audit-uat.md +109 -109
  188. package/kit/framework/workflows/autonomous.md +891 -891
  189. package/kit/framework/workflows/check-todos.md +177 -177
  190. package/kit/framework/workflows/cleanup.md +152 -152
  191. package/kit/framework/workflows/complete-milestone.md +696 -696
  192. package/kit/framework/workflows/diagnose-issues.md +231 -231
  193. package/kit/framework/workflows/discovery-phase.md +289 -289
  194. package/kit/framework/workflows/discuss-phase-assumptions.md +653 -653
  195. package/kit/framework/workflows/discuss-phase.md +784 -784
  196. package/kit/framework/workflows/do.md +104 -104
  197. package/kit/framework/workflows/execute-phase.md +838 -838
  198. package/kit/framework/workflows/execute-plan.md +510 -510
  199. package/kit/framework/workflows/fast.md +102 -102
  200. package/kit/framework/workflows/forensics.md +265 -265
  201. package/kit/framework/workflows/health.md +181 -181
  202. package/kit/framework/workflows/help.md +619 -619
  203. package/kit/framework/workflows/insert-phase.md +130 -130
  204. package/kit/framework/workflows/list-phase-assumptions.md +178 -178
  205. package/kit/framework/workflows/list-workspaces.md +56 -56
  206. package/kit/framework/workflows/manager.md +362 -362
  207. package/kit/framework/workflows/map-codebase.md +377 -377
  208. package/kit/framework/workflows/milestone-summary.md +223 -223
  209. package/kit/framework/workflows/new-milestone.md +486 -486
  210. package/kit/framework/workflows/new-project.md +1159 -1159
  211. package/kit/framework/workflows/new-workspace.md +237 -237
  212. package/kit/framework/workflows/next.md +97 -97
  213. package/kit/framework/workflows/node-repair.md +92 -92
  214. package/kit/framework/workflows/note.md +156 -156
  215. package/kit/framework/workflows/pause-work.md +176 -176
  216. package/kit/framework/workflows/plan-milestone-gaps.md +273 -273
  217. package/kit/framework/workflows/plan-phase.md +765 -765
  218. package/kit/framework/workflows/plant-seed.md +169 -169
  219. package/kit/framework/workflows/pr-branch.md +129 -129
  220. package/kit/framework/workflows/profile-user.md +450 -450
  221. package/kit/framework/workflows/progress.md +507 -507
  222. package/kit/framework/workflows/quick.md +757 -757
  223. package/kit/framework/workflows/remove-phase.md +155 -155
  224. package/kit/framework/workflows/remove-workspace.md +90 -90
  225. package/kit/framework/workflows/research-phase.md +82 -82
  226. package/kit/framework/workflows/resume-project.md +326 -326
  227. package/kit/framework/workflows/review.md +228 -228
  228. package/kit/framework/workflows/session-report.md +146 -146
  229. package/kit/framework/workflows/settings.md +283 -283
  230. package/kit/framework/workflows/ship.md +228 -228
  231. package/kit/framework/workflows/stats.md +60 -60
  232. package/kit/framework/workflows/transition.md +671 -671
  233. package/kit/framework/workflows/ui-phase.md +302 -302
  234. package/kit/framework/workflows/ui-review.md +165 -165
  235. package/kit/framework/workflows/update.md +323 -323
  236. package/kit/framework/workflows/validate-phase.md +174 -174
  237. package/kit/framework/workflows/verify-phase.md +252 -252
  238. package/kit/framework/workflows/verify-work.md +637 -637
  239. package/kit/hooks/check-update.js +118 -118
  240. package/kit/hooks/context-monitor.js +163 -163
  241. package/kit/hooks/prompt-guard.js +103 -103
  242. package/kit/hooks/statusline.js +125 -125
  243. package/kit/hooks/workflow-guard.js +101 -101
  244. package/kit/settings.json +45 -45
  245. package/kit/skills/_shared-dados-distribuidos/glossary.md +224 -0
  246. package/kit/skills/_shared-supabase/glossary.md +27 -0
  247. package/kit/skills/armadilhas-sistemas-distribuidos/SKILL.md +447 -0
  248. package/kit/skills/audit-log-multi-tenant/SKILL.md +6 -0
  249. package/kit/skills/cascading-failures/SKILL.md +4 -0
  250. package/kit/skills/consistencia-leitura-replica/SKILL.md +385 -0
  251. package/kit/skills/crm-lead-pipeline-patterns/SKILL.md +17 -0
  252. package/kit/skills/escolha-modelo-consistencia/SKILL.md +495 -0
  253. package/kit/skills/evolucao-schema-compativel/SKILL.md +448 -0
  254. package/kit/skills/example-skill/SKILL.md +42 -42
  255. package/kit/skills/multi-tenant-performance-scaling/SKILL.md +4 -0
  256. package/kit/skills/multi-tenant-rls-hierarchy/SKILL.md +4 -0
  257. package/kit/skills/postgres-isolamento-concorrencia/SKILL.md +552 -0
  258. package/kit/skills/rbac-permissions-matrix-supabase/SKILL.md +37 -0
  259. package/kit/skills/streams-eventos-cdc/SKILL.md +712 -0
  260. package/kit/skills/supabase-column-level-security/SKILL.md +426 -0
  261. package/kit/skills/supabase-cron-queues/SKILL.md +9 -0
  262. package/kit/skills/supabase-custom-claims-rbac/SKILL.md +472 -0
  263. package/kit/skills/supabase-database-functions/SKILL.md +85 -0
  264. package/kit/skills/supabase-migrations/SKILL.md +133 -11
  265. package/kit/skills/supabase-postgres-roles/SKILL.md +392 -0
  266. package/kit/skills/supabase-rls-defense-in-depth/SKILL.md +418 -0
  267. package/kit/skills/supabase-rls-policies/SKILL.md +462 -12
  268. package/kit/skills/super-admin-platform-pattern/SKILL.md +4 -0
  269. package/kit/skills/tenant-quente-mitigacao/SKILL.md +605 -0
  270. package/package.json +63 -63
  271. package/src/core/kit.js +216 -216
  272. package/src/core/reflect.js +247 -247
  273. package/src/core/reverse-sync.js +372 -372
  274. package/src/core/sync.js +418 -418
  275. 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>