发布自动化技能Skill release-har

这是一个用于软件开发中的通用发布自动化技能,支持自动更新CHANGELOG、提交代码、创建Git标签和发布GitHub Release。适用于版本管理、DevOps流程优化,关键词包括发布自动化、版本控制、Git操作、持续集成。

DevOps 0 次安装 0 次浏览 更新于 3/10/2026

name: release-har description: “通用发布自动化。支持CHANGELOG、提交、标签、GitHub Release。当用户提到发布、版本升级、创建标签、发布版本时使用。不要加载用于:harness发布(使用x-release-harness代替)。” description-en: “通用发布自动化。支持CHANGELOG、提交、标签、GitHub Release。当用户提到发布、版本升级、创建标签、发布版本时使用。不要加载用于:harness发布(使用x-release-harness代替)。” description-ja: “汎用リリース自動化。CHANGELOG、コミット、タグ、GitHub Release をサポート。Use when user mentions release, version bump, create tag, publish release. Do NOT load for: harness release (use x-release-harness instead).” allowed-tools: [“读取”, “写入”, “编辑”, “Bash”] argument-hint: “[补丁|次要|主要]” context: 分支

发布自动化技能

通用发布自动化技能。适用于任何项目。

快速参考

  • 发布” -> /release-har
  • 升级版本” -> /release-har 补丁
  • 次要发布” -> /release-har 次要

执行流程

步骤 1: 检查当前状态

并行运行:

# 未提交的更改
git status

# 更改的文件
git diff --stat

# 最近的提交历史
git log --oneline -10

# 现有标签
git tag --sort=-v:refname | head -5

步骤 2: 确定版本

基于语义化版本控制

版本 更改类型
补丁 (x.y.Z) 错误修复、小改进
次要 (x.Y.0) 新功能(向后兼容)
主要 (X.0.0) 重大更改

询问用户:“下一个版本应该是什么?(例如,1.2.3)”

步骤 3: 更新 CHANGELOG(如果存在)

如果项目有 CHANGELOG.md,更新它:

## [X.Y.Z] - YYYY-MM-DD

### 新增
- 新功能

### 更改
- 更改描述

### 修复
- 错误修复

如果 CHANGELOG 不存在,则跳过

步骤 4: 更新版本文件(项目相关)

基于项目配置更新版本文件:

文件 更新方法
package.json "version": "X.Y.Z"
pyproject.toml version = "X.Y.Z"
VERSION 直接内容更新
Cargo.toml version = "X.Y.Z"

如果没有适用的文件存在,则跳过

步骤 5: 提交和标签

# 暂存
git add -A

# 提交(仅当存在更改时)
git commit -m "chore: 发布 vX.Y.Z"

# 创建标签
git tag -a vX.Y.Z -m "发布 vX.Y.Z"

步骤 6: 推送

# 推送分支
git push origin $(git branch --show-current)

# 推送标签
git push origin vX.Y.Z

步骤 7: GitHub 发布(可选)

用户确认后,创建 GitHub 发布:

gh release create vX.Y.Z \
  --title "vX.Y.Z - 标题" \
  --notes "$(cat <<'EOF'
## 更改内容

- 更改 1
- 更改 2

**完整更改日志**: https://github.com/所有者/仓库/compare/v前一个版本...vX.Y.Z
EOF
)"

选项

选项 描述
补丁 自动增加补丁版本
次要 自动增加次要版本
主要 自动增加主要版本
--dry-run 仅预览,不执行

项目特定处理

Node.js (package.json)

npm version patch --no-git-tag-version

Python (pyproject.toml)

手动更新 version = "X.Y.Z"

Rust (Cargo.toml)

手动更新 version = "X.Y.Z"


相关技能

  • x-release-harness - Harness 插件特定发布(仅本地)
  • verify - 预发布验证