SuperAPI AI 工具集

orchestrate-multi-repo-sdks

编程与开发

查看项目

更新于 10-16 05:41

技能介绍

用途:当每种语言的 SDK 分别放在独立仓库(如 myapi-typescript、myapi-python、myapi-go)时,协调跨仓库的 SDK 生成与 PR 生命周期管理。

主要能力:一是 PR 触发跨仓库生成,spec 仓库 PR 打开、同步或重开时,用矩阵策略向各 SDK 仓库派发 workflow_dispatch,传入 feature_branch;二是 PR 对账,spec PR 关闭时按是否合并,对 SDK 仓库中同分支 PR 执行 squash 合并并删分支,或直接关闭;三是 PR 状态回传,用带标记的评论在 spec PR 中报告各 SDK 生成状态。

使用方式:spec 仓库配置 kick-off-generation.yaml(on: pull_request types: [opened, synchronize, reopened])与 reconcile-prs.yaml(on: pull_request types: [closed]),通过 gh workflow run、gh pr list、gh pr merge、gh pr close 操作;每个 SDK 仓库需提供可派发的 sdk_generation.yaml,内部执行 speakeasy run -y 并创建 PR。所需密钥:所有仓库的 SPEAKEASY_API_KEY,spec 仓库的 SDK_REPOS_PAT(需 repo 权限)。

适用场景:不同团队维护不同语言 SDK、需要 PR 驱动的跨仓库生成、希望 spec PR 关闭时自动对账 SDK PR。

限制与排错:PAT 需 repo 与 actions 权限;SDK 仓库主分支须存在该 workflow,否则报分支未找到;若分支已有 PR 则不会重复创建。多仓库相比单仓库隔离性更好但 CI 复杂度更高。相关技能:start-new-sdk-project、orchestrate-multi-target-sdks。