SuperAPI AI 工具集

changeset

部署与运维

查看项目

更新于 10-15 20:30

技能介绍

用途:该技能用于 daangn/seed-design 仓库的发布流程,把 bun changeset 检测到的变更包作为候选,逐包与用户确认 bump 类型,确认后生成 .changeset/*.md 文件,并撰写面向设计系统使用者的韩语变更说明。SEED 自 2.0 起遵循严格语义化版本,破坏性变更只出现在 major。

主要流程:1) 用 bun changeset CLI 检测变更包候选;CLI 是交互式的,需后台运行并终止以仅捕获输出,示例:( bun changeset </dev/null >/tmp/changeset-detect.txt 2>&1 ) &\np=$!; sleep 4; kill "$p" 2>/dev/null; wait "$p" 2>/dev/null;再清理 ANSI 控制字符并提取 changed packages。private 包已被 CLI 排除,但 packages/archive/* 不升版本,需手动过滤。已存在的 .changeset/*.md 覆盖情况也要检查。2) 依据 git diff 或提交日志与 references/version-matrix.md 的传播矩阵给出推荐 bump,再用 AskUserQuestion 逐包确认,选项为 major/minor/patch/不做(排除),推荐项放首位并标注(推荐),每次调用最多 4 个问题。3) 参考 references/patterns.md 以开发者视角撰写韩语消息,按 patch/minor/major 采用不同结构,BREAKING CHANGE 前缀只用于 major。4) 展示 changeset 草稿并请用户确认或修改。5) 若含 css 或 headless 的 minor,检查依赖方 peer/dep floor 是否需要手动上调,需要时直接编辑依赖方 package.json 的 floor 为 ^N.M.0,不修改上限。6) 经批准后写入 .changeset/,文件名用英文小写形容词-名词-动词的随机三词组合并避免冲突。

限制与注意:消息会直接进入 CHANGELOG,需描述用户影响而非内部实现;frontmatter 包名必须用双引号;bump 以自身公开接口变化为准,不因依赖升级而升;config.json 中 linked 的包发布时自动对齐版本。引用文件为 references/version-matrix.md 与 references/patterns.md。