mcpField
R
recursive-worktree

recursive-worktree

github.com/try-works开发13668 次安装14 周前更新
代码仓库

关于 recursive-worktree

recursive-worktree 是在 recursive-mode 运行开始时创建隔离功能分支工作树的技能。它规定了后续阶段开始前必须完成并记录的环境设置、基线测试和分支安全检查。

主要功能

  1. 01创建隔离的功能工作树
  2. 02确认工作树目录已忽略
  3. 03执行项目设置和基线测试
  4. 04记录分支与规范化差异基准
  5. 05检查工作树中的路由状态

适用场景

  1. 01在 Phase 1 前准备代码库
  2. 02将改动与主分支隔离
  3. 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 中的工作树隔离规范。

硬性规则

在满足以下条件前,不得继续进行递归模式的阶段工作:

  1. 已创建功能分支工作树。
  2. 如果工作树目录位于仓库内,则已将其加入 Git 忽略规则。
  3. 已完成项目设置。
  4. 已记录干净的基线测试状态,或已明确确认基线测试状态。

默认位置顺序

按以下优先级选择:

  1. 已有的 .worktrees/
  2. 已有的 worktrees/
  3. 仓库说明中记录的偏好
  4. 询问用户
  5. 默认为 .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 和记忆更新)都保留在同一个功能分支上,直到合并时为止。

评论

支持 Markdown