mcpField
C
create-conventional-branch

create-conventional-branch

github.com/beeltec开发240 次安装11 周前更新
代码仓库

关于 create-conventional-branch

用于管理本地验收分支的仓库工作流技能,仅在获准的实现或清理流程中操作。它规定分支命名、恢复和结束规则,并保留远程引用不变。

主要功能

  1. 01校验分支操作授权
  2. 02检查仓库状态与认领信息
  3. 03创建或恢复单个验收分支
  4. 04恢复搁置或中断的工作
  5. 05完成或取消后关闭分支

适用场景

  1. 01为实现任务创建分支
  2. 02恢复该任务现有的验收分支
  3. 03清理时保留中断的工作
  4. 04验收或取消后删除分支

安装

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

$npx skills add https://github.com/beeltec/skills --skill create-conventional-branch

安装后在 Claude Code 中输入/create-conventional-branch确认已加载。

附带文件agents/openai.yaml

详细介绍

创建规范分支

创建、恢复、找回并移除唯一的本地验收分支。

授权

仅当 $implement 或 $implement-with-subagents 执行实现工作、$to-product 执行自主清理,或用户明确请求创建分支或进行拉取/合并请求工作流时,才创建或切换分支。

绝不能为 $setup-project、$backlog、$discuss、$wiki 或 $research 创建或切换分支——即使当前不在主分支上,这些工作流也应留在用户选定的分支上。仅有文档或仓库写入操作,绝不足以成为新建分支的理由。

不变量

只允许存在主分支和一个本地验收分支。远程引用不计入;此处绝不创建、推送或删除远程引用。一个独立条目或 Epic 独占该验收分支。

开始或恢复

  1. 确认已获授权;否则不做任何更改,并将控制权交还给调用工作流。
  2. 阅读仓库说明;检查 git status --short --branch、远程仓库、声明,以及 git for-each-ref --format='%(refname:short)' refs/heads/。
  3. 找出声明与此验收单元匹配的分支。如果存在其他非主分支,则停止并列出这些分支。在 $to-product 下,则改为:
    • 在每个有未提交更改的检出目录中运行 git stash push --include-untracked -m "to-product recovery <branch> <YYYYMMDDTHHMMSSZ>";
    • 将匹配的分支用作 <baseline>,否则使用主分支;若 git merge-base --is-ancestor <branch> <baseline> 通过,或 git rev-parse <branch>^{tree} 等于 git rev-parse <baseline>^{tree},则直接删除;否则使用 git update-ref refs/recovery/to-product/<YYYYMMDDTHHMMSSZ>/<branch> <branch> 保留该分支的提交;
    • 记录每个恢复引用/暂存;必要时运行 git -C <checkout> switch --detach <primary>,然后运行 git branch -D <branch>;
    • 绝不更改远程引用。
  4. 清理后,仅当唯一的非主分支及其声明都指向此单元时才恢复。根据现有授权修复因中断而过期的声明。
  5. 否则,根据任务推导分支名称。选择仓库支持范围内最具体的前缀:feature/feat、bugfix/fix、hotfix、release 或 chore。
  6. 如果远程已存在该名称,不要覆盖;为本地分支选择更具体的名称。运行 git switch -c <branch-name> 并报告该分支。

关闭

  • **已接受:**切换到主分支,然后运行 git branch -d <branch-name>。确认只剩主分支,再开始另一个验收单元。
  • **暂存或取消:**使用 --include-untracked 暂存,运行 git update-ref refs/recovery/<YYYYMMDDTHHMMSSZ>/<branch> <branch> 保留该分支的提交,记录两者,在主分支上释放声明,然后运行 git branch -D <branch>。从该状态恢复下一个唯一的验收分支。
  • 绝不保留已完成或已暂存的验收分支。

命名规则

结构:<type>/<description>

  • 描述中只能使用小写 ASCII 字母、数字和连字符;release 描述中的版本号可以使用点号(release/v1.2.0)。
  • 不得使用空格、下划线、大写字母或其他特殊字符;不得出现连续、开头或结尾的连字符或点号;连字符不得与点号相邻。
  • 适用时包含工单标识符:feature/issue-123-add-login。
  • main、master 和 develop 是无前缀的主干分支——绝不能为任务工作创建这些分支。
  • 仓库有文档说明的自定义分支类型时,遵循该说明;否则仅使用上述标准前缀。

示例:feature/add-login-page、feat/issue-123-add-login、fix/header-overflow、hotfix/security-patch、release/v1.2.0、chore/update-dependencies。

评论

支持 Markdown