SuperAPI AI 工具集

semantic-release

部署与运维

查看项目

更新于 10-15 22:33

技能介绍

用途:用 Node.js 版 semantic-release v25+ 自动化语义化版本管理与发布,适用于任意语言项目(JavaScript、TypeScript、Python、Rust、Go、C++ 等),Python 项目也使用 Node.js 版而非 python-semantic-release。

主要能力:根据提交信息自动决定版本号递增(feat: 升 MINOR,fix: 升 PATCH,BREAKING CHANGE: 或 feat!: 升 MAJOR);生成 CHANGELOG 与 GitHub Release;支持多仓库共享配置(用户级、组织级、项目级 .releaserc.yml 逐级覆盖);可通过 @semantic-release/exec 适配多语言;对 Claude Code marketplace 插件可配置任意类型提交均升 patch。

使用方式:默认本地优先发布,本地执行可即时更新 package.json、CHANGELOG.md 与标签,并可用 npm run release:dry 预览。任务优先级为:.mise.toml 有 release 任务时用 mise run release:version;否则 package.json 有脚本用 npm run release;再否则用 semantic-release --no-ci。初始化可用 ./scripts/init-project.mjs --project。认证先执行 gh auth login;多账号可用 mise [env] 按目录设置 GH_TOKEN。

检测到 MAJOR 破坏性变更时会走三阶段确认流程(检测、并行子代理分析、AskUserQuestion 确认)。发布前需确认自上个标签以来存在可发布提交,否则应停止发布。

限制:GitHub Actions 仅作为可选备份,不推荐作为主流程(2-5 分钟延迟),且按策略禁止在 Actions 中运行测试与 lint。默认 release-notes-generator(Angular 预设)仅在发布说明中显示 feat、fix、perf 类型;exec 插件使用 Lodash 模板,与 bash 默认参数语法冲突。未提供具体价格信息。