| name | everyday-version-summary |
| description | 读取项目当前提交(HEAD)与最新Git Tag间的提交记录并生成版本日志。当用户要求总结版本更新、生成Release Notes或获取最新更新日志时调用。 |
everyday-version-summary
该 Skill 用于自动读取当前项目最新代码(HEAD)与最近一个 Git Tag 之间的提交记录,并生成一份对最终用户友好的、带有 Emoji 标记的版本更新日志(适用于打 Tag 前生成发版日志的场景)。
执行步骤
1. 获取 Git Tag 列表
首先,在终端中执行命令获取项目的 Tag 列表,按版本号降序排列:
git tag --sort=-v:refname
- 如果有 Tag:将获取到的第一条 Tag 记为
<latest_tag>。
- 如果没有 Tag:无需记录 Tag,将直接读取当前所有的提交记录。
2. 读取提交记录并输出到控制台
根据获取到的 Tag 情况,执行 git log 获取当前代码(HEAD)与最近一次 Tag 之间的提交记录。必须包含 --no-pager 和 -n 100 限制最多读取 100 条(避免本地 Tag 系统错误导致输出巨量 commit message),且格式为 --pretty=format:"%ad | %s%b%n"。
3. 分析日志并生成面向用户的版本更新日志
获取到终端中的 git log 输出后,仔细分析提交记录,按照以下要求生成最终发给用户的更新日志:
- 大标题:
以
项目名 + 待发布版本号 开头,例如:“[项目名] 待发布版本 更新日志”或“[项目名] 最新更新日志”。
- 内容提炼与过滤:
- 仔细阅读每条 commit message,理解其实际变更内容。
- 剔除无关紧要的改动:太过于细节和用户无感知的改动(如:重构内部代码、修复拼写错误、修改配置文件、更新依赖版本等)不需要包含在更新日志中。
- 转化短句:将剩余的有价值内容(如:新功能、重要修复、体验优化等)转化为通俗易懂的短句。
- 格式排版:
- 根据实际提交内容列举多行。
- 每行必须以一个恰当且相关的 Emoji 开头。
4. 返回结果
将最终整理好格式的版本更新日志直接回复给用户。