create-release-note

Solid

从 PR 和 commit 生成版本发布说明。 当准备发版、需要从 PR 与 commit 汇总发布说明时使用。

AI & Automation 85 stars 5 forks Updated today MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
64
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 创��发布说明 基于已合并的 PR 和提交,为指定版本生成全面的发布说明。 ## 执行流程 ### 1. 解析参数 从参数中提取: - `<version>`:当前发布版本(必需),格式 `X.Y.Z` - `<prev-version>`:上一版本(可选),如未提供则自动检测 ### 2. 确定版本范围 **当前标签**:`v<version>` **上一标签**(如未指定): ```bash git tag --sort=-v:refname ``` 查找 `v<version>` 之前最近的标签。 **验证标签存在**: ```bash git rev-parse v<version> git rev-parse v<prev-version> ``` ### 3. 参考历史发布说明格式与分类 读取一次 typed 发布说明上下文,并参考预定义的完整分类清单: 执行前先读取 `.agents/rules/release-commands.md`。 ```bash agent-infra-internal platform-release-notes context \ --from-tag "v<prev-version>" --to-tag "v<version>" \ --branch "<base-branch>" --history-limit 3 ``` **Part B:完整分类清单** - `🆕 Feature` - `✨ Enhancement` - `✅ Bugfix` - `📚 Documentation` **用途**: - Part A:分析最近 3 条历史发布说明的章节结构、标题风格、emoji 使用、条目格式 - Part B:提供静态完整分类清单,确保后续生成时不遗漏已有分类 - 该静态清单用于确保变更分类时不遗漏已有类别名称;若当前版本无该类变更,仍按步骤 7 的格式规则省略空分类 - 后续步骤 7 生成发布说明时,**必须**同时参考步骤 3 的历史格式风格和完整分类清单,保持版本间的一致性 - 如果没有历史发布说明,则使用步骤 7 中定义的默认格式 ### 4. 收集已合并的 PR 与贡献者 使用步骤 3 返回的 `pullRequests` 与 `commits`。每个 commit 的 `authors` 已按平台事实规范化并包含 git author 与 co-author;技能不读取平台原始字段或邮箱规则。 ### 5. 收集关联 Issue 使用步骤 3 中每个 PR 的 `closingIssues`,不在通用技能中解析平台专有引用语法。 ### 6. 分类变更 **按类型**(从 PR 标题的 Conventional Commit 前缀): - `feat`、`perf`、`refactor`、依赖升级 -> Enhancement - `fix` -> Bugfix - `docs` -> Documentation(如少于 3 项则合并到 Enhancement) **按模块**(从 PR 标题 scope、标签或文件路径): - 从 PR 标题中的方括号 `[module]` 或 Conventional scope `feat(module):` 推断模块 - 兜底:分析变更的文件 ### 7. 生成发布说明 **优先使用步骤 3 中获取的历史格式风格,并确保覆盖步骤 3 列出的所有分类。** 如果存在历史发布说明,严格...

Details

Author
fitlab-ai
Repository
fitlab-ai/agent-infra
Created
6 months ago
Last Updated
today
Language
TypeScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category