ワンクリックで
version-release
版本发布流程:提交未暂存内容、自动判定版本号(需用户确认)、生成更新日志、创建 git tag。直接 /release 即可,版本号由 AI 基于提交记录推断,不满意可自行指定
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
版本发布流程:提交未暂存内容、自动判定版本号(需用户确认)、生成更新日志、创建 git tag。直接 /release 即可,版本号由 AI 基于提交记录推断,不满意可自行指定
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | version-release |
| description | 版本发布流程:提交未暂存内容、自动判定版本号(需用户确认)、生成更新日志、创建 git tag。直接 /release 即可,版本号由 AI 基于提交记录推断,不满意可自行指定 |
自动化版本发布流程。根据提交记录自动推断版本号,经用户确认后,完成提交、更新版本、生成更新日志、打 tag 等操作。
/release
直接运行即可。AI 会分析自上一个 tag 以来的提交记录,自动推断版本号,在执行任何操作前会先展示建议版本号并等待你确认。
如果对建议的版本号不满意,也可以直接指定:
/release 1.0.0
⚠️ 本步骤必须拿到用户明确同意后才能进入 Step 2。在用户确认版本号之前,不要执行任何 git 提交、不要修改任何文件。
grep '^version' Cargo.toml | head -1
git describe --tags --abbrev=0 2>/dev/null
git log <上一个tag>..HEAD --onelinegit log --oneline(首次发布)按 Conventional Commits 前缀判定 bump 类型,取所有提交中的最高级别:
| 提交前缀 | bump 类型 |
|---|---|
feat!、BREAKING CHANGE、标记为破坏性变更 | major(X+1.0.0) |
feat: | minor(x.Y+1.0) |
fix:、refactor:、perf:、chore:、docs: 等 | patch(x.y.Z+1) |
在当前版本基础上按 bump 类型递增,得到建议版本号。
/release 1.2.0),以用户指定的版本号为候选,但仍需走下面的确认流程。调用 AskUserQuestion 工具,以可点选的选项形式让用户确认。上下文写在 question 里,候选版本作为 options:
版本号当前版本 1.2.3,自上个 tag 以来 feat×2 / fix×3,建议 minor bump。使用哪个版本号发布?1.3.0),description 注明 bump 类型与原因(如 minor bump:含 2 个新功能)。label 末尾追加 (推荐)。1.2.4,或更激进的 major 2.0.0),仅在确有合理空间时才加。根据用户选择:
未拿到用户明确选择前,不得继续后续步骤。
检查 git 工作区是否有未提交的变更:
git status --porcelain
git diff 了解变更内容,生成合适的 commit messagegit add -A && git commit -m "<commit message>"feat: xxx、fix: xxx)将 Cargo.toml 中的 version 字段更新为目标版本号。
编辑 Cargo.toml 第 3 行的 version 值:
version = "<目标版本号>"
更新完成后,同步更新 Cargo.lock:
cargo generate-lockfile
基于 git log 生成更新日志。获取自上一个 tag 以来的所有提交:
git describe --tags --abbrev=0 2>/dev/null
git log <上一个tag>..HEAD --oneline 获取变更git log --oneline 获取所有变更根据 commit message 自动分类到以下章节(都是可选的,没有内容的章节省略):
| 章节 | 匹配的 commit 前缀 |
|---|---|
| 🔥 重点内容 | feat!、feat: 且为重大功能 |
| ✨ 新功能 | feat: |
| 🔄 变更 | refactor:、chore:、ci:、perf: |
| 🐛 修复 | fix: |
| 📝 文档 | docs: |
更新日志是给用户看的,所以无关于发布流程的技术细节(如版本号更新、tag 创建等)不需要包含在日志中。只关注功能变更和修复内容。不一定要把所有的提交信息都包含在日志里,适当合并或省略一些细节,保持日志简洁易读,要让用户能看懂。
文件路径:docs/release-notes/v<版本号>.md
### 🔥 重点内容
- <重点功能描述>
### ✨ 新功能
- <功能描述>
#### 🔄 变更
- <变更描述>
### 🐛 修复
- <修复描述>
注意:
docs/release-notes/ 目录(如不存在)将 Cargo.toml、Cargo.lock 和更新日志一起提交:
git add Cargo.toml Cargo.lock docs/release-notes/
git commit -m "release: <版本号>版本发布"
以版本号创建 annotated tag:
git tag -a "<版本号>" -m "<聚焦于重点内容的简短描述>"
向用户报告发布完成的状态,包含:
✅ 版本 <版本号> 发布完成!
下一步操作:
git push origin main --tags # 推送代码和 tag 到远程
到此停止,等待用户决定下一步操作。 不要自动推送或执行任何进一步操作。