SuperAPI AI 工具集

seed-change-plan

编程与开发

查看项目

更新于 10-15 20:30

技能介绍

用途:在实现前先确定当前工作改动或计划中的改动会影响哪些包、生成物与平台,并给出验证顺序;同时为本次改动选定 PR 的目标分支(targetBranch/targetRef/prBase),本身只读,不会修改文件、Git 状态或远程分支,也不执行计划中的命令。

用法:在仓库根目录运行脚本,示例命令为 bun skills/seed-change-plan/scripts/change-plan.ts --base-ref origin/dev。--base-ref 指定当前 feature 分支实际分叉的基准;未创建的文件用 --planned <仓库相对路径> 加入;只分析特定路径时重复使用 --path,此时若只需影响分析可省略 --base-ref。

输出要点:impact 中包含 packages(直接受影响的 workspace 包)、surfaces(源、生成物、实现、文档、示例、测试、发布、工具等分类)、components、platforms(React 与 Lynx)。verification 按显示的顺序查看,每步的 source 标明依据来自根策略、package script、委托技能还是手动检查,规划阶段只查看不执行。

分支判定:branchEvidence 不完整或存在 errors 时,无论 bump 或 --no-release 如何,分支为 unknown。隐式收集 Git 改动且缺 --base-ref 时不锁定分支。rename 保留新旧路径,当前 checkout 中已消失的公开包用 baseRef 的 package.json 核对。laneCandidates 只是与分支专属工作路径重叠的候选,需自行用 git diff --name-status origin/dev...origin/minor -- <路径> 与 origin/dev...origin/major -- <路径> 核对,再以 --lane minor、--lane major 或 --lane none 重新运行,不能仅凭候选自动选 lane。确认 branch.targetBranch、targetRef、prBase 三者一致。改动 minor/major 未发布工作时显式指定 lane;否则取已确认 bump 的最高值(patch→dev,minor→minor,major→major);无发布的文档、技能、内部工具改动→dev;分支专属证据与 bump 冲突、或发布包 bump 未确认时为 unknown。bump 未确认前不加 --bump,待 seed-changeset 确认 bump 后、最终提交前再运行;仅当用户确认不需要 changeset 时才用 --no-release。

边界:不把 unknown 改成任意分支,不用 laneCandidates 的路径交集作确认依据,origin/dev、origin/minor、origin/major 的 SHA 相同也不改名。看到生成物路径要核对对应源与 bun generate:all,不直接改生成物。命令执行由代理默认 shell 负责,不建立会话基线、日志存储或失败指纹分类。rebase、commit、push、PR 创建或更新由 seed-submit-change 承担。