准备下一个版本发布工作流
SkillDev tools准备下一个补丁版本 (Prepare next patch version release)
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 准备下一个版本发布工作流 skill
What this skill tells your AI
The instructions your AI receives, as published by open-guji/luatex-cn in .claude/skills/prepare-next-version/SKILL.md and read by ahel’s review.
本工作流用于智能地基于最后一个 git tag 推断下一个版本号,并更新所有相关文件。
工作流
1. 从上一个 tag 推断版本升级类型
# 获取最后一个 tag(格式 vX.Y.Z)
git tag -l | grep "^v" | sort -V | tail -1
# 例如:v0.2.9
推断规则:
- 如果 CHANGELOG 中有新版本(大于 tag 版本),则检查升级类型
- Major 升级(0.2.9 → 0.3.0):CHANGELOG 中出现新的 minor 版本号
- Minor 升级(0.2.8 → 0.2.9):CHANGELOG 中只有 patch 升级
- 默认:计算补丁版本(X.Y.Z → X.Y.(Z+1))
2. 检查 VERSION 和 CHANGELOG 状态
# 查看 VERSION 文件内容
cat VERSION
# 查看 CHANGELOG 第一个版本号
head -10 CHANGELOG.md
三种情况:
| 情况 | VERSION | CHANGELOG | 操作 |
|---|---|---|---|
| A | 已更新为 0.3.0 | 已更新为 0.3.0 | 无需改动,直接更新 README |
| B | 还是 0.2.9 | 还是 0.2.9 | 执行 update_changelog,然后更新 VERSION |
| C | 0.2.9 | 0.3.0 | 异常,询问用户 |
3. 如果 VERSION/CHANGELOG 未更新(情况B)
3a. 执行 update_changelog skill
# 这会:
# - 从 git log 提取改动
# - 自动生成 CHANGELOG 条目
# - 插入新版本号和日期
3b. 根据 CHANGELOG 更新 VERSION
# 读取 CHANGELOG 中的第一个版本号(跳过占位符)
# 更新 VERSION 文件为该版本号
# 例如:如果 CHANGELOG 中是 [0.3.0]
# 则 VERSION = 0.3.0
4. 更新 README 和 README-EN
确保 GitHub Release 链接指向当前版本:
GitHub Release: [v0.3.0](https://github.com/open-guji/luatex-cn/releases)
5. 为下一个版本创建占位符
在 CHANGELOG 顶部插入新占位符:
## [X.Y.(Z+1)] - 待定
- (待填写)
6. 验证更改
git diff VERSION README.md README-EN.md CHANGELOG.md
后续步骤
完成版本准备后,继续使用 /release_process 技能进行完整发布流程:
- 运行单元测试:
texlua test/run_all.lua - 运行回归测试:
python3 test/regression_test.py check - 运行 l3build ctan:
l3build ctan(会自动更新所有 .sty 文件的版本号) - 提交、打标签、推送
Signals
- GitHub stars
- 105
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
prepare-next-version- Source
- github.com/open-guji/luatex-cn