mcpField
C
create-release

create-release

github.com/oschina开发599 次安装28 周前更新
代码仓库

关于 create-release

create-release 是用于整理并发布 Gitee 版本的技能,可汇总已合并的 PR、起草分类变更日志,并在确认后创建版本。

主要功能

  1. 01查看现有版本历史
  2. 02收集已合并的 PR
  3. 03分析分支或标签差异
  4. 04按类别整理变更日志
  5. 05确认后创建 Gitee 版本

适用场景

  1. 01根据已合并 PR 准备版本发布
  2. 02检查版本命名惯例和冲突
  3. 03起草并突出破坏性变更的发布说明

MCP 相关

该技能通过 Gitee MCP Server 工具查看版本和 PR,并创建版本。README 建议在可用时通过 mcporter 调用这些工具。

安装

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

$npx skills add https://github.com/oschina/gitee-agent-skills --skill create-release

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

详细介绍

注意:如果你在本地安装了 mcporter,应使用 mcporter 调用 MCP 工具,而不是直接调用 MCP 工具。mcporter CLI 提供了更便捷的界面和更完善的错误处理。

通过 Gitee MCP 创建发布

根据已合并的 PR 历史自动生成变更日志,并在 Gitee 上发布结构清晰的版本。

前提条件

  • 已配置 Gitee MCP 服务(工具:list_releases、list_repo_pulls、create_release)
  • 用户必须提供:仓库所有者、仓库名称、版本号
  • 可选:上一个版本号(用于确定变更日志的范围)

步骤

第 1 步:确认版本号

按照语义化版本规范与用户确认版本号:

vMAJOR.MINOR.PATCH

- MAJOR: incompatible API changes
- MINOR: backward-compatible new features
- PATCH: backward-compatible bug fixes

如果用户尚未提供版本号,请根据变更性质建议合适的版本号。

第 2 步:查看发布历史

使用 list_releases 获取现有发布记录:

  • 确认上一个版本号
  • 了解版本命名约定(例如是否使用 v 前缀)
  • 避免版本号冲突
第 3 步:收集 PR 变更

使用 list_repo_pulls 获取自上次发布以来已合并的 PR:

  • state:merged
  • 按合并时间排序,筛选上次发布之后的 PR

对每个 PR 进行分类:

  • feat / feature:新功能
  • fix / bugfix:错误修复
  • refactor:代码重构
  • perf:性能改进
  • docs:文档更新
  • chore:依赖 / 构建 / 工具链变更
  • breaking:不兼容变更(标题包含 breaking 或 !:)
第 4 步:分析代码变更

作为 PR 标题的补充,使用 compare_branches_tags 获取更详细的差异分析:

compare_branches_tags(owner="[owner]", repo="[repo]", target="[current_branch]", base="[previous_version_tag]")

返回内容包括:

  • 变更的文件(新增、修改、删除)
  • 版本之间的提交历史
  • 代码统计信息(新增行数、删除行数)

借此了解每个 PR 背后的实际代码变更,尤其适用于 PR 标题不够明确的情况。

第 5 步:生成变更日志

使用以下模板生成变更日志:

## [v{version}] - YYYY-MM-DD

### ⚠️ Breaking Changes
- [PR title] (#PR number) @author

### ✨ New Features
- [PR title] (#PR number) @author
- [PR title] (#PR number) @author

### 🐛 Bug Fixes
- [PR title] (#PR number) @author

### ⚡ Performance
- [PR title] (#PR number) @author

### 📖 Documentation
- [PR title] (#PR number) @author

### 🔧 Other
- [PR title] (#PR number) @author

---

**Full changelog**: [link comparing previous version...current version]

省略没有变更的章节。

第 6 步:确认并创建发布

向用户展示生成的变更日志以供确认。确认后,使用 create_release 并传入以下参数:

  • tag_name:版本号(例如 v1.2.0)
  • name:发布标题(例如 Release v1.2.0)
  • body:第 4 步生成的变更日志
  • prerelease:预发布版本(alpha / beta / rc)设为 true

成功创建后,输出发布页面的链接。

注意事项

  • 版本号使用 v 前缀(例如 v1.2.0),以符合常见的项目约定
  • 必须醒目标出不兼容变更,提醒用户升级
  • 如果 PR 标题不符合语义化规范,可在保留原意的前提下对其进行适度改写,并写入变更日志
  • 预发布版本(alpha / beta / rc)应标记为 prerelease=true,以免影响稳定版本发布线

评论

支持 Markdown