Claude Code 是最好的工作树管理器
内置工作树管理器肯定是有限的。他们通常假设一个存储库、Git、一个受祝福的分支流程以及产品团队对设置的含义的想法。真正的代码库不会停留在这些行内。
cmux 之禅在于,开发者应该构建自己的工具,并探索与代码协作的各种方式。worktree 是一个有用的原语,但多个 checkout、放在不同文件夹里的后端/前端仓库、远程机器、非 Git 项目、本地脚本,甚至偶尔直接在 main 上写代码,因为那对当前任务最快,也同样是原语。
超级回购模式
超级仓库是一种控制检查,它知道所有真实仓库的位置、如何创建工作树、如何配对相关仓库、哪些脚本准备每个工作区以及如何审查和合并 PR。 cmuxterm-hq 是一个超级存储库:它包含主要 cmux 签出、每个任务的 cmux 工作树、Zed 签出、hq 脚本、可重用技能以及代理遵循的规则以避免相互干扰。
重点并不是每个人都应该复制这个确切的目录树。关键是一个本地控制存储库可以描述您的整个工程操作系统。后端存储库和前端存储库可以一起打开。移动应用程序和 Web API 可以一起重新加载。可以在一个存储库中创建一个分支,并在另一个存储库中创建匹配的分支。该形状属于您的团队,而不是通用的工作树按钮。
让代理管理工作树
Claude Code 和 Codex 是比大多数内置工作树管理器更好的工作树管理器,因为它们可以读取您的存储库规则、运行脚本、跨多个存储库创建工作树、清理自己的工作树、修复冲突、推送分支、打开 PR 以及在 CI 和审查门通过后进行合并。
我们最常用的流程是任务工作树公关和自动审查。它们之所以有效,是因为代理可以读取文件、写入文件、运行命令、检查 GitHub、等待 CI、响应审阅意见以及跨存储库操作。如果任务需要同时更改云和桌面,您可以告诉代理在这两个位置进行查找,并让超级存储库对其余部分进行编码。
为什么内置工作树支持丢失
产品级工作树功能可以针对常见情况进行完善,但边缘情况会立即出现:没有 Git、多个存储库、生成的客户端、私有设置脚本、配对的后端/前端分支、不寻常的合并策略,或者故意将小的内部更改推送到 main 的团队。
可编程工作流程可以适应。要求 Claude Code 创建一个工作树,在其旁边启动 Codex,运行设置命令,打开右侧浏览器窗格,观看测试,并在 PR 合并时删除工作树。然后明天更改该工作流程。
cmux 为工作流程提供了一个界面
cmux 不需要内置一个通用 worktree 管理器。它提供自定义命令、可编程的CLI 和 socket API,以及可复用的技能。加号按钮可以启动你自己的 worktree 命令、多仓库设置、非 Git 沙盒或远程环境。
这就是 cmux home 重要的原因。最好的 worktree 管理器,是当工作流变化时你的代理也能修改的那个;而最适合这个循环的终端,会把通知、Cmd+Shift+U 和 Cmd+Control+U 接到界面里。