SuperAPI AI 工具集

changeset-pr

部署与运维

查看项目

更新于 10-16 01:17

技能介绍

用途:为当前分支或 PR 创建符合仓库规范的 changeset,或在已有变更集基础上更新而不无谓扩大范围,并在交付前校验语法与包作用域。

主要能力:判断是否需要 changeset;依据实时分支 diff 识别可发布包作用域;创建或编辑一个 .changeset/*.md 文件;按仓库配置与分支范围校验文件;报告执行的命令与遗留歧义。

使用方式:先确认是否需要 changeset,再检查实时分支状态,例如 git diff --name-status origin/main...HEAD、git diff --stat origin/main...HEAD、git log --oneline --decorate --no-merges origin/main..HEAD。可运行 python3 .codex/skills/changeset-pr/scripts/inspect_changeset_scope.py --base origin/main 辅助区分被触及的可发布包、被忽略包和固定组。创建文件采用标准格式,frontmatter 中包名加引号,发布类型用 patch、minor 或 major。仓库提供 pnpm run changegen,仅在用户明确需要生成文本或包已被其配置路径覆盖时使用。校验可用 python3 .codex/skills/changeset-pr/scripts/inspect_changeset_scope.py --base origin/main --file .changeset/<file>.md 和 python3 .codex/skills/changeset-pr/scripts/run_changeset_status.py --verbose,后者支持 --output /tmp/changeset-status.json。

适用场景:可发布包行为发生变化时添加 changeset;仅文档或非行为性改动通常不加,除非用户明确需要发布元数据。更新已有 changeset 时先搜索 .changeset/*.md 中的包名,优先编辑同一分支工作的现有文件,避免重复。

限制:官方 CLI 没有专门的 changeset validate 命令,需用上述脚本校验。status 只能验证可解析性与发布计划,不能证明 changeset 是分支本地或最小化的,因为可能已存在其他待处理 changeset。固定组包可能导致比 frontmatter 所示更广或更高的版本提升。在 Codex 运行中优先使用辅助脚本而非直接 pnpm exec changeset status,因为非 TTY 会话中的 shell 包装可能产生 /dev/tty 噪声或使原始 CLI 输出不可靠。