跳到正文
cccskills
免费在 GitHub 公开

version-bump

更新 Only Player 版本号、整理更新日志并创建版本提交。用户说「更新版本号」「提高版本号」「版本号提升」或「version bump」时使用。

中文简介正在准备中。当前显示原文说明。

Kindness-Kismet/only_player星标 471(GitHub 471 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md5.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

⚠️ 两条最容易被忘记的规则

  1. CHANGELOG.md 默认整体重写,不是追加。 它是“这次发布”的说明书,不是历史累积日志——默认清空旧内容,只写本次区间的变更。仅当用户在本次对话中明确要求“这次用追加”时才允许追加,且只对本次生效,下次执行不参考上次的选择,仍然默认重写。
  2. 每条日志写的是功能现在的最终样子,不是这次做了哪些操作。 同一功能/bug 在区间内被改了不止一次,只写一条,描述改完之后的最终效果,不按 commit 顺序拆开写。

流程

  1. 读取 app/build.gradle.kts 中的 versionCode 和 versionName
  2. 检查是否存在未提交内容;如果有,先根据其更改内容执行格式化、校验并提交,提交必须只包含这些业务改动,不得把版本号与 changelog 混入同一个提交
  3. 执行 ./gradlew versionCatalogUpdate,更新 gradle/libs.versions.toml 中可升级的版本与插件声明
  4. 检查 gradle/libs.versions.toml 是否仍保留构建脚本依赖的自定义版本别名;若 versionCatalogUpdate 删除了 android-compileSdk、android-targetSdk、android-minSdk、android-jvm 这类项目自定义键,必须立即补回,保证构建脚本访问器不失效
  5. 确定新版本号:
    • 默认:patch +1(如 1.0.3 → 1.0.4),versionCode +1
    • 用户指定了具体版本号时,使用用户指定的版本
  6. 通过 git log 查找上一次版本号提升的 commit,收集此后所有变更
  7. 归纳为面向用户的功能描述,忽略纯重构、CI 修复、GitHub Action、发布脚本、代码风格、调试指令等不影响普通用户体验的改动。同一功能被多次改动时合并为一条最终效果描述,不要按 commit 拆开写
  8. 识别本次版本涉及的 GitHub issue。不得只 grep commit 信息里的 #编号——开发时往往没写编号,只看 commit 会漏掉本次实际解决的 issue:
    • 先用 gh issue list --state open --limit 100 --json number,title 列出全部未关闭 issue
    • 拿第 7 步归纳出的每条用户可见改动,与每个 open issue 的标题逐一比对,挑出主题相关的候选
    • 对每个候选用 gh issue view <编号> --json title,body,state 读原文,再核对本次改动是否完整满足其要求
    • 只有在 issue 要求被本次改动完整满足时,提交信息才允许追加 close #xxxx
    • 若只是部分满足、实现方式与 issue 期望不一致,或无法证明已完整满足,则不要追加 close #xxxx
    • 得出「本次无关联 issue」这个结论前,必须已经列过 open issue 并逐条比对过,不能因为 commit 里没有编号就直接下结论
  9. 修改 app/build.gradle.kts 的 versionCode 和 versionName
  10. 更新 .github/CHANGELOG.md:
    • 默认整体重写:清空旧内容,只保留上一次版本号提升 commit 之后到当前版本的变更
    • 仅当用户本次明确要求追加时,保留旧内容并把本次变更追加进去;没有明确要求就一律重写,不要因为上次是追加就顺着延续
  11. 执行自动格式化与校验指令,至少运行 ./gradlew ktlintFormat ktlintCheck
  12. 版本号与 changelog 更新后必须及时提交,提交信息基础格式:chore: bump version to {version} and update changelog
    • 仅当第 8 步确认完整满足某个 issue 时,才在提交信息末尾追加 close #xxxx
  13. 提交前自检:
    • 本次是重写还是追加?没有用户明确要求追加的话必须是整体重写,文件里不能有本次区间之外的旧版本条目
    • 每条日志是否是最终效果,而不是按 commit 罗列的过程?重复/互相修正的条目合并成一条
    • 中英文条目一一对应、数量一致
    • close #xxxx 都基于 gh 读到的 issue 原文核实过,不是凭印象加的
    • 是否执行过 gh issue list 并把每条改动与 open issue 标题比对过?只 grep commit 编号不算做过第 8 步
    • 任一项不通过,回到对应步骤重做

更新日志格式

- English change 1
- English change 2

---

- 中文改动描述 1
- 中文改动描述 2

规则:

  • 英文在上,中文在下,中间用单独一行 --- 分隔
  • 不写版本号标题、日期和分类小节,发布标题已有体现
  • 条目平铺,不折叠,不用 emoji,条目末尾不加标点
  • 更新日志禁止黑话,要求用自然拟人的语气来写
  • 中英文一一对应
  • 每条以动词开头,简洁描述用户可感知的变化;同一改动只写最终效果,不写过程,净效果为零则不写
  • 禁止写入 GitHub Action、发布脚本、构建产物命名、CI 调整、调试指令变更等非用户可感知变化
  • 末尾无空行
  • issue 校验必须基于 gh 返回的原文,不允许凭印象追加 close #xxxx
  • issue 关联以功能主题匹配为准,不以 commit 是否写了编号为准
  • 版本号更新只处理本地改动与本地提交,push 阶段交给用户自己执行

两端同步

本技能同时保存在 .codex/skills/version-bump/ 和 .claude/skills/version-bump/。修改任一端时,必须同步更新另一端,保持所有同名文件内容一致。

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

commit

免费

按 Only Player 项目规范创建、修改和整理 Git 提交。创建提交、补充提交内容、修改提交信息或整理提交历史时使用。

中文简介正在准备中。当前显示原文说明。

Kindness-Kismet/only_player4712026年10月15日 更新

debug-app

免费

调试、测试或验证 Only Player 应用功能、页面和代码改动时使用,支持调试指令和界面交互验证。

中文简介正在准备中。当前显示原文说明。

Kindness-Kismet/only_player4712026年10月15日 更新

pr

免费

按 Only Player 分支与发布通道规范创建、说明和合并 Pull Request。用户说「开 PR」「提 PR」「创建 PR」「pull request」「晋升到 main」「合到正式版」时使用。

中文简介正在准备中。当前显示原文说明。

Kindness-Kismet/only_player4712026年10月15日 更新

查看 Kindness-Kismet 的全部技能

报告此技能的问题