发布自动化技能Skill release-har

这是一个通用发布自动化技能,用于自动化软件发布流程,包括更新CHANGELOG、提交代码、创建Git标签和GitHub Release。支持语义化版本控制,适用于任何项目。关键词:发布自动化、版本管理、Git、GitHub、CI/CD、DevOps。

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

名称: release-har 描述: “通用发布自动化。支持CHANGELOG、提交、标签、GitHub Release。当用户提到发布、版本升级、创建标签、发布发布时使用。不要用于:harness发布(使用x-release-harness代替)。” 描述-英文: “Universal release automation. CHANGELOG, commit, tag, GitHub Release supported. Use when user mentions release, version bump, create tag, publish release. Do NOT load for: harness release (use x-release-harness instead).” 描述-日文: “汎用リリース自動化。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).” 允许工具: [“读取”, “写入”, “编辑”, “Bash”] 参数提示: “[patch|minor|major]” 上下文: fork

发布自动化技能

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

快速参考

  • release” -> /release-har
  • bump version” -> /release-har patch
  • minor release” -> /release-har minor

执行流程

步骤 1: 检查当前状态

并行运行:

# 未提交的更改
git status

# 更改的文件
git diff --stat

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

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

步骤 2: 确定版本

基于语义化版本控制

版本 更改类型
patch (x.y.Z) 错误修复,小改进
minor (x.Y.0) 新功能(向后兼容)
major (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: release vX.Y.Z"

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

步骤 6: 推送

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

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

步骤 7: GitHub Release(可选)

用户确认后,创建GitHub Release:

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

- 更改 1
- 更改 2

**完整更新日志**: https://github.com/OWNER/REPO/compare/vPREV...vX.Y.Z
EOF
)"

选项

选项 描述
patch 自动增加补丁版本
minor 自动增加次要版本
major 自动增加主要版本
--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 - 预发布验证