关于 recursive-worktree
recursive-worktree 是在 recursive-mode 运行开始时创建隔离功能分支工作树的技能。它规定了后续阶段开始前必须完成并记录的环境设置、基线测试和分支安全检查。
主要功能
- 01创建隔离的功能工作树
- 02确认工作树目录已忽略
- 03执行项目设置和基线测试
- 04记录分支与规范化差异基准
- 05检查工作树中的路由状态
适用场景
- 01在 Phase 1 前准备代码库
- 02将改动与主分支隔离
- 03记录干净或已确认的测试基线
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ try-works/ recursive-mode --skill recursive-worktree安装后在 Claude Code 中输入/recursive-worktree确认已加载。
附带文件agents/openai.yaml
详细介绍
recursive-worktree
用途
在递归模式运行开始时使用此技能,以便在第 1 阶段及后续工作开始前设置隔离的工作树。
总体工作流的权威说明仍位于 /.recursive/RECURSIVE.md。此技能仅涵盖 00-worktree.md 中的工作树隔离规范。
硬性规则
在满足以下条件前,不得继续进行递归模式的阶段工作:
- 已创建功能分支工作树。
- 如果工作树目录位于仓库内,则已将其加入 Git 忽略规则。
- 已完成项目设置。
- 已记录干净的基线测试状态,或已明确确认基线测试状态。
默认位置顺序
按以下优先级选择:
- 已有的
.worktrees/ - 已有的
worktrees/ - 仓库说明中记录的偏好
- 询问用户
- 默认为
.worktrees/
全局备用位置:
~/.config/recursive-mode/worktrees/<project-name>/
主分支保护
如果当前分支为 main 或 master,默认在功能分支上创建工作树:
git worktree add .worktrees/<run-id> -b recursive/<run-id>
cd .worktrees/<run-id>
如果用户明确坚持在主分支上工作,请在 00-worktree.md 中记录此例外。
第 0 阶段最低检查清单
00-worktree.md 必须涵盖:
- 选定的工作树位置
- Git 忽略状态验证
- 分支名称和工作树路径
- 已执行的设置命令
- 基线测试命令和结果
- 规范化差异基准字段,包括
Baseline type、Baseline reference、Comparison reference、Normalized baseline、Normalized comparison和Normalized diff command - 明确说明后续阶段将在工作树中运行
- 脚手架中要求的
## TODO标题
建议的命令
检查分支:
git branch --show-current
检查忽略状态:
git check-ignore -q .worktrees || git check-ignore -q worktrees
创建工作树:
git worktree add .worktrees/<run-id> -b recursive/<run-id>
设置指南
运行与仓库匹配的设置命令:
- Node.js:
npm install - Rust:
cargo build - Python:
pip install -r requirements.txt或项目专用安装命令 - Go:
go mod download - Maven:
mvn compile -q - Gradle:
./gradlew compileJava - .NET:
dotnet restore
然后运行适用于项目的基线测试命令,并在 00-worktree.md 中记录结果。
工作树中的路由器状态
在隔离工作树中执行委派或路由工作之前,请验证同一工作树中的路由器文件:
test -f .recursive/config/recursive-router.json
test -f .recursive/config/recursive-router-discovered.json
Test-Path .recursive/config/recursive-router.json
Test-Path .recursive/config/recursive-router-discovered.json
如果控制器/源仓库配置了路由器策略或发现清单,而工作树中缺少这些文件,请先将这两个文件同步到工作树,再解析或调用路由角色。保留用户对工作树策略所做的修改;更改绑定时,优先使用 recursive-router-configure,而非手动编辑。
recursive-router-discovered.json 是本地发现状态文件,可能未被跟踪。在新建的工作树中,此文件缺失是预期情况,但这并不意味着可以依据过时的假设解析外部角色。在工作树中运行 python ./.recursive/scripts/recursive-router-probe.py --repo-root . --json 刷新该文件;如果当前清单是预期的策略依据,也可以从控制器/源仓库复制该清单。
在接受路由工作之前,请在 00-worktree.md 或委派操作记录中记录路由器策略路径、发现路径、验证/探测命令以及最终路由决策。
输出约定
将产物写入:
/.recursive/run/<run-id>/00-worktree.md
功能分支命名为:
recursive/<run-id>
路由注意事项
如果此技能使用委派审查或其他路由外部模型来验证工作树设置、基线验证或分支安全性,请在选择相应 CLI/模型之前立即重新读取:
/.recursive/config/recursive-router.json/.recursive/config/recursive-router-discovered.json
并遵循路由策略或明确的回退方案,而不要硬编码审查模型。
集成
- 在 AS-IS 分析和规划之前调用此技能。
- Phase 0 锁定有效后,从工作树上下文继续执行。
- 后续阶段(包括
STATE.md、DECISIONS.md和记忆更新)都保留在同一个功能分支上,直到合并时为止。