com um clique
release-version
执行 KeyTone 版本发布工作流:生成 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
执行 KeyTone 版本发布工作流:生成 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
| name | release-version |
| description | 执行 KeyTone 版本发布工作流:生成 CHANGELOG、确定版本号、更新前端版本、更新多语言文档站点、暂存变更。 |
| applyTo | ** |
当用户要求执行以下操作时调用本 Skill:
在项目根目录执行:
npx conventional-changelog -p angular -i CHANGELOG.md -s
该命令会根据**约定式提交(Conventional Commits)**规范,从上次版本标签至今的提交中提取增量日志,追加到 CHANGELOG.md。
注意:
CHANGELOG.md顶部标题中的版本号可能为空(#),这是conventional-changelog的默认行为,后续步骤会处理。
生成后,从 CHANGELOG.md 顶部读取增量部分——即从文件顶部到上一次已知版本标题之间的所有内容。
直接使用用户提供的版本号(如 1.2.3),跳过自动决策。
分析第 1 步生成的增量 changelog 内容,按语义化版本(SemVer)规则判定:
增量中有无 Breaking Changes / Reverts | 增量中有无 Features 类型 | 推荐版本 bump | 示例 |
|---|---|---|---|
| 有 | — | major | 1.0.0 → 2.0.0 |
| 无 | 有 | minor | 1.0.0 → 1.1.0 |
| 无 | 无(仅 Bug Fixes / 其他) | patch | 1.0.0 → 1.0.1 |
判定来源:读取 CHANGELOG.md 顶部的增量内容,查找以下关键词:
BREAKING CHANGE、!:(如 feat!: ...)、Reverts 标题### Features 或 ### 新功能 标题### Bug Fixes 或 ### 问题修复 标题从 frontend/package.json 中读取当前版本号作为基准,计算新版本号。
自动决策示例:
1.0.1,增量包含 Features → 新版本为 1.1.01.0.1,增量仅 Bug Fixes → 新版本为 1.0.21.0.1,增量包含 BREAKING CHANGE → 新版本为 2.0.0⚠️ 如果增量内容为空或无法判断,询问用户是否仍要发版,以及期望的版本号。
进入 frontend/ 目录执行 npm version:
cd frontend && npm version <version>
此命令会:
frontend/package.json 的 version 字段git add 中统一管理——但 npm version 默认会 commit,可以追加 --no-git-tag-version 参数来阻止)建议使用 --no-git-tag-version,让所有变更统一暂存:
cd /Users/srackhalllu/Desktop/资源管理器/safe/KeyTone/frontend && npm version <version> --no-git-tag-version
注意:
npm version会校验版本号格式(必须是有效的 SemVer,如1.2.3),且不能与已有 git tag 重复(若未使用--no-git-tag-version)。
文档站点位于 docs/docs/ 目录,使用 VitePress 构建,支持多语言。
对每个语言的配置文件(docs/docs/.vitepress/config/*.mts)执行以下更新:
导航栏版本链接:找到 text: "v" + version 或 text: "v<旧版本>" 的导航项,将其中的 version 引用或硬编码版本号更新为新版本。
"zh/changelog/v" + version"/changelog/v" + version侧边栏(Sidebar)更新日志列表:在每个配置文件的 sidebarChangelog() 函数中,在数组最前面插入新的版本条目:
{ text: "v<新版本>", link: "/v<新版本>" }, // 英文
{ text: "v<新版本>", link: "/v<新版本>" }, // 中文(link 路径相同,因为 base 配置不同)
{ text: "v<新版本>", link: "/v<新版本>" }, // 其他语言同理
对于每种语言,在对应目录下创建 <version>.md 文件:
docs/docs/changelog/v<version>.mddocs/docs/zh/changelog/v<version>.mddocs/docs/<lang>/changelog/v<version>.md文件内容格式模板(基于项目中已有版本文件提炼):
# `<version>` *(<yyyy>-<mm>-<dd>)*
<英文/中文概述段落 — 从 CHANGELOG.md 增量中提取核心内容概括>
### Bug Fixes
* <从 CHANGELOG.md 中提取对应语言的 Bug Fixes 条目,保留原始格式>
* <每个条目包含 commit hash 链接和 issue 引用>
### Features
* <从 CHANGELOG.md 中提取对应语言的 Features 条目>
* <同上>
转换规则(以中英为例, 其它语言同理):
CHANGELOG.md 顶部的增量内容中提取信息docs/docs/changelog/):保留原始英文条目;若条目为中文,需翻译为英文docs/docs/zh/changelog/):保留原始中文条目;若条目为英文,需翻译为中文# `<version>` *(<date>)*YYYY-MM-DD(使用当前日期)### Features / ### 新功能 → 英文版用 ### Features,中文版用 ### 新功能### Bug Fixes / ### 问题修复 → 英文版用 ### Bug Fixes,中文版用 ### 问题修复### Reverts / ### 回退 → 保留原标题### Performance Improvements / ### 性能优化 → 保留原标题如果某个分类在增量中不存在,则省略对应的标题。
git add .
只执行
git add,不自动 commit,以便用户审查变更。
完成上述步骤后,向用户展示以下格式的总结:
## ✅ 版本发布准备完成
### 版本信息
- **新版本号**:<version>
- **版本类型**:<major|minor|patch>
- **发布日期**:<YYYY-MM-DD>
### 已更新文件
1. 📝 `CHANGELOG.md` — 增量 changelog
2. 📦 `frontend/package.json` — UI 版本号
3. 🌐 `docs/docs/.vitepress/config/<lang>.mts` — 文档站配置(导航 + 侧边栏)
4. 📖 `docs/docs/changelog/v<version>.md` — 英文更新日志
5. 📖 `docs/docs/zh/changelog/v<version>.md` — 中文更新日志
6. 📖 `docs/docs/<lang>/changelog/v<version>.md` — 其他语言更新日志(如适用)
### 增量内容概要
<简要列出本次发版包含的主要变更类别和数量,例如:2 个新功能、5 个问题修复>
### ⏩ 后续建议
请审查以上变更,确认无误后可执行:
```bash
git commit -m "chore(release): <version>"
git tag <version>
git push origin <当前分支名>
git push origin <version>