SuperAPI AI 工具集

stack-create

通用与其它

查看项目

更新于 10-15 17:20

技能介绍

用途:stack-create 从一个多步骤计划初始化堆叠分支集合。计划中每个逻辑切片对应一个分支,该分支以上一切片的分支为基(base)。适用于计划产生两个或更多有序变更、且每个变更需要在前一个变更完成并合并后才能落地的情形。若变更相互独立,应改用并行 worktree(参见 egregore)。单个独立变更不应使用本技能;已有堆叠需要发布则使用 sanctum:stack-push。

前置条件:Git 2.38+(可用 git version | awk '{print $3}' 检查);gh CLI 已认证;已有包含有序切片的书面计划(来自 do-issue 或 attune:blueprint);基分支工作区干净(git status)。

必要进度跟踪:开始前创建四项 TodoWrite 条目:stack-create:git-version-checked、stack-create:slices-identified、stack-create:branches-created、stack-create:stack-verified。

步骤:1)验证 Git 版本,确认为 2.38.0 及以上,否则 --update-refs 不可用,需警告并回退到手动分支跟踪;可检查可选 jj 加速器。2)识别切片:从计划中提取有序切片,每个切片应是单一逻辑关注点(一个 PR 的变更量)、对前一切片有清晰依赖、且有适合作为分支后缀的短名称,例如 add-schema、add-api、add-ui,创建分支前记录切片列表。3)创建分支:从基分支(通常 master 或 main)开始,例如 git checkout -b ${STACK}/add-schema ${BASE},后续切片以前一分支为基,命名约定为 stack/<feature-name>/<slice-name>;完成后切回第一个切片分支开始工作。若有 jj 可用,jj 会自动为每个分支创建空提交,用 jj new 移动到新变更。4)验证堆叠:用 git log --oneline --graph ${BASE}..${STACK}/add-ui 确认各切片分支在基之上呈线性链;jj 可用时用 jj log --revisions 验证。

限制与注意事项:不得在每个切片至少有一个提交之前推送分支,空分支会产生令人困惑的 PR;分支中的切片名按约定成为 PR 标题前缀,应简短且有描述性;创建堆叠后可继续 stack-push 打开 PR,或逐切片工作并在就绪时推送;若计划变化,需手动增删分支并在步骤 4 重新验证拓扑。