vibe-coding-master 0.0.6 → 0.0.8

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 (50) hide show
  1. package/README.md +207 -66
  2. package/dist/backend/adapters/filesystem.js +13 -0
  3. package/dist/backend/adapters/git-adapter.js +79 -1
  4. package/dist/backend/adapters/translation-provider.js +145 -0
  5. package/dist/backend/api/artifact-routes.js +16 -7
  6. package/dist/backend/api/harness-routes.js +22 -0
  7. package/dist/backend/api/message-routes.js +2 -0
  8. package/dist/backend/api/project-routes.js +3 -8
  9. package/dist/backend/api/task-routes.js +14 -0
  10. package/dist/backend/api/translation-routes.js +70 -0
  11. package/dist/backend/runtime/node-pty-runtime.js +20 -18
  12. package/dist/backend/server.js +33 -2
  13. package/dist/backend/services/app-settings-service.js +128 -0
  14. package/dist/backend/services/artifact-service.js +7 -4
  15. package/dist/backend/services/claude-transcript-service.js +509 -0
  16. package/dist/backend/services/command-dispatcher.js +4 -2
  17. package/dist/backend/services/harness-service.js +196 -0
  18. package/dist/backend/services/message-service.js +1 -1
  19. package/dist/backend/services/project-service.js +50 -9
  20. package/dist/backend/services/session-service.js +13 -9
  21. package/dist/backend/services/status-service.js +79 -1
  22. package/dist/backend/services/task-service.js +118 -4
  23. package/dist/backend/services/translation-prompts.js +173 -0
  24. package/dist/backend/services/translation-queue.js +39 -0
  25. package/dist/backend/services/translation-service.js +546 -0
  26. package/dist/backend/templates/handoff.js +32 -0
  27. package/dist/backend/templates/harness/architect-agent.js +12 -0
  28. package/dist/backend/templates/harness/claude-root.js +14 -0
  29. package/dist/backend/templates/harness/coder-agent.js +11 -0
  30. package/dist/backend/templates/harness/gitignore.js +9 -0
  31. package/dist/backend/templates/harness/project-manager-agent.js +14 -0
  32. package/dist/backend/templates/harness/reviewer-agent.js +13 -0
  33. package/dist/backend/ws/translation-ws.js +35 -0
  34. package/dist/shared/types/harness.js +1 -0
  35. package/dist/shared/types/translation.js +5 -0
  36. package/dist/shared/validation/artifact-check.js +15 -1
  37. package/dist/shared/validation/language-detect.js +46 -0
  38. package/dist-frontend/assets/index-CuiNNOzj.css +32 -0
  39. package/dist-frontend/assets/index-D59GuHCR.js +58 -0
  40. package/dist-frontend/index.html +2 -2
  41. package/docs/cc-best-practices.md +109 -40
  42. package/docs/product-design.md +370 -1374
  43. package/docs/v1-architecture-design.md +595 -1114
  44. package/docs/v1-implementation-plan.md +898 -1603
  45. package/package.json +1 -1
  46. package/scripts/verify-package.mjs +8 -0
  47. package/dist/backend/templates/role-messaging-context.js +0 -44
  48. package/dist-frontend/assets/index-Bah6k-Ix.css +0 -32
  49. package/dist-frontend/assets/index-EMaQuIB6.js +0 -58
  50. package/docs/v1-message-bus-orchestration-design.md +0 -534
@@ -1,1307 +1,387 @@
1
- # VibeCodingMaster 产品设计文档
1
+ # VibeCodingMaster Product Design
2
2
 
3
- 版本:v0.1
4
- 日期:2026-05-29
5
- 状态:产品设计草案
6
- 依据:`docs/cc-best-practices.md`
3
+ Last updated: 2026-05-31
7
4
 
8
- ## 1. 产品定位
5
+ This document describes the current product direction and implemented V1 behavior for VCM.
9
6
 
10
- VibeCodingMaster 是面向 Claude Code 的本地 GUI 多 session 工作台,也是 AI Project Manager 和 Harness Manager。
7
+ ## 1. Product Positioning
11
8
 
12
- 它把用户的自然语言需求转化为可计划、可执行、可验证、可审查、可沉淀的工程任务,并在一个图形化任务工作台中托管多个 Claude Code role sessions,让用户可以在 `project-manager`、`architect`、`coder`、`reviewer` session 之间切换、沟通、观察输出和管理交接 artifact。
9
+ VibeCodingMaster is a local GUI task workspace for Claude Code.
13
10
 
14
- 一句话:
11
+ It helps a user run one engineering task through several explicit Claude Code role sessions:
15
12
 
16
- > VibeCodingMaster 不是让用户手动管理一堆终端和 prompt,而是把多个 Claude Code sessions 放进一个可视化、有角色、有契约、有测试、有交接、有验收的本地工程工作台里。
13
+ - `project-manager`
14
+ - `architect`
15
+ - `coder`
16
+ - `reviewer`
17
17
 
18
- 核心闭环:
18
+ The user should mostly talk to `project-manager`. The project manager coordinates the other roles through VCM messaging and durable handoff files. The user can still switch into any role session to inspect, guide, or interrupt.
19
19
 
20
- ```text
21
- user intent
22
- -> GUI task workspace
23
- -> project manager session clarification
24
- -> project manager command planning
25
- -> task severity classification
26
- -> task spec
27
- -> required role route
28
- -> role session cockpit
29
- -> role-specific command generation
30
- -> architecture plan
31
- -> public contract review
32
- -> Claude Code implementation
33
- -> validation
34
- -> independent AI review
35
- -> replan when needed
36
- -> PR / final acceptance
37
- -> project memory update
38
- ```
39
-
40
- ## 2. 产品背景
41
-
42
- Claude Code 已经可以在真实项目中高效写代码,但复杂项目里的失败通常不是因为模型完全不会写代码,而是因为缺少工程控制层:
43
-
44
- - 需求没有被澄清,Claude Code 直接开始改代码。
45
- - 任务没有 scope、non-goals、public contract、test contract。
46
- - 一个 session 同时承担架构、编码、测试、review,导致自我确认。
47
- - 任务进度、实现偏差、验证结果和决策只留在聊天里,无法跨 session 延续。
48
- - 文档、模块边界、测试策略和代码变化不同步。
49
- - AI 发现了计划问题,但没有正式 Replan 协议,只能边做边改。
50
- - 代码完成后缺少独立 reviewer 和验收清单。
51
-
52
- 最新最佳实践的核心判断是:
53
-
54
- > AI coding reliability comes from two things: public contract design prevents architecture drift, and public contract tests prevent behavior drift.
55
-
56
- VibeCodingMaster 的产品机会,就是把这条原则变成日常 AI 编程工作流。
57
-
58
- ## 3. 核心价值
59
-
60
- ### 3.1 对用户
61
-
62
- - 用户可以用自然语言描述需求,不需要手写复杂 Claude Code prompt。
63
- - 用户能在编码前看到清晰的实现方案和风险。
64
- - 用户能知道 Claude Code 做了什么、为什么这么做、如何验证。
65
- - 用户能把长期项目的经验沉淀到 repo,而不是沉没在聊天记录里。
66
-
67
- ### 3.2 对工程团队
68
-
69
- - 降低 AI 编码带来的架构漂移。
70
- - 降低行为回归和测试缺失。
71
- - 让高风险任务进入更严格的角色路由和 human approval。
72
- - 让 AI 生成代码具备可审计的任务、计划、验证和 review 证据。
73
-
74
- ### 3.3 对 Claude Code
75
-
76
- - 给 Claude Code 提供正确上下文,而不是大量噪音。
77
- - 把模糊需求转成明确 task spec。
78
- - 用 public contract 限制可变范围。
79
- - 用 contract tests 和 validation commands 提供可执行反馈。
80
- - 用 handoff artifacts 跨 session 保留任务状态。
81
-
82
- ## 4. 目标用户
83
-
84
- ### 4.1 Solo Builder
20
+ VCM is not a hosted SaaS product. It runs locally, connects to a local repository path, starts local Claude Code processes, and writes local task metadata into that repository.
85
21
 
86
- 已经使用 Claude Code 做大量开发,但经常遇到:
22
+ ## 2. Product Goals
87
23
 
88
- - 改错文件。
89
- - 一次做太多。
90
- - 上下文丢失。
91
- - 测试没跑。
92
- - 代码能跑但架构变形。
24
+ VCM V1 must make multi-session Claude Code work visible and recoverable:
93
25
 
94
- VibeCodingMaster 帮他把想法整理成小步、可验证、可回滚的任务。
26
+ - Connect a local Git repository.
27
+ - Create a named task with its own branch and task-level worktree by default.
28
+ - Start, stop, restart, and resume one Claude Code session per role.
29
+ - Keep role terminals embedded in one GUI.
30
+ - Preserve task state, session state, handoff files, message history, and raw terminal logs.
31
+ - Let roles communicate through a PM-mediated message bus.
32
+ - Let users choose between manual message approval and auto orchestration.
33
+ - Install or update VCM role rules into `CLAUDE.md` and `.claude/agents/*.md`.
34
+ - Provide a low-cost translation layer so the user can write Chinese while Claude Code receives English engineering instructions.
35
+ - Clean up completed task worktrees and VCM task metadata when the task is done.
95
36
 
96
- ### 4.2 Tech Lead
37
+ ## 3. Non-Goals
97
38
 
98
- 希望团队使用 Claude Code 提升吞吐量,但担心:
39
+ V1 does not include:
99
40
 
100
- - 架构边界被打穿。
101
- - 测试质量下降。
102
- - public API 被随意修改。
103
- - 高风险业务逻辑缺少审查。
41
+ - tmux.
42
+ - Worktree isolation per role.
43
+ - Switching a task to a different branch or worktree after task creation.
44
+ - A separate `Create task worktree` action after the task already exists.
45
+ - Concurrent edits across roles as a product workflow.
46
+ - Automatic confirmation of Claude Code permission prompts.
47
+ - A main-page artifact inspector.
48
+ - Raw PTY parsing to infer Claude answer boundaries.
49
+ - Automatic writing of translations into repo artifacts.
50
+ - Hosted auth, cloud sync, multi-user collaboration, or project indexing.
104
51
 
105
- VibeCodingMaster 提供角色制、contract gate、review gate 和最终验收流程。
52
+ ## 4. Core Workflow
106
53
 
107
- ### 4.3 Product-minded Founder
108
-
109
- 能表达产品意图,但不能稳定写出高质量工程 prompt。
110
-
111
- VibeCodingMaster 把业务语言转成:
112
-
113
- - task spec
114
- - architecture plan
115
- - public surface contract
116
- - validation plan
117
- - PR summary
118
-
119
- ## 5. 产品原则
120
-
121
- ### 5.1 Repo 是事实源
122
-
123
- 重要项目知识必须进入 repo,成为 Claude Code 可读取、可版本化、可 review 的 artifact。
124
-
125
- 核心 artifact:
54
+ Recommended flow:
126
55
 
127
56
  ```text
128
- CLAUDE.md
129
- docs/
130
- .ai/task-specs/
131
- .ai/handoffs/
132
- .ai/state/
133
- .ai/generated/
134
- tools/
57
+ project-manager
58
+ -> architect architecture plan
59
+ -> coder implementation and validation
60
+ -> reviewer independent review
61
+ -> architect docs sync / architecture drift check
62
+ -> project-manager final acceptance, commit, and PR
135
63
  ```
136
64
 
137
- ### 5.2 Public Contract 优先
138
-
139
- 普通 feature、bug fix、PR 不能只说“改哪些文件”,还要定义:
140
-
141
- - public/exported functions
142
- - public methods
143
- - module APIs
144
- - service / controller / repository public entry points
145
- - route handlers / command handlers
146
- - hooks
147
- - externally used component props
148
-
149
- VibeCodingMaster 必须在编码前帮助用户锁定这些公共边界。
150
-
151
- ### 5.3 Public Contract Tests 是验收底线
152
-
153
- 新增或修改 public function 必须有契约测试。
154
-
155
- 最低要求:
156
-
157
- - happy path
158
- - boundary or failure path
159
-
160
- 高风险业务还需要:
65
+ The workflow is a soft guide in V1. VCM computes readiness from handoff artifact checks and session state, then shows the result in the sidebar. It does not block the user from manually starting a role out of order.
161
66
 
162
- - invalid input
163
- - permission or state constraints
164
- - side effects
165
- - idempotency
166
- - historical regressions
67
+ ### 4.1 Task Worktree Model
167
68
 
168
- ### 5.4 角色分离
169
-
170
- 复杂任务中,不允许一个 Claude Code session 同时拥有架构、编码、最终测试和独立 review。
171
-
172
- 默认角色链:
69
+ Task-level worktree management is the current model for multi-task parallelism:
173
70
 
174
71
  ```text
175
- project manager -> architect -> coder -> reviewer -> human approval
72
+ one task
73
+ -> one branch
74
+ -> one git worktree
75
+ -> one handoff directory
76
+ -> one set of role sessions
176
77
  ```
177
78
 
178
- ### 5.5 文件交接,不靠聊天记忆
179
-
180
- 角色之间通过 handoff artifacts 交接:
79
+ VCM must not create worktrees per role. `project-manager`, `architect`, `coder`, and `reviewer` for the same task all run in the same task worktree and hand off sequentially.
181
80
 
182
- ```text
183
- .ai/handoffs/<task-slug>/
184
- architecture-plan.md
185
- implementation-log.md
186
- validation-log.md
187
- review-report.md
188
- ```
81
+ When the user creates a task, VCM creates the branch and worktree immediately. There is no separate later button named `Create task worktree`, and a task cannot be switched to another worktree after creation.
189
82
 
190
- 聊天记录可以辅助理解,但不能作为长期事实源。
191
-
192
- ### 5.6 Replan 是正式流程
193
-
194
- 当计划和代码现实不一致时,不能悄悄改方向。
195
-
196
- VibeCodingMaster 必须触发:
83
+ Branch naming:
197
84
 
198
85
  ```text
199
- Stop
200
- -> Explain blocker
201
- -> Compare approved plan with code reality
202
- -> List options
203
- -> Recommend new plan
204
- -> Ask approval if scope or risk changed
205
- -> Update docs
206
- -> Continue
86
+ feature/<task-name>
207
87
  ```
208
88
 
209
- ### 5.7 流程按风险分级
210
-
211
- VibeCodingMaster 不是让所有任务都变重,而是按任务风险选择流程重量。
212
-
213
- 小任务要快,复杂任务要稳,高风险任务要有硬 gate。
214
-
215
- ### 5.8 GUI 是主交互入口
216
-
217
- V1 的主入口不是 CLI,而是本地 GUI 工作台。
218
-
219
- 用户应该通过页面完成:
220
-
221
- - 选择本地 repo。
222
- - 创建任务。
223
- - 启动或停止 role sessions。
224
- - 切换 `project-manager / architect / coder / reviewer`。
225
- - 直接在 session 面板里和 Claude Code 沟通。
226
- - 查看 role command、handoff artifacts、logs、状态和风险。
227
-
228
- CLI 可以作为开发、调试或自动化入口保留,但不能成为 V1 的主要用户体验。
229
-
230
- ### 5.9 终端是能力,不是产品界面
231
-
232
- Claude Code 本质上仍然是交互式终端程序,VibeCodingMaster 可以使用 embedded terminal 来承载它。
233
-
234
- 但用户不应该被迫理解:
235
-
236
- - pseudo-terminal。
237
- - process id。
238
- - terminal stream。
239
- - WebSocket message。
240
- - input/output bridge。
241
-
242
- 这些只应该是底层实现细节。产品界面表达的是任务、角色、会话、状态、artifact 和验收。
243
-
244
- ## 6. 核心概念
245
-
246
- ### 6.1 Project Manager
247
-
248
- VibeCodingMaster 的核心角色是 Project Manager。
249
-
250
- Project Manager 是面向用户的沟通者,也是面向 AI 角色的指令调度者。它不只是记录流程,而是负责把用户的业务语言逐步转成其他角色可以准确执行的命令。
251
-
252
- 它负责:
253
-
254
- - 和用户对话,澄清需求。
255
- - 把用户输入整理成 task brief 和 task spec。
256
- - 判断任务严重级别。
257
- - 选择 required role route。
258
- - 决定下一步应该调用 architect、coder、reviewer 还是 specialist。
259
- - 为每个角色准备准确、完整、边界清楚的 role command。
260
- - 确保 handoff artifacts 存在。
261
- - 调度 Claude Code 的 architect、coder、reviewer session。
262
- - 收集 validation evidence。
263
- - 判断是否需要 Replan。
264
- - 维护项目状态和最终验收。
265
-
266
- 它不应该成为一个“什么都自己做”的 coding session。
267
-
268
- 它发给其他角色的命令必须包含:
269
-
270
- - role identity
271
- - task spec path
272
- - required input artifacts
273
- - allowed scope
274
- - public surface contract
275
- - test contract
276
- - stop conditions
277
- - validation commands
278
- - expected output artifact path
279
- - escalation / Replan triggers
280
-
281
- 换句话说:
89
+ Worktree path:
282
90
 
283
91
  ```text
284
- Project Manager = user-facing conversation owner + role command dispatcher
92
+ <base-repo>/.ai/vcm/worktrees/<task-name>
285
93
  ```
286
94
 
287
- 它负责让每个 AI 角色“收到正确任务”,但不替代该角色完成任务。
288
-
289
- ### 6.2 Task Spec
290
-
291
- Task Spec 是用户需求进入工程系统的入口。
292
-
293
- 建议路径:
95
+ Example:
294
96
 
295
97
  ```text
296
- .ai/task-specs/<task-slug>.md
98
+ base repo: /workspace
99
+ task: docs-cleanup
100
+ branch: feature/docs-cleanup
101
+ worktree: /workspace/.ai/vcm/worktrees/docs-cleanup
297
102
  ```
298
103
 
299
- 标准结构:
300
-
301
- ```md
302
- # Task Spec
303
-
304
- ## Goal
305
- ## Background
306
- ## Scope
307
- ## Non-goals
308
- ## Task Severity
309
- ## Required Role Route
310
- ## Handoff Directory
311
- ## Relevant Files
312
- ## File Responsibilities
313
- ## Public Surface Contract
314
- ## Test Contract
315
- ## Architecture Constraints
316
- ## Stop Conditions
317
- ## Expected Behavior
318
- ## Validation Commands
319
- ## Definition of Done
320
- ## Risks
321
- ## Questions
322
- ```
323
-
324
- ### 6.3 Architecture Plan
325
-
326
- Architecture Plan 是 architect role 的输出。
327
-
328
- 建议路径:
329
-
330
- ```text
331
- .ai/handoffs/<task-slug>/architecture-plan.md
332
- ```
333
-
334
- 它定义:
335
-
336
- - task classification
337
- - required role route
338
- - modules and files
339
- - file responsibilities
340
- - public surface contract
341
- - dependency direction
342
- - data flow
343
- - phases
344
- - validation per phase
345
- - rollback / replan triggers
346
- - risks
347
- - docs to update
348
-
349
- ### 6.4 Implementation Log
350
-
351
- Implementation Log 是 coder role 的输出。
104
+ The repo's `.gitignore` must ignore `.ai/vcm/`. This is mandatory because the task worktrees live under `.ai/vcm/worktrees/`, and the base repository must not see nested worktree files as untracked source files.
352
105
 
353
- 建议路径:
106
+ Task creation flow:
354
107
 
355
108
  ```text
356
- .ai/handoffs/<task-slug>/implementation-log.md
109
+ New Task submit
110
+ -> validate task name
111
+ -> derive branch feature/<task-name>
112
+ -> derive worktree path .ai/vcm/worktrees/<task-name>
113
+ -> verify .ai/vcm/ is ignored and the base repo is clean
114
+ -> git worktree add -b feature/<task-name> .ai/vcm/worktrees/<task-name> <base-ref>
115
+ -> create task metadata
116
+ -> create handoff structure inside the task worktree
117
+ -> open the task workspace with role session cwd = task worktree
357
118
  ```
358
119
 
359
- 它记录:
360
-
361
- - files changed
362
- - public surface changed
363
- - tests added / updated
364
- - validation run
365
- - deviations from architecture plan
366
- - follow-ups
367
-
368
- ### 6.5 Validation Log
369
-
370
- Validation Log 是任务级验证证据。
371
-
372
- 建议路径:
120
+ Task cleanup flow:
373
121
 
374
122
  ```text
375
- .ai/handoffs/<task-slug>/validation-log.md
123
+ task complete
124
+ -> stop running role sessions
125
+ -> verify task worktree is safe to remove
126
+ -> remove git worktree
127
+ -> remove VCM task/session/message/orchestration metadata
128
+ -> keep or delete branch according to guarded branch cleanup policy
376
129
  ```
377
130
 
378
- 它是单个任务的权威验证记录。
379
- `.ai/state/validation-log.md` 只是跨任务滚动索引。
131
+ Branch deletion should be a separate guarded confirmation, ideally only after the branch is merged or the user explicitly confirms deletion. Worktree cleanup itself removes the local working directory and task metadata.
380
132
 
381
- ### 6.6 Review Report
133
+ ## 5. Roles
382
134
 
383
- Review Report 是 reviewer role 的输出。
135
+ ### Project Manager
384
136
 
385
- 建议路径:
137
+ The project manager owns:
386
138
 
387
- ```text
388
- .ai/handoffs/<task-slug>/review-report.md
389
- ```
390
-
391
- 它必须覆盖:
392
-
393
- - role / handoff compliance
394
- - scope review
395
- - architecture review
396
- - public contract review
397
- - test review
398
- - missing tests added
399
- - validation evidence
400
- - docs sync
401
- - findings
402
- - decision
139
+ - user communication
140
+ - task clarification
141
+ - role routing
142
+ - message dispatch
143
+ - handoff verification
144
+ - final acceptance
145
+ - commit and PR preparation after gates pass
403
146
 
404
- ### 6.7 Role Command
147
+ The project manager must not become the architect, coder, and reviewer for non-trivial work.
405
148
 
406
- Role Command 是 Project Manager 发给每个 AI 角色的可执行指令。
149
+ ### Architect
407
150
 
408
- 它不是普通聊天 prompt,而是由结构化上下文编译出来的任务命令。
151
+ The architect owns:
409
152
 
410
- Role Command 的输入:
411
-
412
- - user intent
413
- - task spec
414
- - required role route
415
153
  - architecture plan
416
- - public surface contract
417
- - test contract
418
- - handoff paths
419
- - validation requirements
420
- - stop conditions
421
- - current task state
422
-
423
- Role Command 必须写入当前 VCM task 的 canonical handoff directory:
424
-
425
- ```text
426
- .ai/handoffs/<task-slug>/role-commands/<role>.md
427
- ```
428
-
429
- Project Manager 不得为同一个 VCM task 创建或使用另一个 `.ai/handoffs/<other-task>/` 目录。如果 task slug 不对,Project Manager 必须停下来要求用户创建或选择正确的 VCM task。
430
-
431
- Role Command 的输出形式:
432
-
433
- ```text
434
- Start the architect role for task <task-slug>.
435
-
436
- Read:
437
- - <task spec path>
438
- - <relevant docs>
439
-
440
- Produce:
441
- - .ai/handoffs/<task-slug>/architecture-plan.md
154
+ - module boundaries
155
+ - file responsibilities
156
+ - public contracts
157
+ - test contracts
158
+ - Replan triggers
159
+ - post-review docs sync and architecture drift checks
442
160
 
443
- Rules:
444
- - define public surface contract
445
- - define test contract
446
- - do not edit production code
447
- - stop and escalate if ...
448
- ```
161
+ Outputs:
449
162
 
450
- VibeCodingMaster 应保存每次发出的 Role Command,方便后续审计、复现和优化。
163
+ - `.ai/handoffs/<task>/architecture-plan.md`
164
+ - `.ai/handoffs/<task>/docs-sync-report.md`
451
165
 
452
- ## 7. 任务分级与角色路由
166
+ ### Coder
453
167
 
454
- VibeCodingMaster 根据任务类型自动推荐 role route。
168
+ The coder owns:
455
169
 
456
- | 等级 | 任务类型 | 示例 | 推荐路由 |
457
- | --- | --- | --- | --- |
458
- | T0 | trivial | 文案、注释、无行为变化的小配置 | `coder`,可选 review checklist |
459
- | T1 | small scoped change | 单文件 bug、简单测试、已知模式修复 | `coder -> fresh review` 或 `coder -> reviewer` |
460
- | T2 | ordinary feature | 有边界的多文件 feature、普通 PR | `architect -> coder -> reviewer` |
461
- | T3 | cross-module / architectural | 跨模块改动、重构、新 public surface | `architect -> coder -> reviewer` |
462
- | T4 | high-risk | auth、permission、payment、billing、schema、public API、security | `architect -> specialist -> coder -> reviewer -> human approval` |
463
- | T5 | large rewrite / greenfield | 新子系统、大迁移、长期重构 | `architect`,然后每个 phase 循环 `coder -> reviewer`,阶段边界做 architect review |
170
+ - implementation within the approved plan
171
+ - direct unit/contract/regression tests
172
+ - validation evidence
173
+ - implementation log
464
174
 
465
- 当分类不明确时,选择更严格的路由。
175
+ Outputs:
466
176
 
467
- ## 8. 端到端工作流
177
+ - `.ai/handoffs/<task>/implementation-log.md`
178
+ - `.ai/handoffs/<task>/validation-log.md`
468
179
 
469
- ### 8.1 新项目初始化
180
+ ### Reviewer
470
181
 
471
- 用户连接一个 repo 后,VibeCodingMaster 执行 Harness Scan:
182
+ The reviewer owns:
472
183
 
473
- ```text
474
- Scan repo
475
- -> identify language, framework, package manager
476
- -> identify test commands
477
- -> inspect directory and module boundaries
478
- -> check CLAUDE.md
479
- -> check docs/ARCHITECTURE.md
480
- -> check docs/MODULE_MAP.md
481
- -> check docs/TESTING.md
482
- -> check module-local CLAUDE.md
483
- -> check validation tools
484
- -> check generated artifacts
485
- -> report harness gaps
486
- ```
184
+ - independent review
185
+ - test adequacy
186
+ - scope and architecture compliance
187
+ - docs gap detection
188
+ - risk findings
487
189
 
488
- 输出 Project Harness Report:
190
+ Output:
489
191
 
490
- - 当前 harness level。
491
- - 缺失的核心文档。
492
- - 缺失的 validation commands。
493
- - 高风险模块。
494
- - 是否存在 generated artifact freshness check。
495
- - 是否适合执行非平凡 AI coding。
192
+ - `.ai/handoffs/<task>/review-report.md`
496
193
 
497
- ### 8.2 用户提出需求
194
+ ## 6. Information Architecture
498
195
 
499
- 用户输入自然语言:
196
+ The app has two primary areas:
500
197
 
501
198
  ```text
502
- 帮我把账单里的优惠券和部分退款逻辑修一下。
199
+ ┌───────────────────────────────┬─────────────────────────────────────────────┐
200
+ │ Sidebar │ Task Workspace │
201
+ │ collapsible sections │ header + active role console │
202
+ └───────────────────────────────┴─────────────────────────────────────────────┘
503
203
  ```
504
204
 
505
- VibeCodingMaster 不直接让 Claude Code 编码,而是先澄清:
506
-
507
- - 期望行为是什么?
508
- - 哪些入口受影响?
509
- - 是否允许改 public API?
510
- - 是否允许改 schema?
511
- - 是否涉及权限、支付、数据删除?
512
- - 成功标准是什么?
513
- - 需要保留哪些兼容行为?
205
+ ### Sidebar
514
206
 
515
- ### 8.3 生成 Task Spec
207
+ All sidebar groups are collapsible and default to collapsed. When no task is selected, `Repository Path` opens by default.
516
208
 
517
- VibeCodingMaster 根据用户回答和代码库扫描生成 Task Spec。
209
+ Sections:
518
210
 
519
- 关键要求:
211
+ - `Repository Path`
212
+ - `Repository`
213
+ - `Workflow`
214
+ - `Settings`
215
+ - `VCM Harness`
216
+ - `New Task`
217
+ - `Tasks`
520
218
 
521
- - 至少定义 file responsibilities。
522
- - 普通任务定义 public surface contract。
523
- - 新增或修改 public function 定义 test contract。
524
- - 高风险任务定义 human approval gate。
525
-
526
- ### 8.4 Preflight Architecture Review
527
-
528
- VibeCodingMaster 调用 Claude Code architect session 或等价架构角色生成 `architecture-plan.md`。
529
-
530
- 随后可调用独立模型做 Preflight Review,例如 ChatGPT、Gemini 或 fresh Claude session。
531
-
532
- Preflight Review 输出:
219
+ `Repository Path` layout:
533
220
 
534
221
  ```text
535
- Decision: approve / request_changes / block
536
-
537
- Critical Issues:
538
- Architecture Risks:
539
- Public Contract Risks:
540
- Missing Context:
541
- Test Requirements:
542
- Suggested Plan Changes:
543
- Final Recommendation:
222
+ Repository Path
223
+ [ /path/to/repo ]
224
+ [ Recent v ] [ Connect ]
544
225
  ```
545
226
 
546
- 如果 decision 是 `request_changes`,回到 architect 修改计划。
547
- 如果 decision 是 `block`,停止并请求用户或 human reviewer 决策。
227
+ `Repository` shows:
548
228
 
549
- ### 8.5 Coder 执行
229
+ - path
230
+ - branch
231
+ - working tree state
550
232
 
551
- Coder role 只执行 approved plan。
233
+ The old `Dirty: yes/no` label is not used. The UI uses `Working tree: clean` or `Working tree: uncommitted changes`.
552
234
 
553
- 执行 prompt 必须包含:
235
+ `Workflow` shows the five soft workflow gates:
554
236
 
555
- - task spec path
556
- - architecture plan path
557
- - scope
558
- - public surface contract
559
- - test contract
560
- - validation commands
561
- - stop conditions
562
- - handoff log path
237
+ - Architecture
238
+ - Implementation
239
+ - Review
240
+ - Docs Sync
241
+ - PM Final
563
242
 
564
- Coder 不能静默改变:
243
+ `Settings` contains:
565
244
 
566
- - scope
567
- - public contract
568
- - module responsibility
569
- - architecture direction
570
- - test strategy
245
+ - `Messages` button, opening a modal list of role messages.
246
+ - `Events` button, opening a modal list of runtime UI events for the current task.
247
+ - `Auto orchestration` on/off toggle.
571
248
 
572
- 如需改变,必须触发 Replan。
249
+ There is no separate `Pause orchestration` or `Resume orchestration` control in the GUI. The current product model is one on/off toggle.
573
250
 
574
- ### 8.6 Validation
251
+ `VCM Harness` shows whether VCM managed blocks are installed/up to date in the project rules files and `.gitignore`.
575
252
 
576
- VibeCodingMaster 按任务风险选择验证层级:
253
+ `New Task` contains:
577
254
 
578
- ```text
579
- L0 Fast Checks
580
- format, lint, typecheck, architecture boundary, dependency rules
581
-
582
- L1 Focused Unit / Contract Tests
583
- changed-file tests, public contract tests, regression tests
255
+ - `task name`
256
+ - a checked, non-optional `Create worktree and branch` indicator
257
+ - generated branch preview: `feature/<task-name>`
258
+ - generated worktree preview: `.ai/vcm/worktrees/<task-name>`
584
259
 
585
- L2 Module / Integration Tests
586
- module service tests, DB integration, API contract
260
+ There is no optional title input in the current UI.
587
261
 
588
- L3 Smoke E2E
589
- core user journeys, browser/API smoke flows
590
-
591
- L4 Full Regression / Release Suite
592
- historical replay, visual, accessibility, perf, cross-browser
593
- ```
262
+ The worktree/branch path is the normal VCM task model, not a separate mode users toggle later. The checked indicator is shown so the user understands what will happen; VCM should not require a separate worktree creation action later.
594
263
 
595
- 默认规则:
264
+ ### Task Workspace
596
265
 
597
- - T0:L0。
598
- - T1:L0 + focused L1。
599
- - T2:L0 + L1 + relevant L2。
600
- - T3:L0 + L1 + L2。
601
- - T4:L0 + L1 + L2 + relevant L3,release 前 L4。
602
- - T5:每个 phase 有独立 validation plan。
603
-
604
- ### 8.7 Independent Review
605
-
606
- Reviewer role 使用 fresh context 或独立 reviewer session。
607
-
608
- Review 优先级:
609
-
610
- 1. correctness
611
- 2. security / permission risk
612
- 3. regressions
613
- 4. missing tests
614
- 5. architecture boundary violations
615
- 6. public contract mismatch
616
- 7. docs sync
617
-
618
- Reviewer 可以做小范围、低风险、review-scoped fixes,例如:
619
-
620
- - 增强测试断言。
621
- - 增加小的边界测试。
622
- - 修复测试 fixture。
623
- - 修复明显 typo、import、lint。
624
-
625
- Reviewer 不能接管中大型实现。如果发现业务逻辑或架构问题,必须退回 coder 或 architect。
626
-
627
- ### 8.8 Final Acceptance
628
-
629
- VibeCodingMaster 的最终验收检查:
630
-
631
- ```text
632
- behavior is correct
633
- + architecture is compliant
634
- + public contract is accurate
635
- + tests are sufficient
636
- + validation evidence exists
637
- + docs are synced
638
- + plan deviations are traceable
639
- ```
640
-
641
- 最终报告必须包含:
266
+ The task workspace header is one compact row:
642
267
 
643
268
  ```text
644
- Task severity:
645
- Role sessions used:
646
- Handoff artifacts:
647
- Files changed:
648
- Public surface changed:
649
- Tests added/updated:
650
- Validation run:
651
- Architecture checks:
652
- Docs updated:
653
- Plan deviations:
654
- Remaining risks:
655
- Decision:
269
+ TASK WORKSPACE <task> <branch> <worktree> [Project Manager] [Architect] [Coder] [Reviewer] [Refresh]
656
270
  ```
657
271
 
658
- ## 9. 产品功能模块
659
-
660
- ### 9.1 Chat Intake
661
-
662
- 负责和用户沟通,把自然语言变成工程需求。
663
-
664
- 能力:
272
+ Role tabs show the session status for each role.
665
273
 
666
- - 识别任务类型。
667
- - 判断风险等级。
668
- - 追问关键需求。
669
- - 识别 high-risk boundaries。
670
- - 生成 task brief。
274
+ The main task workspace only renders the active role console. Messages, Events, and Workflow are in the sidebar.
671
275
 
672
- ### 9.2 Task Spec Builder
276
+ ## 7. Role Console
673
277
 
674
- 负责生成和维护 `.ai/task-specs/<task-slug>.md`。
278
+ The role console owns a single role session.
675
279
 
676
- 能力:
280
+ Controls:
677
281
 
678
- - scope / non-goals。
679
- - severity classification。
680
- - required role route。
681
- - file responsibilities。
682
- - public surface contract。
683
- - test contract。
684
- - validation commands。
685
- - stop conditions。
282
+ - Permission mode select.
283
+ - `Start`.
284
+ - `Resume`.
285
+ - `Restart`.
286
+ - `Stop`.
287
+ - `Translate` toggle.
686
288
 
687
- ### 9.3 Role Route Manager
289
+ Permission modes:
688
290
 
689
- 负责根据任务分级选择 role route。
291
+ - `default`
292
+ - `bypassPermissions`
293
+ - `--dangerously-skip-permissions`
690
294
 
691
- 能力:
295
+ The permission mode applies on the next start/resume/restart. If a session is already running, changing the select does not mutate that live process.
692
296
 
693
- - 推荐 `architect / coder / reviewer / specialist`。
694
- - 检查当前 session role 是否匹配。
695
- - 阻止错误角色继续执行。
696
- - 在 GUI 中引导用户启动或切换到正确 Claude Code role session。
297
+ When translation is off, the console shows one embedded terminal.
697
298
 
698
- ### 9.4 Handoff Manager
699
-
700
- 负责管理 `.ai/handoffs/<task-slug>/`。
701
-
702
- 能力:
703
-
704
- - 创建 handoff directory。
705
- - 校验 artifact schema。
706
- - 检查前置 artifact 是否存在。
707
- - 汇总角色输出。
708
- - 标记缺失或不一致内容。
709
-
710
- ### 9.5 Contract Manager
711
-
712
- 负责管理 public surface contract 和 test contract。
713
-
714
- 能力:
715
-
716
- - 识别 public functions / module APIs。
717
- - 记录输入、输出、副作用、错误行为、依赖规则。
718
- - 检查代码变更是否修改 public surface。
719
- - 提醒新增或更新 contract tests。
720
- - 调用 `tools/check-public-surface` 和 `tools/check-contract-tests`。
721
-
722
- ### 9.6 Prompt Compiler
723
-
724
- 负责把 VibeCodingMaster 的结构化任务上下文编译成 AI 角色可以准确执行的完整命令。
725
-
726
- 它服务于 Project Manager,是 Project Manager “给其他角色发准确命令”的核心能力。
727
-
728
- 输入:
729
-
730
- - 用户原始需求。
731
- - Task Spec。
732
- - Required Role Route。
733
- - Architecture Plan。
734
- - Public Surface Contract。
735
- - Test Contract。
736
- - Handoff Directory。
737
- - Validation Commands。
738
- - Stop Conditions。
739
- - 当前任务状态。
740
-
741
- 输出:
742
-
743
- - architect role command。
744
- - coder role command。
745
- - reviewer role command。
746
- - specialist role command。
747
- - human approval brief。
748
-
749
- 每个 role command 必须回答:
750
-
751
- - 你是谁。
752
- - 你要读什么。
753
- - 你要产出什么。
754
- - 你可以改什么。
755
- - 你不能改什么。
756
- - 什么情况下必须停止。
757
- - 你必须运行或检查哪些验证。
758
- - 你的完成标准是什么。
759
-
760
- ### 9.7 Session Cockpit
761
-
762
- V1 的核心产品模块。负责在 GUI 中管理一个任务里的多个 Claude Code role sessions。
763
-
764
- 推荐结构:
299
+ When translation is on, the console splits horizontally:
765
300
 
766
301
  ```text
767
- Task Workspace: <task-slug>
768
-
769
- Role sessions:
770
- project-manager
771
- architect
772
- coder
773
- reviewer
774
-
775
- Each role session:
776
- embedded terminal
777
- input channel
778
- output stream
779
- status badge
780
- role command link
781
- raw log link
782
- handoff artifact link
302
+ ┌────────────────────────────┬────────────────────────────┐
303
+ │ embedded Claude terminal │ Translation panel │
304
+ └────────────────────────────┴────────────────────────────┘
783
305
  ```
784
306
 
785
- 能力:
786
-
787
- - 在页面中展示一个任务下的所有 role sessions。
788
- - 允许用户用 tabs 或 split view 切换 `project-manager`、`architect`、`coder`、`reviewer`。
789
- - 在每个 session 面板中嵌入真实 Claude Code 交互终端。
790
- - 支持用户直接在当前 role session 中输入、确认权限、继续对话。
791
- - 支持启动、停止、重启、恢复单个 role session。
792
- - 展示每个 role session 的状态:not started / starting / running / waiting / blocked / done / crashed。
793
- - 展示每个 role session 对应的 role command、raw log 和 handoff artifact。
794
- - 支持把 Project Manager 生成的 role command 从 GUI 发送到目标 role session。
795
- - 支持将 terminal output 持续写入 task logs。
307
+ The split should stay close to 50/50 width. Both panes expand vertically to fill the remaining workspace height.
796
308
 
797
- 原则:
309
+ ## 8. Session Lifecycle
798
310
 
799
- - GUI 是主入口,终端编排是底层能力。
800
- - 一个任务默认对应一个 session cockpit。
801
- - 一个角色默认对应一个 Claude Code session。
802
- - 多个 role session 可以同时存在,但写代码仍遵守 single-writer rule。
803
- - VibeCodingMaster 负责 session lifecycle、可见性、artifact 管理和状态汇总,不替代 role agent 的专业判断。
311
+ Buttons:
804
312
 
805
- ### 9.8 Terminal Runtime Manager
313
+ - `Start`: creates a new Claude session id and starts a fresh role process.
314
+ - `Resume`: reuses the persisted Claude session id and starts Claude Code with resume.
315
+ - `Restart`: stops the current process and starts a fresh Claude session id.
316
+ - `Stop`: stops the current embedded terminal process.
806
317
 
807
- 负责在本地机器上托管 Claude Code 的交互式终端进程,并把输入输出桥接到 GUI。
808
-
809
- V1 推荐:
318
+ Current command shapes:
810
319
 
811
320
  ```text
812
- GUI frontend
813
- -> WebSocket
814
- -> local Node backend
815
- -> node-pty
816
- -> claude --agent <role> [permission option]
321
+ claude --agent <role> --session-id <uuid>
322
+ claude --agent <role> --resume <uuid>
323
+ claude --agent <role> --session-id <uuid> --permission-mode bypassPermissions
324
+ claude --agent <role> --session-id <uuid> --dangerously-skip-permissions
817
325
  ```
818
326
 
819
- 能力:
820
-
821
- - 为每个 role 创建 pseudo-terminal。
822
- - 将终端输出流式推送到前端 embedded terminal。
823
- - 将用户键盘输入从前端写回对应 pty。
824
- - 允许 backend 在用户触发时向 pty 写入短指令。
825
- - 允许 backend 监听 pty output,并用于日志、状态和 GUI 提醒。
826
- - 支持 resize。
827
- - 支持进程退出、异常、重启和状态上报。
828
- - 支持将 raw terminal stream 保存到 logs。
829
-
830
- 权限模式:
831
-
832
- - GUI 在每个 role session 的 Start / Restart 上方提供权限选项。
833
- - `默认`:不额外传权限参数,使用 Claude Code 默认权限行为。
834
- - `bypassPermissions`:启动参数为 `--permission-mode bypassPermissions`。
835
- - `--dangerously-skip-permissions`:启动参数为 `--dangerously-skip-permissions`。
836
- - 选项只影响新启动或重启的 session,不自动改变已经运行中的 Claude Code 进程。
837
-
838
- 自动化边界:
839
-
840
- - V1 可以程序化写入 terminal input,但只用于用户触发的 command dispatch。
841
- - V1 可以程序化读取 terminal output,但只做 raw log、轻量状态和 UI 提醒。
842
- - V1 不自动确认 Claude Code 权限提示。
843
- - V1 允许用户在启动 session 时主动选择较宽松的 Claude Code 权限模式。
844
- - V1 不让 PM 自动连续驱动 architect / coder / reviewer。
845
- - V1 不根据 terminal output 自动执行高风险下一步。
846
-
847
- ### 9.9 Claude Code Adapter
848
-
849
- 负责将 Prompt Compiler 生成的 role command 交给 Claude Code 执行,或生成可复制的 Claude Code prompt。
850
-
851
- 能力:
852
-
853
- - 启动或恢复 architect session。
854
- - 启动或恢复 coder session。
855
- - 启动或恢复 reviewer session。
856
- - 注入 artifact paths。
857
- - 注入 stop conditions。
858
- - 收集执行输出。
859
- - 处理 Claude Code 交互式权限确认和等待状态。
860
-
861
- V1 中,Claude Code Adapter 主要通过 Terminal Runtime Manager 工作。它不直接实现翻译功能;翻译由 `project-manager` agent 根据自己的 role prompt 完成。
862
-
863
- ### 9.10 Cross-Model Reviewer
864
-
865
- 负责让另一个 AI 模型审查计划或代码。
866
-
867
- 能力:
327
+ VCM persists:
868
328
 
869
- - Preflight Plan Review。
870
- - Public Contract Review。
871
- - Test Contract Review。
872
- - Code Diff Review。
873
- - Security Review。
874
- - Architecture Review。
329
+ - terminal runtime session id
330
+ - Claude session id
331
+ - transcript path
332
+ - role status
333
+ - permission mode
334
+ - display command
335
+ - cwd
336
+ - pid when running
337
+ - log path
875
338
 
876
- 价值:
339
+ ## 9. Harness Installation
877
340
 
878
- - 避免实现 session 自我确认。
879
- - 在编码前发现方案问题。
880
- - 在 PR 前发现遗漏测试、边界问题和架构漂移。
881
-
882
- ### 9.11 Validation Runner
883
-
884
- 负责验证命令管理。
885
-
886
- 能力:
887
-
888
- - 推荐验证层级。
889
- - 运行或指导运行 validation commands。
890
- - 摘要失败日志。
891
- - 要求失败后 rerun。
892
- - 写入 task-level validation log。
893
-
894
- ### 9.12 Replan Controller
895
-
896
- 负责处理计划偏差。
897
-
898
- 能力:
899
-
900
- - 识别 replan trigger。
901
- - 冻结当前实现状态。
902
- - 比较 plan 和 code reality。
903
- - 生成选项:patch forward、partial rollback、full rollback。
904
- - 记录用户或 human reviewer 的决策。
905
- - 更新 task spec、architecture plan 和 docs。
906
-
907
- ### 9.13 Project Memory
908
-
909
- 负责项目长期状态。
910
-
911
- 文件:
341
+ On repository connect, VCM checks:
912
342
 
913
343
  ```text
914
- .ai/state/progress.md
915
- .ai/state/decisions.md
916
- .ai/state/validation-log.md
917
- .ai/state/known-issues.md
918
- .ai/state/scratch.md
919
- ```
920
-
921
- 能力:
922
-
923
- - 记录 active tasks。
924
- - 记录架构和设计决策。
925
- - 记录 deferred findings。
926
- - 记录 validation index。
927
- - 清理 session-local scratch。
928
-
929
- ### 9.14 PR Assistant
930
-
931
- 负责把任务结果整理成 PR。
932
-
933
- PR 描述应包含:
934
-
935
- - task summary。
936
- - task spec link。
937
- - architecture plan link。
938
- - files changed。
939
- - public surface changed。
940
- - tests added / updated。
941
- - validation evidence。
942
- - docs sync。
943
- - remaining risks。
944
-
945
- ## 10. 信息架构
946
-
947
- 推荐 repo 结构:
948
-
949
- ```text
950
- repo/
951
- CLAUDE.md
952
-
953
- docs/
954
- ARCHITECTURE.md
955
- MODULE_MAP.md
956
- TESTING.md
957
- SECURITY.md
958
- DEPENDENCY_RULES.md
959
- cc-best-practices.md
960
- product-design.md
961
- exec-plans/
962
- active/
963
- completed/
964
-
965
- .claude/
966
- settings.json
967
- skills/
968
- agents/
969
- architect.md
970
- coder.md
971
- reviewer.md
972
- optional/
973
- security-specialist.md
974
- migration-specialist.md
975
- performance-specialist.md
976
- frontend-qa.md
977
- commands/
978
-
979
- .ai/
980
- task-specs/
981
- handoffs/
982
- state/
983
- generated/
984
-
985
- tools/
986
- check-fast
987
- check-changed
988
- check-module
989
- check-e2e-smoke
990
- check-boundaries
991
- check-public-surface
992
- check-contract-tests
993
- check-generated-artifacts
994
- check-docs-freshness
995
- check-agent-rules
996
- ```
997
-
998
- ## 11. 关键界面
999
-
1000
- ### 11.1 Project Dashboard
1001
-
1002
- 显示:
1003
-
1004
- - 已连接 repo。
1005
- - active tasks。
1006
- - task severity。
1007
- - required role route。
1008
- - 每个任务的 session health。
1009
- - blocked tasks。
1010
- - recent validation failures。
1011
- - known issues。
1012
- - harness health。
1013
- - 最近打开的 role session。
1014
-
1015
- ### 11.2 Task Workspace
1016
-
1017
- 一个任务的主工作台。
1018
-
1019
- 左侧:
1020
-
1021
- - 任务列表。
1022
- - 用户需求。
1023
- - task spec。
1024
- - required role route。
1025
- - open questions。
1026
-
1027
- 中间:
1028
-
1029
- - role session tabs。
1030
- - embedded Claude Code terminal。
1031
- - 当前 role 的输入框和输出流。
1032
- - session toolbar:start / stop / restart / clear view / open log。
1033
- - role status:starting / running / waiting / blocked / done / crashed。
1034
- - acceptance checklist。
1035
-
1036
- ### 11.3 Session Console
1037
-
1038
- 显示单个 Claude Code role session 的完整交互界面:
1039
-
1040
- - role name。
1041
- - agent command,例如 `claude --agent architect`。
1042
- - terminal viewport。
1043
- - terminal input。
1044
- - running / waiting / crashed 状态。
1045
- - last output time。
1046
- - raw log path。
1047
- - restart / stop / mark done 操作。
1048
-
1049
- Session Console 必须支持 Claude Code 的交互式确认场景,例如权限确认、继续执行确认、失败后用户补充指令。
1050
-
1051
- ### 11.4 Handoff Files
1052
-
1053
- V1 不在任务主界面展示独立 artifact panel。role commands、handoff artifacts 和 raw logs 仍保存在任务目录中,作为 Claude Code sessions 之间的文件级事实源;GUI 优先把空间留给 embedded terminal。
1054
-
1055
- ### 11.5 Contract View
1056
-
1057
- 显示当前任务涉及的 public surface:
1058
-
1059
- - public function name。
1060
- - owner module。
1061
- - inputs。
1062
- - outputs。
1063
- - side effects。
1064
- - error behavior。
1065
- - dependency rules。
1066
- - existing tests。
1067
- - required tests。
1068
- - contract status。
1069
-
1070
- ### 11.6 Review Inbox
1071
-
1072
- 集中处理:
1073
-
1074
- - Preflight Review findings。
1075
- - Code Review findings。
1076
- - Replan requests。
1077
- - Missing test warnings。
1078
- - Docs sync warnings。
1079
- - Human approval gates。
1080
-
1081
- ### 11.7 Harness Health
1082
-
1083
- 显示:
1084
-
1085
- - root `CLAUDE.md` 是否存在。
1086
- - module-local `CLAUDE.md` 覆盖率。
1087
- - architecture docs 是否存在。
1088
- - testing docs 是否存在。
1089
- - validation tools 是否存在。
1090
- - generated artifacts 是否 freshness-checked。
1091
- - role agents 是否存在。
1092
- - hooks / CI gates 是否存在。
1093
- - known issues 是否过期。
1094
-
1095
- ## 12. 数据对象
1096
-
1097
- ### 12.1 Project
1098
-
1099
- ```json
1100
- {
1101
- "id": "project_123",
1102
- "name": "VibeCodingMaster",
1103
- "repoPath": "/path/to/repo",
1104
- "defaultBranch": "main",
1105
- "harnessHealth": "partial",
1106
- "validationCommands": [
1107
- "tools/check-fast",
1108
- "tools/check-changed"
1109
- ]
1110
- }
344
+ CLAUDE.md
345
+ .gitignore
346
+ .claude/agents/project-manager.md
347
+ .claude/agents/architect.md
348
+ .claude/agents/coder.md
349
+ .claude/agents/reviewer.md
1111
350
  ```
1112
351
 
1113
- ### 12.2 Task
1114
-
1115
- ```json
1116
- {
1117
- "id": "task_123",
1118
- "slug": "coupon-partial-refund",
1119
- "title": "Fix coupon and partial refund calculation",
1120
- "severity": "T4",
1121
- "status": "planning",
1122
- "requiredRoleRoute": [
1123
- "architect",
1124
- "billing-specialist",
1125
- "coder",
1126
- "reviewer",
1127
- "human-approval"
1128
- ],
1129
- "specPath": ".ai/task-specs/coupon-partial-refund.md",
1130
- "handoffDirectory": ".ai/handoffs/coupon-partial-refund"
1131
- }
1132
- ```
352
+ If a file is missing, VCM can create a recommended default.
1133
353
 
1134
- ### 12.3 Public Contract
1135
-
1136
- ```json
1137
- {
1138
- "symbol": "RefundService.calculateRefundAmount",
1139
- "module": "billing",
1140
- "signatureStatus": "unchanged",
1141
- "inputs": ["invoiceId", "request"],
1142
- "output": "Money",
1143
- "sideEffects": [],
1144
- "errorBehavior": ["throws when invoice is not refundable"],
1145
- "dependencyRules": ["must not call payment adapter internals"],
1146
- "requiredTests": [
1147
- "happy path",
1148
- "refund cannot exceed post-discount total",
1149
- "invalid invoice state"
1150
- ]
1151
- }
1152
- ```
1153
-
1154
- ### 12.4 Review
1155
-
1156
- ```json
1157
- {
1158
- "id": "review_123",
1159
- "type": "preflight_plan",
1160
- "reviewer": "cross_model_reviewer",
1161
- "decision": "request_changes",
1162
- "findings": [
1163
- {
1164
- "severity": "high",
1165
- "category": "public_contract",
1166
- "message": "The plan changes refund behavior but does not define consumer-facing contract tests."
1167
- }
1168
- ]
1169
- }
1170
- ```
354
+ If a file already exists, VCM only inserts or replaces the managed block:
1171
355
 
1172
- ### 12.5 Role Session
1173
-
1174
- ```json
1175
- {
1176
- "id": "session_architect_123",
1177
- "claudeSessionId": "00000000-0000-4000-8000-000000000001",
1178
- "taskSlug": "coupon-partial-refund",
1179
- "role": "architect",
1180
- "status": "running",
1181
- "command": "claude --agent architect --permission-mode bypassPermissions",
1182
- "permissionMode": "bypassPermissions",
1183
- "terminalBackend": "node-pty",
1184
- "logPath": ".ai/handoffs/coupon-partial-refund/logs/architect.log",
1185
- "roleCommandPath": ".ai/handoffs/coupon-partial-refund/role-commands/architect.md",
1186
- "handoffArtifactPath": ".ai/handoffs/coupon-partial-refund/architecture-plan.md",
1187
- "startedAt": "2026-05-29T00:00:00+08:00",
1188
- "lastOutputAt": "2026-05-29T00:03:14+08:00"
1189
- }
356
+ ```md
357
+ <!-- VCM:BEGIN version=1 -->
358
+ ...
359
+ <!-- VCM:END -->
1190
360
  ```
1191
361
 
1192
- ### 12.6 Terminal Event
362
+ For `.gitignore`, VCM uses hash comments:
1193
363
 
1194
- ```json
1195
- {
1196
- "id": "evt_123",
1197
- "sessionId": "session_architect_123",
1198
- "type": "output",
1199
- "timestamp": "2026-05-29T00:03:14+08:00",
1200
- "data": "Architecture Summary..."
1201
- }
364
+ ```gitignore
365
+ # VCM:BEGIN version=1
366
+ .ai/vcm/
367
+ .vcm/
368
+ # VCM:END
1202
369
  ```
1203
370
 
1204
- ## 13. MVP 范围
1205
-
1206
- ### 13.1 V1 产品定位
1207
-
1208
- V1 只做一件事:
1209
-
1210
- > 做一个本地 GUI Session Cockpit,让用户可以在一个任务工作台中启动、切换、查看、输入和管理多个 Claude Code role sessions。
1211
-
1212
- V1 不在产品层做翻译功能。
1213
- 用户输入和 Claude Code 输出的中英翻译,交给 `.claude/agents/project-manager.md` 中定义的 Project Manager 角色完成。
1214
-
1215
- V1 的核心判断标准不是“CLI 是否能控制多个终端”,而是:
1216
-
1217
- > 用户是否可以不离开 GUI,就完成多 Claude Code sessions 的创建、切换、沟通、观察、日志保存和 handoff artifact 查看。
1218
-
1219
- ### 13.2 V1 必须支持
1220
-
1221
- 1. 启动本地 GUI 应用。
1222
- 2. 连接或选择本地 Git repo。
1223
- 3. 检查本机是否安装 Claude Code。
1224
- 4. 创建任务 workspace。
1225
- 5. 为任务创建 handoff directory:
1226
- - `.ai/handoffs/<task-slug>/`
1227
- - `.ai/handoffs/<task-slug>/role-commands/`
1228
- - `.ai/handoffs/<task-slug>/logs/`
1229
- 6. 在 GUI 中展示 role session tabs:
1230
- - `project-manager`
1231
- - `architect`
1232
- - `coder`
1233
- - `reviewer`
1234
- 7. 在对应 role session 中启动 Claude Code:
1235
- - 首次启动:`claude --agent <role> --session-id <uuid>`
1236
- - 恢复启动:`claude --agent <role> --resume <uuid>`
1237
- 8. 在页面中嵌入每个 Claude Code session 的终端输出和输入。
1238
- 9. 支持用户切换 role session 并直接沟通。
1239
- 10. 支持 Claude Code 权限确认、等待用户输入、失败后补充指令等交互式场景。
1240
- 11. 展示每个 role session 的状态:not started / starting / running / waiting / blocked / done / crashed。
1241
- 12. 支持启动、停止、重启某个 role session。
1242
- 13. 支持 Project Manager 生成 role command artifact。
1243
- 14. 支持用户在 GUI 中查看 role command,并一键发送到目标 role session。
1244
- 15. 将每个 role session 的 raw output 保存为日志。
1245
- 16. 在 GUI 中查看 architecture-plan / implementation-log / validation-log / review-report。
1246
- 17. 检查 handoff artifacts 是否存在、是否为空、是否包含必要标题。
1247
- 18. 展示当前任务的状态摘要和下一步建议。
1248
- 19. 在 `.vcm/sessions/<task-slug>.json` 中记录每个 role 的 `claudeSessionId`,支持异常中断后 Resume。
1249
- 20. 保留 CLI 作为开发和调试入口,但不要求用户用 CLI 完成主流程。
1250
-
1251
- ### 13.3 V1 明确不做
1252
-
1253
- - SaaS 多用户协作。
1254
- - 企业权限和审计。
1255
- - 完整 Desktop 打包和自动更新。
1256
- - 产品层翻译管线。
1257
- - 独立翻译模型调用。
1258
- - 自动生成完整 Task Spec。
1259
- - 自动做 Preflight Review。
1260
- - 自动做 Cross-Model Code Review。
1261
- - 自动判断 public contract 和 test contract。
1262
- - 自动运行 validation commands。
1263
- - 自动创建 PR。
1264
- - Jira / Linear / GitHub 双向同步。
1265
- - 云端 session 托管。
1266
- - 多 repo / 多任务并行调度。
1267
- - 多 worktree 自动管理。
1268
- - 让用户手动管理底层 terminal process。
1269
-
1270
- 这些能力可以作为后续版本演进。V1 的判断标准不是“PM 流程是否全部自动化”,而是“GUI 是否让多 Claude Code role sessions 变得可见、可切换、可沟通、可恢复、可交接”。
1271
-
1272
- ### 13.4 V1 本地执行机制
1273
-
1274
- 推荐 V1 使用本地 Web GUI:
371
+ `.ai/vcm/` is the active VCM local control area. `.vcm/` is included only as a legacy ignore rule for older VCM state.
1275
372
 
1276
- ```text
1277
- Browser UI / Desktop shell
1278
- -> local Node backend
1279
- -> WebSocket terminal bridge
1280
- -> node-pty
1281
- -> claude --agent <role>
1282
- ```
373
+ VCM must preserve all user-authored content outside the managed block.
1283
374
 
1284
- 职责分离:
375
+ After applying harness changes, the UI tells the user what changed and recommends reviewing and committing those files.
1285
376
 
1286
- - Frontend 负责工作台、tabs、terminal viewport、状态展示。
1287
- - Backend 负责 repo 连接、进程生命周期、pty I/O、日志写入、artifact 读写。
1288
- - Claude Code role session 负责实际沟通和执行。
1289
- - Handoff artifacts 负责跨 session 传递稳定结果。
377
+ Role sessions get VCM behavior from `CLAUDE.md` and `.claude/agents/*.md`, not from a pasted startup context.
1290
378
 
1291
- V1 terminal runtime 固定为:
379
+ ## 10. Handoff Files
1292
380
 
1293
- ```text
1294
- TerminalRuntime implementation = node-pty
1295
- ```
1296
-
1297
- 后续如果要增强持久性,应优先改进本地 backend lifecycle、session registry、raw logs 和恢复体验,而不是引入额外终端复用层。
1298
-
1299
- ### 13.5 Controller-Mediated Role Command
1300
-
1301
- 推荐文件:
381
+ Each task creates:
1302
382
 
1303
383
  ```text
1304
- .ai/handoffs/<task-slug>/
384
+ .ai/handoffs/<task>/
1305
385
  role-commands/
1306
386
  architect.md
1307
387
  coder.md
@@ -1315,283 +395,199 @@ TerminalRuntime implementation = node-pty
1315
395
  implementation-log.md
1316
396
  validation-log.md
1317
397
  review-report.md
398
+ docs-sync-report.md
399
+ messages/
400
+ <message-id>.md
1318
401
  ```
1319
402
 
1320
- Project Manager 不直接无限制控制其他 Claude Code sessions。
1321
-
1322
- 正确模型:
1323
-
1324
- ```text
1325
- Project Manager session
1326
- -> writes role command artifact
1327
- -> GUI shows command artifact to user
1328
- -> user approves or sends from GUI
1329
- -> VibeCodingMaster backend writes short instruction to target role session
1330
- -> target role session executes
1331
- -> backend records raw log
1332
- -> handoff artifact becomes stable result
1333
- ```
403
+ The product treats handoff files as durable facts. The terminal is useful for live interaction, but handoff files and message history are what survive task handoffs cleanly.
1334
404
 
1335
- 也就是说:
405
+ The main UI no longer has a dedicated artifact panel. Artifact APIs still exist for status checks, role command compatibility, and future UI work.
1336
406
 
1337
- - PM 负责“决定发什么命令”。
1338
- - GUI 负责让用户看见、确认和发送。
1339
- - Backend 负责把命令送进正确 role session。
1340
- - Role agent 负责执行命令并输出结果。
1341
- - Handoff artifacts 负责跨 session 传递稳定结果。
407
+ ## 11. Message Bus
1342
408
 
1343
- ### 13.6 V1 交互形态
1344
-
1345
- 第一版应该是本地 GUI:
409
+ VCM messaging is API-driven.
1346
410
 
1347
411
  ```text
1348
- Open VibeCodingMaster
1349
- -> Select repo
1350
- -> New task
1351
- -> Start project-manager session
1352
- -> PM clarifies task
1353
- -> Start architect session
1354
- -> Send architect command
1355
- -> View architecture-plan.md
1356
- -> Start coder session
1357
- -> Send coder command
1358
- -> View implementation-log.md and validation-log.md
1359
- -> Start reviewer session
1360
- -> Send reviewer command
1361
- -> View review-report.md
1362
- -> Final acceptance
412
+ role terminal
413
+ -> vcmctl
414
+ -> VCM backend API
415
+ -> policy validation
416
+ -> durable message snapshots
417
+ -> target terminal write when allowed
1363
418
  ```
1364
419
 
1365
- CLI 可以保留为:
1366
-
1367
- - 启动 dev server。
1368
- - 调试 backend。
1369
- - 导出状态。
1370
- - 执行自动化 smoke test。
1371
-
1372
- 但用户主流程必须在 GUI 中完成。
1373
-
1374
- ## 14. 成功指标
1375
-
1376
- ### 14.1 V1 稳定性指标
1377
-
1378
- - GUI 启动成功率。
1379
- - repo 连接成功率。
1380
- - role session 创建成功率。
1381
- - Claude Code role session 启动成功率。
1382
- - embedded terminal 输入输出成功率。
1383
- - WebSocket 断线重连成功率。
1384
- - role command 从 GUI 发送成功率。
1385
- - session output 保存为 raw log 的成功率。
1386
- - stop / restart / recover 成功率。
1387
-
1388
- ### 14.2 流程指标
1389
-
1390
- - 每个任务都有 GUI workspace 的比例。
1391
- - 每个 role session 都有 raw log 的比例。
1392
- - 每个 role command 都有 artifact 的比例。
1393
- - 用户能在 GUI 中查看 handoff artifacts 的比例。
1394
- - PM 能读取 architect / coder / reviewer 输出并生成状态摘要的比例。
1395
- - 用户在 role session 中手动介入后,VibeCodingMaster 能恢复 session 状态的比例。
1396
-
1397
- ### 14.3 用户体验指标
1398
-
1399
- - 用户手写 prompt 长度下降。
1400
- - 用户可以清楚看到每个 role session 当前状态。
1401
- - 用户可以在 GUI 中切换到任意 Claude Code role session。
1402
- - 用户可以直接在 GUI 中输入、确认权限和继续对话。
1403
- - 用户觉得多 Claude Code session 的切换和管理成本下降。
1404
- - 用户愿意用 VibeCodingMaster 启动下一次多角色任务。
1405
-
1406
- ## 15. 里程碑
1407
-
1408
- ### Phase 1:Local GUI Shell
1409
-
1410
- - 创建本地 Web GUI 或 Desktop shell。
1411
- - 支持选择本地 repo。
1412
- - 显示 Project Dashboard。
1413
- - 显示 Task Workspace。
1414
- - 创建 `.vcm` 和 `.ai/handoffs/` 基础目录。
1415
-
1416
- ### Phase 2:Embedded Claude Code Sessions
1417
-
1418
- - 使用 `node-pty` 启动 `claude --agent <role>`。
1419
- - 使用 xterm.js 嵌入 terminal。
1420
- - 支持 terminal input / output / resize。
1421
- - 支持 `project-manager / architect / coder / reviewer` tabs。
1422
- - 支持 stop / restart / crashed 状态。
1423
-
1424
- ### Phase 3:Task Artifacts Panel
1425
-
1426
- - 创建 `.ai/handoffs/<task-slug>/`。
1427
- - 创建 `role-commands/` 和 `logs/`。
1428
- - 展示 architecture-plan / implementation-log / validation-log / review-report。
1429
- - 检查 handoff artifact 是否存在。
1430
- - 检查 handoff artifact schema completeness。
1431
- - 支持从 artifact 跳转到对应 role session。
420
+ Allowed message routes:
1432
421
 
1433
- ### Phase 4:GUI Role Command Dispatch
422
+ - `project-manager` to `architect` / `coder` / `reviewer`: `task`, `question`, `review-request`, `revise`, `cancel`
423
+ - `architect` / `coder` / `reviewer` to `project-manager`: `result`, `question`, `blocked`, `finding`
424
+ - `user` to `project-manager`: `user-request`
1434
425
 
1435
- - PM 生成 architect.md。
1436
- - GUI 展示 command 并允许用户发送到 architect session。
1437
- - PM 生成 coder.md。
1438
- - GUI 展示 command 并允许用户发送到 coder session。
1439
- - PM 生成 reviewer.md。
1440
- - GUI 展示 command 并允许用户发送到 reviewer session。
1441
- - Backend 保存 raw logs 和 dispatch event。
426
+ Manual mode:
1442
427
 
1443
- ### Phase 5:后续增强
428
+ - message status becomes `pending_approval` when the target role is running
429
+ - user opens `Messages`
430
+ - user clicks `Stage`
431
+ - VCM writes a short prompt into the target terminal
432
+ - VCM does not submit Enter
1444
433
 
1445
- - Task Spec Builder。
1446
- - public contract / test contract gate。
1447
- - Preflight Review。
1448
- - Cross-Model Code Review。
1449
- - validation runner。
1450
- - GitHub PR integration。
1451
- - session persistence hardening。
1452
- - Desktop packaging。
434
+ Auto mode:
1453
435
 
1454
- ## 16. 主要风险
436
+ - if target role is running, VCM writes a `[VCM MESSAGE]` envelope and submits it
437
+ - PM remains the routing hub
438
+ - non-PM roles reply to PM
1455
439
 
1456
- ### 16.1 Claude Code 交互终端嵌入复杂
440
+ The backend still has a `paused` state field and pause/resume API routes for compatibility. The current GUI exposes only manual/auto.
1457
441
 
1458
- 风险:Claude Code 是交互式终端程序,GUI 必须完整支持 ANSI output、键盘输入、resize、权限确认、长输出和等待用户输入。
442
+ ## 12. Translation
1459
443
 
1460
- 应对:
444
+ Translation is a local assistant layer beside the role terminal.
1461
445
 
1462
- - 使用 xterm.js 承载终端显示。
1463
- - 使用 node-pty 承载真实 pty。
1464
- - 保留 raw terminal stream。
1465
- - 支持用户直接在当前 session 面板中输入。
1466
- - 对 waiting / crashed / exited 状态做显式提示。
446
+ ### Provider Settings
1467
447
 
1468
- ### 16.2 Session 持久性和恢复
448
+ Settings are saved in:
1469
449
 
1470
- 风险:页面刷新、backend 重启或进程崩溃可能导致 session 丢失。
450
+ ```text
451
+ ~/.vcm/settings.json
452
+ ```
1471
453
 
1472
- 应对:
454
+ The settings file stores:
1473
455
 
1474
- - Backend 持有 session registry。
1475
- - 原始输出全部保存到 logs。
1476
- - 关键结论以 handoff artifacts 为准。
1477
- - 页面刷新后从 backend 重新订阅 session。
1478
- - 后续增强本地 backend lifecycle、session metadata 和恢复体验。
456
+ - translation provider settings
457
+ - translation API key
458
+ - recent repository paths
1479
459
 
1480
- ### 16.3 session 资源和成本
460
+ The API key input is a normal text input. The file is local to the user's machine/runtime.
1481
461
 
1482
- 风险:同时启动多个 Claude Code sessions 会消耗本地资源、上下文和 token。
462
+ Provider type:
1483
463
 
1484
- 应对:
464
+ - OpenAI-compatible chat completions
1485
465
 
1486
- - 默认按角色路由逐步启动 session。
1487
- - T0/T1 只启动 project-manager 和 coder。
1488
- - 未使用 role session 保持 not started。
1489
- - UI 显示运行中 session 和资源提示。
466
+ Prompt slots:
1490
467
 
1491
- ### 16.4 PM 直接控制其他 session 的权限过大
468
+ - `zh-to-en`
469
+ - `zh-to-en-with-context`
470
+ - `en-to-zh`
1492
471
 
1493
- 风险:如果 Project Manager agent 可以无限制向其他 session 写入指令,可能误发命令、覆盖用户输入或形成 agent 间失控循环。
472
+ The settings modal shows the default prompt for each slot and allows a user override. Empty override means use the default prompt.
1494
473
 
1495
- 应对:
474
+ ### Claude Output Translation
1496
475
 
1497
- - 采用 controller-mediated 模式。
1498
- - PM 只产出 role command artifact。
1499
- - GUI 显示 role command,用户可确认后发送。
1500
- - Backend 负责发送短指令和记录 dispatch。
1501
- - 对高风险命令要求用户确认。
476
+ Output translation does not read raw PTY text.
1502
477
 
1503
- ### 16.5 流程过重
478
+ VCM tails Claude Code transcript JSONL files under:
1504
479
 
1505
- 风险:用户只是想改一个小 bug,却被迫打开完整多角色工作台。
480
+ ```text
481
+ ~/.claude/projects/<project-hash>/<claude-session-id>.jsonl
482
+ ```
1506
483
 
1507
- 应对:
484
+ The transcript path is persisted in the role session record. If that path is missing, VCM falls back to resolving by current working directory and then scanning `~/.claude/projects` for the newest file with the session id.
1508
485
 
1509
- - T0/T1 提供 lightweight task mode。
1510
- - T0/T1 可以只启动 `project-manager` 和 `coder`。
1511
- - T2 以上才推荐完整 role route。
1512
- - UI 中默认折叠高级 contract 字段,但内部仍保留检查。
486
+ Transcript event handling:
1513
487
 
1514
- ### 16.6 AI Review 不可靠
488
+ - assistant text -> `prose` -> translated
489
+ - AskUserQuestion tool -> formatted `prose` -> translated
490
+ - TodoWrite tool -> formatted `prose` -> translated
491
+ - Agent/Task tool -> formatted `prose` -> translated
492
+ - normal tool_use -> `tool-output` -> preserved
493
+ - tool_result -> `tool-output` -> preserved
1515
494
 
1516
- 风险:Reviewer 模型会误判、漏判或提出过度设计建议。
495
+ Display behavior:
1517
496
 
1518
- 应对:
497
+ - `prose` starts by showing the English source.
498
+ - while translating, panel status shows `translating <elapsed>`.
499
+ - when translation succeeds, the English source is replaced by Chinese translated text.
500
+ - when translation fails, panel status shows `error` and the entry keeps the visible source plus an error.
501
+ - `tool-output` is dim, one-line, truncated by CSS, and not translated.
1519
502
 
1520
- - 使用结构化 review output。
1521
- - 要求引用代码证据。
1522
- - 区分 block、request changes、suggestion。
1523
- - 高风险任务保留 human approval。
503
+ There is no keyword classifier that drops assistant text. A previous design skipped permission-looking or log-looking text; that is removed.
1524
504
 
1525
- ### 16.7 Handoff 成为形式主义
505
+ ### User Input Translation
1526
506
 
1527
- 风险:角色交接文件被创建,但内容空洞。
507
+ The composer has one textarea and one `Send English` button.
1528
508
 
1529
- 应对:
509
+ Keyboard behavior:
1530
510
 
1531
- - schema check 检查关键字段。
1532
- - reviewer 检查 handoff compliance。
1533
- - final acceptance 把 handoff artifact 作为硬条件。
1534
- - UI 中直接显示 missing / incomplete / ok。
511
+ - `Enter`: translate current Chinese text, or send the current English draft.
512
+ - `Shift+Enter`: insert newline.
1535
513
 
1536
- ### 16.8 文档漂移
514
+ After translation succeeds, the English draft replaces the original Chinese text in the same textarea.
1537
515
 
1538
- 风险:VibeCodingMaster 生成大量文档,但后续不更新。
516
+ `Send English` writes the current English text to the active role terminal and submits Enter.
1539
517
 
1540
- 应对:
518
+ Translation panel `Auto-send` is separate from task `Auto orchestration`:
1541
519
 
1542
- - `tools/check-docs-freshness`。
1543
- - Replan 时强制同步文档。
1544
- - PR template 加 docs sync checklist。
1545
- - 月度 harness review 删除无用文档。
520
+ - `Auto-send` on: translate and send if there is no translation warning.
521
+ - `Auto-send` off: translate to English draft and wait for user send.
1546
522
 
1547
- ### 16.9 Claude Code 原生能力重叠
523
+ ## 13. Local State
1548
524
 
1549
- 风险:Claude Code 原生增强后,简单 prompt wrapper 或简单多终端管理被替代。
525
+ App-level settings:
1550
526
 
1551
- 应对:
527
+ ```text
528
+ ~/.vcm/settings.json
529
+ ```
1552
530
 
1553
- - 不把核心价值放在 prompt 美化。
1554
- - 不把核心价值放在 terminal 包装。
1555
- - 核心放在 GUI session cockpit、project orchestration、public contract、test contract、handoff、review gate、acceptance。
531
+ Repository-level VCM state:
1556
532
 
1557
- ### 16.10 GUI 产品复杂度上升
533
+ ```text
534
+ .ai/vcm/config.json
535
+ .ai/vcm/tasks/<task>.json
536
+ .ai/vcm/sessions/<task>.json
537
+ .ai/vcm/messages/<task>.jsonl
538
+ .ai/vcm/orchestration/<task>.json
539
+ .ai/vcm/worktrees/<task>/
540
+ ```
1558
541
 
1559
- 风险:GUI、terminal runtime、backend process manager 一起做,复杂度高于 CLI。
542
+ In task-worktree mode, the base repository's `.ai/vcm/` directory is the project control area. Task source changes and handoff artifacts live inside the task worktree at `.ai/vcm/worktrees/<task>/`.
1560
543
 
1561
- 应对:
544
+ Task worktree local files:
1562
545
 
1563
- - V1 只做本地单用户。
1564
- - V1 只做一个 repo、一个 task workspace 的核心路径。
1565
- - V1 不做自动 review、自动 validation、自动 PR。
1566
- - 先把 embedded Claude Code sessions 和 handoff artifact visibility 做扎实。
546
+ ```text
547
+ .ai/vcm/worktrees/<task>/.ai/handoffs/<task>/
548
+ ```
1567
549
 
1568
- ### 16.11 安全和权限边界不清
550
+ External Claude transcripts:
1569
551
 
1570
- 风险:用户以为 GUI 是 sandbox,但 Claude Code 实际仍在本地 repo 环境运行。
552
+ ```text
553
+ ~/.claude/projects/<project-hash>/<claude-session-id>.jsonl
554
+ ```
1571
555
 
1572
- 应对:
556
+ ## 14. Packaging Expectations
1573
557
 
1574
- - repo 连接和 session 启动前明确提示。
1575
- - 显示当前 repo path 和 branch。
1576
- - 高风险任务保留 human approval。
1577
- - 后续接入 Claude Code permissions/hooks。
1578
- - 不隐藏 Claude Code 的权限确认。
558
+ Published npm packages must include built output:
1579
559
 
1580
- ## 17. 产品判断
560
+ - `dist/main.js`
561
+ - `dist/cli/vcmctl.js`
562
+ - backend route/service/template output in `dist/`
563
+ - frontend static assets in `dist-frontend/`
564
+ - `README.md`
565
+ - `docs/`
566
+ - `scripts/`
1581
567
 
1582
- VibeCodingMaster 的机会不是做一个更会聊天的 Claude Code 外壳,而是做 Claude Code 之上的工程管理层。
568
+ `prepack` runs:
1583
569
 
1584
- 最小可行定位:
570
+ ```text
571
+ npm run build && npm run verify:package
572
+ ```
1585
573
 
1586
- > 面向 Claude Code 的本地 GUI session 工作台。它用一个任务页面托管 project-manager、architect、coder、reviewer Claude Code sessions,让用户可以切换沟通、查看输出、管理 handoff artifacts,并逐步用 public contract、contract tests、独立 review 和 human approval 管住高风险任务。
574
+ This protects against publishing raw TypeScript bin files or missing frontend assets.
1587
575
 
1588
- 长期形态:
576
+ ## 15. Success Criteria
1589
577
 
1590
- ```text
1591
- Claude Code = coding engine
1592
- VibeCodingMaster = GUI session cockpit + project manager + harness manager + quality gatekeeper
1593
- ```
578
+ VCM V1 is successful when:
1594
579
 
1595
- 如果 VibeCodingMaster 只做 prompt 优化,它很容易被插件或 Claude Code 原生能力替代。
1596
- 如果它只做 CLI terminal 包装,也很难成为用户每天愿意打开的产品。
1597
- 如果它做到 GUI session cockpit、角色路由、handoff 管理、contract gate、validation evidence、review gate、Replan 和项目记忆,它就会成为 AI 编程团队的工程控制台。
580
+ - A user can connect a repo without global Git safe-directory setup.
581
+ - A user can create a task, which creates `feature/<task>` and `.ai/vcm/worktrees/<task>`.
582
+ - A user can start all four role sessions in that task worktree.
583
+ - Switching roles never loses the embedded terminal.
584
+ - Restart creates a fresh Claude session; Resume reconnects to the persisted one.
585
+ - Permission modes are reflected in the Claude command.
586
+ - PM can route messages through `vcmctl`.
587
+ - Manual orchestration lets the user inspect and stage messages without auto-submitting Enter.
588
+ - Auto orchestration can deliver PM-approved work to running target roles.
589
+ - Translation settings save to `~/.vcm/settings.json`.
590
+ - Translation reads Claude transcript JSONL reliably after start, resume, and restart.
591
+ - Terminal and translation panel have equal, stable reading space.
592
+ - Harness install/update preserves user content outside VCM managed blocks.
593
+ - Completed tasks can cleanly remove their worktree and VCM task metadata without affecting other tasks.