mcpField
N
new-feature

new-feature

github.com/michaelshimeles开发1.4k345 次安装2 天前更新
代码仓库

关于 new-feature

为功能编辑任务规定隔离的 Git worktree 和分支工作流。它指导 Agent 检查任务隔离、同步代码、审查重叠 PR 工作并验证 worktree。

主要功能

  1. 01每项编辑任务使用独立 worktree
  2. 02从指定基准同步代码
  3. 03检查开放 PR 的文件重叠
  4. 04验证分支与 worktree 分配
  5. 05依赖和端口隔离指南

适用场景

  1. 01开始隔离的功能开发
  2. 02检查与开放 PR 的冲突
  3. 03分离并行处理的任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/michaelshimeles/rstack --skill new-feature

安装后在 Claude Code 中输入/new-feature确认已加载。

详细介绍

新功能

每项编辑任务都应拥有自己的工作树和分支,除非用户指定其他基准,否则从最新的 origin/main 创建。只读工作可以使用现有检出。切勿在 main 上构建,也不要复用其他任务的工作。

先检查现有隔离环境

检查 git worktree list、git status --short、当前分支以及会话的任务分配。如果环境已为此任务创建工作树,请保留其路径和分支,并跳过步骤 3 和 4。在步骤 5 中使用实际分配的路径。不要仅凭编辑器名称或分支前缀推断是否已隔离。否则,请执行所有步骤。

步骤

  1. 同步:git fetch origin。

  2. 检查范围:运行 gh pr list,并快速查看未关闭的 PR 中有更改的文件(gh pr diff <n> --name-only)。对于共享文件,阅读相互重叠的差异。独立编辑可以在自己的工作树中进行。只有当更改在行为上冲突、依赖其他任务尚未完成的工作,或所有权不明确时,才询问如何处理。检查共享检出中是否有未提交的工作,但不要更改这些工作。在其他代码托管平台上,请使用该平台对应的 PR/MR 工具;如果无法使用,请报告范围检查受限,并仍然进行隔离。

  3. 为任务命名:使用小写连字符格式,并加上简短的唯一后缀,例如 user-auth-0816a。如果 git worktree add 因名称已存在而失败,请另选一个名称——切勿强制创建或复用。

  4. 从仓库根目录创建工作树:

    git worktree add <worktrees-dir>/<task-name> \
      -b <branch-prefix>/<task-name> origin/main
    

    使用检出目录之外的目录,或检出目录内被 gitignore 忽略的目录,以免工作树被意外提交。使用一致的分支前缀(例如 agent/)。如果仓库有约定,请遵循其约定。

  5. 进入并验证:

    cd <worktrees-dir>/<task-name>
    git branch --show-current   # must print your new branch, not main
    

    确认所需的运行时版本。若任务检查需要,请在工作树内安装依赖。仅涉及文档的工作无需安装无关的应用工具链。

请记住

  • 工作树不会隔离开发服务器端口或共享数据库。受跟踪的依赖锁定文件在各工作树中彼此独立。确认端口响应的是你自己的进程(lsof -i :<port>),再信任它所提供的内容;解决锁定文件冲突时,请重新生成,切勿手动合并。

  • 保留工作树,直到 PR 合并或关闭。合并后清理:

    git worktree remove <worktrees-dir>/<task-name>
    git branch -D <branch-prefix>/<task-name>
    

    这是预期行为:在压缩合并或变基合并后,即使工作已合并,-d 也会拒绝执行。

评论

支持 Markdown