SuperAPI AI 工具集

stacked-prs

通用与其它

查看项目

更新于 10-16 06:45

技能介绍

用途:管理依赖分支栈与堆叠式 PR,在不破坏分支拓扑的前提下完成构建、发布、同步与校验,并处理已有栈的落地决策。Git 是分支祖先关系的唯一事实来源,提供方 PR 元数据是评审基线的唯一事实来源;GitHub(通过 gh)是首个文档化的提供方适配器。

主要能力:栈推断与显式排序、原生栈检测、显式栈决策包;通过 gh 列出、创建、重定向与检查 PR;父分支或基线移动后的 restack 同步;按可评审切片校验;将单个分支拆分为栈(提交范围、提交列表、补丁引导三种模式,纠缠不清时拒绝自动拆分)。落地、落地后提升与重定向、清理统一委托给 ship-workflow 技能的 stack graph 运行,本技能自身没有手工落地或清理流程。

必要用法:任何工作流前先运行 git rev-parse --show-toplevel 与 git status --porcelain;工作区脏时停止,除非用户明确限定为只读检查。优先使用已有 PR 的 baseRefName 而非推断祖先;从根 PR 的 baseRefName 解析 <base>。父级推断有歧义时使用显式分支顺序或 .stack-prs.yaml。重写后的头分支必须用 --force-with-lease=refs/heads/<branch>:<expected-old-oid> 推送,禁止普通 --force 或裸 --force-with-lease。禁止手工删除栈分支。创建或拆分产生的每个提交都要打上 Stack-Id 与 Stack-Position 尾注。

适用场景:多个依赖分支需要针对父分支开 PR;一个功能分支需拆成可评审的依赖分支;已有栈需要 rebase、重定向父级、校验或落地范围决策;已有栈需要落地或落地后清理(委托执行)。

限制:GitHub 原生栈仅限同仓库,不替代来源尾注、.stack-prs.yaml 或提供方中立工作流;原生成员关系是 PR 的提供方侧属性,Inspect 阶段必须探测。转换为原生需通过资格检查且用户明确请求,失败则保持手动,禁止自动或栈中途转换。原生成员只能通过一次受保护的异步请求落地,无逐成员请求、普通合并或手工回退。若客户端没有 ship-workflow 技能,则停止并标记 BLOCKED,不得回退到手工合并、重定向、提升推送或删除。冲突、远程租约失败、父 PR 关闭未合并、校验失败等均停止并报告。其他细节(如具体收费、平台支持范围)暂未提供。