关于 release
jackin 项目的发布编排技能,供维护者执行版本发布。它串联发布检查、变更日志生成、版本建议和经确认后运行 cargo release。
主要功能
- 01发布前验证
- 02生成变更日志
- 03建议版本号
- 04确认后执行 cargo release
- 05发布后检查标签推送
适用场景
- 01准备发布 jackin 新版本
- 02依据变更日志选择版本升级级别
- 03检查发布标签是否已推送
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill release安装后在 Claude Code 中输入/release确认已加载。
详细介绍
发布
jackin 项目的完整发布协调流程。运行发布前验证、生成更新日志、推荐版本,并执行 cargo release。
适用场景
- 需要创建新版本时
- 用户要求“发布”“创建版本”或“发布上线”时
不适用场景
- 只想检查是否已准备就绪:改用
release-check - 只想更新更新日志:改用
release-notes
前置条件
- 必须已安装
cargo-release:cargo install cargo-release ghCLI 必须已通过身份验证:gh auth statusrelease.toml必须为 CHANGELOG.md 配置pre-release-replacementsCHANGELOG.md必须存在且包含 `` 标记.github/workflows/ci.yml必须存在
流程
步骤 1:运行发布检查
完整遵循 release-check 技能。读取 skills/release-check/SKILL.md 并执行所有检查。
如果任何阻塞性检查失败,立即停止。展示就绪情况报告,并告知用户需要修复哪些问题。不要继续。
如果只有警告或待审核项,展示报告并询问:“发现警告。要继续发布吗?(是/否)”
步骤 2:运行发布说明
完整遵循 release-notes 技能。读取 skills/release-notes/SKILL.md 并执行所有步骤。
展示生成的更新日志部分,供用户审核和编辑。
在用户批准更新日志之前,不要继续。
步骤 3:推荐版本
读取 CHANGELOG.md 中已批准的 [Unreleased] 部分,并分析各类别:
| 条件 | 建议 |
|---|---|
| Removed 中有条目,或任何条目提及“breaking” | 升级 major 版本 |
| Added 中有条目 | 升级 minor 版本 |
| 仅包含 Fixed、Changed、Security、Deprecated | 升级 patch 版本 |
获取当前版本:
grep '^version' Cargo.toml | head -1 | sed 's/.*"\(.*\)"/\1/'
计算建议的下一个版本并展示:
“当前版本:v0.4.0 更新日志包含:2 个 Added、1 个 Fixed、1 个 Changed 建议版本:v0.5.0(minor — 添加了新功能)
接受此版本,还是指定其他升级级别?(major/minor/patch)”
等待用户确认。
步骤 4:提交更新日志
如果 CHANGELOG.md 有未提交的更改(来自步骤 2),则提交这些更改:
git add CHANGELOG.md
git commit -m "docs: update changelog for vX.Y.Z"
将 X.Y.Z 替换为步骤 3 中建议的版本。
步骤 5:最终确认
展示摘要:
Release Summary
===============
Version: v0.5.0 (minor)
Changelog: 2 Added, 1 Fixed, 1 Changed
Checks: all green (1 warning)
Command: cargo release minor --execute
This will:
1. Bump version in Cargo.toml to 0.5.0
2. Rename [Unreleased] to [0.5.0] - 2026-04-04 in CHANGELOG.md
3. Add new [Unreleased] section
4. Create release commit: "chore: release v0.5.0"
5. Create tag: v0.5.0
6. Push commit and tag to origin
Proceed? (yes/no)
未经用户明确回复“是”,绝不要运行 cargo release。
步骤 6:执行发布
cargo release {major|minor|patch} --execute
其中,{major|minor|patch} 应与步骤 3 中用户确认的升级级别一致。
监控输出。如果 cargo release 失败,展示错误并停止。
步骤 7:发布后验证
验证标签已推送:
git tag -l "vX.Y.Z"
git ls-remote --tags origin "refs/tags/vX.Y.Z"
提醒用户:
“已创建并推送 v0.5.0 标签。GitHub Actions 现在将:
- 为所有目标平台构建发布二进制文件
- 创建包含构件的 GitHub Release
- 更新 Homebrew tap
可在此处监控:https://github.com/jackin-project/jackin/actions/workflows/release.yml”
错误恢复
如果任何步骤出错:
- 运行
cargo release之前: 可以安全修复问题并重新运行/release。该技能会重新验证所有内容。 - 运行
cargo release期间: 检查已提交或已创建标签的内容。如果标签已创建但尚未推送,可以手动推送:git push origin vX.Y.Z。如果已创建版本升级提交但尚未创建标签,可能需要重置后重试。 - 运行
cargo release之后: 发布已完成。如果 CI 失败,请检查 GitHub Actions 工作流。