核心概念
任务与隔离
主分支直跑与 worktree 隔离——按需选择隔离级别
任务是 Yoda 的工作单元:一个目标、一个工作区、若干会话。创建任务时你决定它的隔离级别。
两种隔离级别
主分支直跑(默认可选)
任务直接在项目当前目录执行,不建分支不开 worktree,零 git 心智负担。归档时还可以执行你预设的 归档前 Skill 做收尾。这是 vibe coding 工作流 的基础。
Worktree 隔离
每个任务创建独立分支 + git worktree(git 原生机制),任务之间零干扰:
- 可以放心同时跑多个任务,互不覆盖
- 每个任务的改动是干净的 diff,单独审查、合并或丢弃
- 主工作目录始终保持你自己的状态
- 对比模式 必须用它——两个 Runtime 同时干活不能共用目录
任务生命周期
todo → in_progress → review → done
↘ cancelled创建行为(项目设置)
| 设置 | 说明 |
|---|---|
createBranchAndWorktree | 是否默认走 worktree 隔离 |
branchPrefix | 分支名前缀(如 yoda/) |
pushOnCreate | 创建时是否推送分支到远端 |
tmuxByDefault | 任务终端默认是否包在 tmux 里 |
.yoda.json:让新工作区开箱即用
worktree 是干净目录——没有 .env、没有 node_modules。在仓库根放一个 .yoda.json(可提交共享)解决:
{
"preservePatterns": [".env", ".env.local", ".envrc"],
"scripts": {
"setup": "pnpm install",
"run": "pnpm dev",
"teardown": ""
}
}- preservePatterns —— 从主工作目录复制到新 worktree 的文件
- scripts.setup —— worktree 创建后、agent 启动前执行
- scripts.run —— 项目的启动命令
完整字段见 .yoda.json 参考。主分支直跑模式不需要这些——它就在你现成的环境里干活。