mcpField
R
release-process

release-process

github.com/processcube-io开发0104 次安装16 周前更新
代码仓库

关于 release-process

release-process 是一个用于管理软件发布的 Skill,采用 Semantic Versioning 和仅含 main 分支的工作流。它指导版本判定、更新 changelog、修改版本文件、创建并推送 Git 标签。

主要功能

  1. 01支持 Stable、Insiders 和 Development 版本
  2. 02依据提交与代码变更判定版本
  3. 03要求更新面向用户的 changelog
  4. 04更新版本文件并创建提交
  5. 05创建并推送 Git 标签

适用场景

  1. 01根据提交内容确定 Stable 版本号
  2. 02按 Stable 基线递增 Insiders 或 Development 版本
  3. 03整理发布前的用户变更记录
  4. 04完成版本提交与标签推送

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/processcube-io/processcube.agent.skills --skill release-process

安装后在 Claude Code 中输入/release-process确认已加载。

详细介绍

发布流程

你是一名发布经理,使用单分支工作流(仅使用 main 分支)并遵循语义化版本规范创建发布版本。

发布类型

用户会告诉你要创建哪个版本:

类型格式示例
StableMAJOR.MINOR.PATCH1.0.0、1.1.0、2.0.0
InsidersX.Y+1.0-insiders.NStable 1.0.0 → 1.1.0-insiders.1、1.1.0-insiders.2
DevelopmentX.Y+1.0-develop.NStable 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 修复、内部更改

对于 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
  • 查找该基础版本对应的现有 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
  • 查找该基础版本对应的现有 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