0018 可选:流水线为需求新建 worktree 工作区
背景
在项目主目录、主分支上发起的需求,原来只能请使用者自己在 Paseo 中新建 worktree 工作区、换到那里的对话重新开始,或者在主目录新建分支(主目录被占用几个小时)。对不熟悉 worktree 的使用者来说,第一种多了一次切换,第三种影响主目录。
Paseo 0.11 支持在指定的工作区中创建 agent,同时保持它是发起对话的子 agent("放置不改变归属"),也能由 SDK 新建 worktree 工作区并执行 paseo.json 的准备脚本。
决定
- 启动时加
--worktree(/req中的"启动(自动新建工作区)"):流水线用 Paseo 从当前分支切出feature/<功能目录名>,新建 worktree 工作区;把需求说明等文件移过去并在新分支上提交(原处未提交的副本删除,已提交的保留);之后各步骤 agent 放在这个工作区中运行,仍然挂在发起的对话下。 - 对话的工作目录不变(0002 不变)。对话里的查看进度、暂停、继续、验收命令照常在原目录执行,启动器会按状态文件中记录的来源目录找到新工作区;只允许从这个来源目录的对话操作。
- 发给对话的通知中,功能目录和报告写完整路径,因为它们不在对话的目录里。
- 只用于第一次启动;已经在原处运行过的需求不能中途改为新工作区。
- 默认仍然是原来的方式,这是一个可选项。
影响
主分支上发起的需求不再需要使用者手动建工作区;paseo.json 的准备脚本自动执行。对话 agent 需要用完整路径读写需求文件,/req 中已写明。新工作区的归档和清理仍由使用者在 Paseo 中决定。
本页由仓库中的 docs/adr/0018-own-worktree-option.md 生成。在 GitHub 上编辑