用途:该技能用于驱动 agent-id 仓库中基于 changesets 的发布流程,帮助维护者判断当前处于发布的哪个阶段并执行对应操作。仓库中只有 @alien-id/agent-id-core 与 @alien-id/agent-id-vault 两个包发布到 npm;四个消费插件(agent-id-auth、agent-id-git、agent-id-proxy、agent-id-browser)为私有,被 changesets 忽略,通过 Claude Code marketplace 而非 npm 分发。
主要能力:先运行 bun changeset status --verbose 判断分支。若功能 PR 正在开发且改动了 plugins/agent-id-core/** 或 plugins/agent-id-vault/**,用 bun changeset 声明发布意图,并把生成的 .changeset/*.md 与代码一起提交;仅改私有插件无需 changeset。main 上存在待处理 changeset 但尚无 Version PR 时,changesets/action 会在下次推送时开启。Version PR 已开时,可查看其计算的版本提升、级联与同步后的 plugin.json/marketplace.json 版本,审查后 squash-merge,再审批 npm-publish 环境并观察工作流。支持 beta 周期管理:无 .changeset/pre.json 时运行 bun changeset pre enter beta,存在时运行 bun changeset pre exit。部分发布失败可从 GitHub Actions UI 重跑,publish-topological.ts 会通过 npm view 跳过已发布包并恢复。
使用方式:添加 changeset 时执行 bun changeset,交互选择 core 和/或 vault、提升类型(patch/minor/major)与摘要,摘要行会成为对应包的 CHANGELOG 条目;随后 git add .changeset/<id>.md。首次发布(bootstrap)要求 @alien-id/agent-id-core@7.0.0 与 @alien-id/agent-id-vault@7.0.0 先存在于 npm,可由受门控的发布任务在首次合并时完成,或按 RELEASING.md 手动发布一次。
限制与硬性规则:不得手工编辑 plugins//package.json 的 version 字段、plugin.json/marketplace.json 版本或 bun.lock;不得直接推送 tag;不得绕开 npm-publish 环境审批门。版本号由 changeset version 计算并由 sync-plugin-versions 传播,package.json 是唯一事实来源。级联自动进行,bumping core 会 patch vault,被忽略的四个插件不做版本提升,但其依赖范围会被改写。内部依赖使用 ^semver 而非 workspace:,因为 marketplace 安装器运行 npm。发布采用 OIDC 与 sigstore provenance 可信发布,无 NPM_TOKEN;认证失败通常意味着 npm 上受信发布者配置需授权 release.yml。Version PR 每次新 changeset 会强制推送并重置既往审批,需重新审查。本流程无构建步骤,插件为纯 ESM .mjs。具体价格、平台限制等资料暂未提供。