SuperAPI AI 工具集

release

部署与运维

查看项目

更新于 10-16 06:44

技能介绍

用途:指导完成本仓库公共 npm 包的正式发布。仅当用户明确要求发布并提供 patch、minor、major 或具体版本号时执行;若缺少版本信息,应先询问并停止。

版本规则:项目采用 1.0 之前的 semver:patch 为非破坏性变更,0.x.y 递增为 0.x.(y+1);minor 为破坏性变更,递增为 0.(x+1).0;major 仅在明确要求时使用;显式版本号需先确认是合法 semver。编辑前检查所有 workspace 的 package.json,仅修改公共包(private 不为 true),并保持公共 Flue 包版本一致,不发布私有包。

主要流程:先运行 git status --short --branch 确认工作目录干净,否则停止询问;阅读 CHANGELOG.md 对照上版以来的提交,确保有准确的带日期段落;检查 @earendil-works/pi-ai 与 @earendil-works/pi-agent-core 是否为最新 npm 版本,过旧则询问是否更新,同意后先审查各中间版本 changelog 再运行 pnpm update --recursive --latest @earendil-works/pi-ai @earendil-works/pi-agent-core;确认分支与版本;更新各公共包 package.json 的 version;必要时运行 pnpm install --lockfile-only;清理公共包产物后从仓库根运行 pnpm run build;运行 pnpm run check;执行 node scripts/prepare-publish.mjs 准备发布产物;在包目录使用 pnpm publish -r --no-git-checks 按依赖顺序发布(本仓库先发布 @flue/runtime);检查最终 diff 并只暂存本次发布生成的内容;发布后提交 git commit -m "chore: release v<VERSION>";对最终提交打标签 git tag v<VERSION>;推送分支 git push,再推送标签 git push --tags。

限制:无明确版本增量不得开始;干净检查与 changelog 审查通过前不得修改、构建、校验或发布;始终使用 pnpm publish -r --no-git-checks,不得使用普通 pnpm publish;不得提交无关已有改动;发布与提交均成功后才可打标签;发布中途失败应停止并报告已发布包,不打标签不推送;校验、提交、打标签或推送失败应停止并报告,不擅自改动版本。