SuperAPI AI 工具集

create-release-notes

编程与开发

查看项目

更新于 10-16 09:08

技能介绍

用途

Create Release Notes 是一个用于生成面向用户的发布说明(Release Notes)的技能。当用户要求编写发布说明、记录某个版本、为用户总结变更,或准备两个版本之间的变更日志时,该技能会基于 git 历史与 PR 描述,将技术性变更翻译成用户和利益相关者能够理解的语言,并按影响类别分组,突出显示破坏性变更。

主要能力

  • 读取项目上下文:检查 .chalk/docs/ 中的历史发布说明(用于匹配语气、格式和惯例)、产品文档(理解面向用户的术语)以及架构文档(将技术变更映射到用户可见功能)。
  • 确定版本范围:支持从参数中获取两个版本(如 v1.1.0...v1.2.0);若只提供目标版本,则通过 git tag --sort=-v:refname | head -5 查找上一个标签;若未提供版本,则使用最新标签到 HEAD 的范围。
  • 收集变更详情:对范围内每个提交读取提交信息(主题和正文),若引用了 PR 编号则读取 PR 描述以获取更丰富的上下文,并识别变更类型(功能、改进、缺陷修复、破坏性变更、弃用、内部/杂项)。纯内部变更(CI 配置、开发工具)除非影响用户,否则跳过。
  • 分类变更:将每个变更归入破坏性变更、新功能、改进、缺陷修复、弃用、安全之一。
  • 翻译为用户语言:用面向用户的术语替换技术术语,聚焦用户收益而非实现细节,每条 1-2 句,使用主动语态和现在时。
  • 编写破坏性变更部分:清晰说明变更内容与原因,提供前后对比示例,包含逐步迁移说明,注明迁移所需的最低版本,若存在自动化迁移工具则引用。
  • 确定下一个文件编号:列出 .chalk/docs/product/ 中匹配 _release_notes 的文件,找到最大编号并加 1。
  • 写入发布说明:保存到 .chalk/docs/product/<n>release_notes<version>.md。
  • 确认:呈现摘要,包括版本、各分类变更数量、需要关注的破坏性变更。

使用方式

该技能通过读取 git 历史与 PR 描述来工作,需要项目具备 git 仓库和可用的版本标签。使用时提供版本范围或目标版本作为参数;若未提供,则自动使用最新标签到 HEAD 的范围。生成的发布说明遵循固定格式,包含 Highlights、Breaking Changes、New Features、Improvements、Bug Fixes、Deprecations、Security 等章节,并保存为指定命名规范的文件。

文件名规范:<number>release_notes<version>.md,例如 3_release_notes_v1_2_0.md、8_release_notes_v2_0_0.md。

适用场景

  • 为软件版本发布准备面向用户的变更说明。
  • 为 API 消费者整理破坏性变更与迁移指南。
  • 为内部团队汇总版本变更(仍需翻译技术术语)。
  • 在持续交付流程中快速生成变更日志。

限制

  • 依赖 git 仓库和版本标签,若项目未使用 git 或没有标签,版本范围确定可能受限。
  • 依赖 .chalk/docs/ 中的上下文文档来匹配语气和术语;若缺失,可能影响输出的一致性。
  • 需要 PR 描述来获取更丰富的上下文;若提交未关联 PR,信息可能不足。
  • 该技能不编造功能或效果,仅基于实际提交与 PR 内容生成。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。