关于 release-process
release-process 是一个用于管理软件发布的 Skill,采用 Semantic Versioning 和仅含 main 分支的工作流。它指导版本判定、更新 changelog、修改版本文件、创建并推送 Git 标签。
主要功能
- 01支持 Stable、Insiders 和 Development 版本
- 02依据提交与代码变更判定版本
- 03要求更新面向用户的 changelog
- 04更新版本文件并创建提交
- 05创建并推送 Git 标签
适用场景
- 01根据提交内容确定 Stable 版本号
- 02按 Stable 基线递增 Insiders 或 Development 版本
- 03整理发布前的用户变更记录
- 04完成版本提交与标签推送
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ processcube-io/ processcube.agent.skills --skill release-process安装后在 Claude Code 中输入/release-process确认已加载。
详细介绍
发布流程
你是一名发布经理,使用单分支工作流(仅使用 main 分支)并遵循语义化版本规范创建发布版本。
发布类型
用户会告诉你要创建哪个版本:
| 类型 | 格式 | 示例 |
|---|---|---|
| Stable | MAJOR.MINOR.PATCH | 1.0.0、1.1.0、2.0.0 |
| Insiders | X.Y+1.0-insiders.N | Stable 1.0.0 → 1.1.0-insiders.1、1.1.0-insiders.2 |
| Development | X.Y+1.0-develop.N | Stable 1.0.0 → 1.1.0-develop.1、1.1.0-develop.2 |
重要:Insiders 和 Development 始终基于最新的 Stable 版本,并将 Minor 版本号加 1!
通用流程
1. 准备(始终先执行)
# Prüfe aktuellen Branch
git branch --show-current
# Prüfe auf uncommitted changes
git status --porcelain
- 如果当前不在
main分支:询问是否要切换 - 如果存在未提交的更改:执行
git stash并记下这一操作 - 更新:
git pull origin main
2. 确定版本
- 从
package.json或其他版本文件中读取当前版本 - 查找现有标签:
git tag -l "v*"
3. 确定新版本
对于 Stable 发布:
- 分析自上一个稳定标签以来的提交:
git log v{LAST_VERSION}..HEAD --oneline - 分析代码更改:
git diff v{LAST_VERSION}..HEAD - 确定发布类型:
- MAJOR:破坏性更改(移除 API、更改签名、提交中包含
BREAKING CHANGE、feat!:或fix!:) - MINOR:新功能(
feat:提交、新导出的函数) - PATCH:Bug 修复、内部更改
- MAJOR:破坏性更改(移除 API、更改签名、提交中包含
对于 Insiders 发布:
- 查找最新的 Stable 版本:
git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1 - 计算基础版本:将最新 Stable 版本的 Minor 加 1,Patch 设为 0
- 示例:Stable
1.0.0→ 基础版本1.1.0 - 示例:Stable
2.3.5→ 基础版本2.4.0
- 示例:Stable
- 查找该基础版本对应的现有 Insiders 标签:
git tag -l "v{BASIS}-insiders.*" | sort -V | tail -1 - 如果存在标签:递增编号(例如,
1.1.0-insiders.3→1.1.0-insiders.4) - 如果不存在标签:从
.1开始(例如,1.1.0-insiders.1)
对于 Development 发布:
- 查找最新的 Stable 版本:
git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1 - 计算基础版本:将最新 Stable 版本的 Minor 加 1,Patch 设为 0
- 示例:Stable
1.0.0→ 基础版本1.1.0 - 示例:Stable
2.3.5→ 基础版本2.4.0
- 示例:Stable
- 查找该基础版本对应的现有 Develop 标签:
git tag -l "v{BASIS}-develop.*" | sort -V | tail -1 - 如果存在标签:递增编号(例如,
1.1.0-develop.5→1.1.0-develop.6) - 如果不存在标签:从
.1开始(例如,1.1.0-develop.1)
4. 生成变更日志(必需)
发布前运行变更日志技能。 请阅读文件 skills/changelog/SKILL.md,并完整遵循其中的说明。
- 目标读者:用户(从用户视角编写变更日志)
- 模式:更新(仅包含自上次条目以来的新更改)
- 确保变更日志记录了自上一个标签以来的所有提交
- 只有在成功更新变更日志后,才能继续执行第 5 步
5. 更新版本
- 更新
package.json和其他版本文件 - 提交:
git commit -am "chore: release v{VERSION}"
6. 创建并推送标签
git tag v{VERSION}
git push origin main
git push origin v{VERSION}
7. 恢复更改
- 如果在第 1 步执行了 stash:
git stash pop - 通知用户
8. 总结
显示:
- 旧版本 → 新版本
- 发布类型
- 主要更改
- Git 标签名称
评论
支持 Markdown