SuperAPI AI 工具集

rlm-worktree

测试与质量

查看项目

更新于 10-16 08:36

技能介绍

用途:在启动任何 RLM 需求(新功能、缺陷修复、重构、实验)时,作为阶段 0 创建隔离的 git worktree 工作区,避免污染 main/master 分支、防止误提交到生产分支,并支持并行开发。核心原则是“未经明确同意,绝不在 main/master 分支上工作”。

主要能力

  • 目录选择优先级:已存在的 .worktrees(优先,隐藏目录)> worktrees > 读取 CLAUDE.md 中的约定 > 询问用户,默认 .worktrees/。
  • 安全校验:项目内目录创建前必须用 git check-ignore -q .worktrees 等确认已被忽略,未忽略则向 .gitignore 添加 .worktrees/ 并提交。
  • 分支隔离:使用分支名模式 rlm/${run_id},通过 git worktree add "$path" -b "$branch_name" 创建。
  • 自动安装依赖:按项目文件识别并执行 npm install、cargo build、pip install -r requirements.txt、poetry install、go mod download、mvn compile -q、./gradlew compileJava、dotnet restore。
  • 基线验证:运行项目对应测试命令(npm test、cargo test、pytest -q、go test ./...、mvn test -q、./gradlew test、dotnet test),记录测试数量与通过率;失败时报告并询问是否继续。
  • 主干保护:检测当前分支为 main/master 时给出警告并要求显式同意(yes/no),用户坚持在 main 上工作需记录风险与理由。
  • 产出阶段 0 工件:/.codex/rlm/<run-id>/00-worktree.md,记录目录选择、忽略校验、创建命令、安装与测试结果、覆盖门与审批门、锁定时间与哈希。

使用方式:在 RLM 流程中插入为阶段 0W(位于用户先创建的 00-requirements.md 之后、01-as-is.md 之前)。阶段 0 锁定并门禁通过后,后续所有阶段都在 worktree 目录中执行,git 操作针对特性分支,主干保持不变。

限制:只覆盖 git worktree 隔离与基线验证,不负责需求编写本身;仅支持从项目文件自动识别的上述语言/构建工具,未识别的项目需自行处理;需在 git 仓库中运行;若基线测试失败需人工决定是否继续。其他平台或集成细节资料暂未提供。