stack

专为AI编码助手设计的堆叠式PR/MR维护工具

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:stack。
它的用途是:专为AI编码助手设计的堆叠式PR/MR维护工具
完整的 Skill 内容见:https://321skill.com/skills/stack/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

当你让AI助手开发一个复杂功能时,可以指示它:“请将这个功能拆分成三个堆叠的PR。” AI创建分支和PR后,你可以(或让AI)运行 `stack sync --apply`。工具会自动分析PR间的父子关系,并在第一个PR被合并后,自动将第二个PR的目标基准更新到主分支并变基代码,保持整个堆叠链的完整和可合并状态。

介绍

stack是一个专为AI编码助手(Agent)设计的Git工作流工具,核心解决在GitHub或GitLab等使用“压缩合并并删除分支”策略的平台上,维护堆叠式拉取请求/合并请求(Stacked PR/MR)的难题。当开发者或AI需要将一系列有依赖关系的更改拆分成多个独立的PR/MR时,父分支的合并会导致子分支的基准失效,手动修复非常繁琐。

stack的使用流程非常清晰:用户或AI助手先用常规git命令创建有依赖关系的分支链并逐一发起PR/MR,然后运行stack sync --apply命令。该工具会自动推断PR/MR之间的堆叠关系,记录意图,并在父分支被合并或移动后,智能地修复所有子分支——包括重定向目标分支、变基代码、更新PR/MR描述中的堆叠状态区块等,整个过程安全且可撤销。

这个工具主要服务于频繁使用AI助手进行代码开发、且遵循“小步快跑、堆叠提交”最佳实践的开发者和团队。它尤其适合在需要将大型功能拆解为多个逻辑独立、易于评审的PR/MR时使用,能极大提升代码审查和集成效率。

与同类Git工作流增强工具(如git-town)相比,stack的核心区别在于其“AI优先”的设计理念。它并非替代常规git命令,而是作为AI助手完成常规git操作后的一个维护层,专门处理堆叠PR/MR在代码托管平台上的复杂协调问题,特别是针对“压缩合并”这一常见但破坏堆叠结构的场景,提供了自动化、安全的修复方案。

核心特点

核心区别在于“AI优先”和针对“压缩合并”场景的专项修复。它不改变开发者的常规git操作习惯,而是作为AI助手事后的维护工具,专门自动化处理因平台压缩合并策略导致的堆叠PR链断裂问题,这是许多通用Git工作流工具未深入解决的痛点。

注意事项

主要依赖GitHub CLI (`gh`) 或 GitLab CLI (`glab`) 进行API操作,且更适合在已明确采用堆叠PR工作流和压缩合并策略的团队中使用。

常见问题

stack和直接用git rebase操作堆叠分支有什么区别?

stack在git rebase等底层操作之上,增加了自动推断PR关系、与代码托管平台(GitHub/GitLab)API交互以更新PR目标分支和描述、提供安全撤销机制等高层工作流,避免了大量手动且易出错的操作。

个人开发者或小团队需要这个工具吗?

如果你或你的AI助手经常需要将功能拆分成多个有依赖关系的PR,并且使用GitHub/GitLab的“压缩合并”功能,那么stack可以节省大量手动修复分支依赖的时间。如果总是单分支开发或直接合并,则可能不需要。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/stack/raw/index.md 读取 stack 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。