com um clique
version-bump
升级项目版本号并提交git,支持patch/minor/major版本升级或指定具体版本号,自动从git log生成CHANGELOG
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
升级项目版本号并提交git,支持patch/minor/major版本升级或指定具体版本号,自动从git log生成CHANGELOG
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
在 CCX Desktop 发布后下载 Store MSIX 并生成发布公告。用户提到 Store 上架、MSIX、从 GitHub Release 下载 store.msix、发布后同步 Windows Store、从 release 填写商店更新内容时必须使用此技能。该技能会下载最新 GitHub Release 的 amd64/arm64 MSIX,校验 sha256,从 Release body 生成 Store listing releaseNotes 预览,并输出手动上传指引。
发布 GitHub Release,从 CHANGELOG 生成发布公告并更新 Draft Release (project)
新增或更新 CCX 项目中的 Claude 模型注册。当用户提到新模型发布、添加模型、更新模型元数据、model registry、模型注册时触发。覆盖上游能力表、AgentModelProfile、优先级排序和代码生成。
检查 Claude Code / Codex 上游版本变更,对比本地版本,识别协议/工具/用法相关更新并追加 TODO 提醒
| name | version-bump |
| description | 升级项目版本号并提交git,支持patch/minor/major版本升级或指定具体版本号,自动从git log生成CHANGELOG |
| version | 1.5.0 |
| author | https://github.com/BenedictKing/ccx/ |
| allowed-tools | Bash, Read, Write, Edit |
| context | fork |
当用户输入包含以下关键词时,自动触发版本升级流程:
patch: patch 版本 +1minor: minor 版本 +1, patch 归零major: major 版本 +1, minor 和 patch 归零2.1.0): 直接使用该版本号⚠️ 重要: 默认情况下,版本升级后必须创建 tag 并推送!只有推送 tag 才能触发 GitHub Actions 自动编译发布。除非用户明确说"不要 tag"或"--no-tag",否则始终创建并推送 tag。
--no-tag 或 "不要 tag": 不创建 git tag(仅提交版本变更)--push 或 "并推送"、"push": 推送 commit 到远程仓库(默认行为)VERSION (项目根目录)v{major}.{minor}.{patch}v2.0.15cat VERSION
根据用户指定的升级类型计算:
| 当前版本 | 升级类型 | 新版本 |
|---|---|---|
| v2.0.14 | patch (默认) | v2.0.15 |
| v2.0.14 | minor | v2.1.0 |
| v2.0.14 | major | v3.0.0 |
| v2.0.14 | 2.1.5 | v2.1.5 |
echo "v{新版本号}" > VERSION
前置检查(必须):
## [Unreleased] 区块(若不存在则创建)git log v{上一个版本}..HEAD --pretty=format:"%h %s"
git log 校验与补全(始终执行):
无论 [Unreleased] 是否已有内容,都必须用 git log 逐条校验,确保每个提交都已在 CHANGELOG 中有对应条目:
[Unreleased] 区块中已有的条目(按标题摘要匹配)[Unreleased]## [v{上一个版本}] 区块中找到了该提交的条目 → 必须将条目从旧版本区块中剪切,移动到 [Unreleased] 区块(保留分类分组,删除原位置)⚠️ 错位处理必须优先于补全:先扫描
[v{上一个版本}]区块是否有属于本次 v{新版本} 的提交,有则剪切移动,再对剩余遗漏的提交生成新条目。避免同一个提交在 CHANGELOG 中出现两次。
覆盖率校验(必须通过):
校验补全完成后,必须执行以下命令确认无遗漏:
# 获取本版本区间所有有效 commit 数量(排除 Merge 和 bump version)
TOTAL=$(git log v{上一个版本}..HEAD --pretty=%s | grep -cvE "^(Merge |chore: bump version)")
# 统计 CHANGELOG 中本版本的条目数量(按 "- **" 开头的行计数)
RECORDED=$(sed -n '/^## \[v{新版本号}\]/,/^## \[/p' CHANGELOG.md | grep -c "^- \*\*")
echo "有效提交: ${TOTAL} 条, 已记录: ${RECORDED} 条"
已记录 < 有效提交:必须回溯补全后才能继续,不允许跳过已记录 >= 有效提交(某些提交可能被合并为一条,或多条关联 commit 归为一个条目)按 type 分组规则:
| type | CHANGELOG 分类 |
|---|---|
feat | 新增 |
fix | 修复 |
perf | 优化 |
refactor | 重构 |
docs | 文档 |
chore, ci, build | 其他 |
revert | 回滚 |
替换为新版本号:
校验补全完成后,将 ## [Unreleased] 替换为:
## [v{新版本号}] - YYYY-MM-DD
保留下方所有条目内容不变(已包含全部提交)。
cat VERSION
cat CHANGELOG.md | head -20
git status
git diff --stat
检查工作区状态:
如果工作区有未提交的修改(除 VERSION 和 CHANGELOG.md 外),询问用户:
git add -A 提交所有修改提交信息规则:
chore: bump version to v{新版本号}# 包含所有修改
git add -A
git commit -m "{用户确认的提交信息}"
# 或仅提交版本文件
git add VERSION CHANGELOG.md
git commit -m "chore: bump version to v{新版本号}"
⚠️ 重要: 提交后、创建 tag 前,必须通过本地编译验证。编译失败则中止流程,不允许推送。
执行步骤:
运行后端测试:
cd backend-go && make test
执行完整构建(前端 + 后端):
make build
验证构建产物:
ls -lh dist/ccx-go
中止时的处理:
如果编译验证失败:
⚠️ 除非用户明确说"不要 tag",否则必须创建 tag!
git tag v{新版本号}
# 推送 commit
git push origin main
# 推送 tag(触发 GitHub Actions 自动编译发布)
git push origin v{新版本号}
用户输入: "升级版本号并提交" 或 "更新版本并推送"
自动执行流程:
v2.0.14v2.0.15v2.0.14..HEAD 的每个 commit 逐一与 [Unreleased] 已有条目比对,遗漏的追加进去## [Unreleased] 替换为 ## [v2.0.15] - YYYY-MM-DDmake test + make build)v2.0.15用户输入: "升级 minor 版本"
自动执行流程:
v2.0.14v2.1.0用户输入: "版本号改为 3.0.0"
自动执行流程:
v2.0.14v3.0.0用户输入: "发布新版本并打 tag 推送"
自动执行流程:
v2.0.29v2.0.30make test + make build)v2.0.30用户输入: "给当前版本打 tag 并推送"
自动执行流程:
v2.0.29v2.0.29版本升级完成:
- 原版本: v2.0.14
- 新版本: v2.0.15
- 升级类型: patch
是否提交 git? (Y/n)
版本升级完成:
- 原版本: v2.0.29
- 新版本: v2.0.30
- 升级类型: patch
✅ Git commit 已创建
✅ 本地编译验证通过(测试 + 构建)
✅ Git tag v2.0.30 已创建
是否推送到远程仓库? (Y/n)
- 推送后将自动触发 GitHub Actions
- 自动编译 Linux/Windows/macOS 版本
- 自动发布到 GitHub Releases
当推送 v* 格式的 tag 时,会自动触发 release.yml workflow,在三平台并行编译:
| Job | Runner | 产物 |
|---|---|---|
build-macos | macos-latest | ccx-darwin-arm64, ccx-darwin-amd64, DMG 安装包 |
build-windows | windows-latest | ccx-windows-amd64.exe, ccx-windows-arm64.exe, NSIS 安装包 |
build-linux | ubuntu-latest | ccx-linux-amd64, ccx-linux-arm64, AppImage |
build-linux-arm64-desktop | ubuntu-24.04-arm | CCX-Desktop-linux-arm64.AppImage |
docker-build | ubuntu-latest | Docker 镜像 (阿里云容器镜像服务, linux/amd64 + linux/arm64) |
构建 job 使用独立的 concurrency group,确保三平台并行编译:
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
cancel-in-progress: false 确保发布构建不会被取消v{x}.{y}.{z}(无后缀)chore: bump version 格式make test 和 make build,否则不允许创建 tag 和推送gh run list --limit 5推送 tag 后,自动启动构建进度监控:
# 每 5 分钟自动检查一次构建状态
gh run list --limit 5
监控行为:
手动查询:用户随时可以问"构建进度如何"主动获取最新状态