forked from Gitlink/gitlink-cli
3.0 KiB
3.0 KiB
变更分类规则
前置条件: 先阅读
../../gitlink-shared/SKILL.md了解认证、全局参数和安全规则。
将收集到的 commits、PRs 和 Issues 按类型归类,为生成结构化 Release Notes 做准备。
分类维度
变更按以下维度分类:
| 类型 | 图标 | 标题 |
|---|---|---|
| 新功能 | ✨ | 新功能 |
| Bug 修复 | 🐛 | Bug 修复 |
| 功能改进 | 🔧 | 功能改进 |
| 破坏性变更 | ⚠️ | 破坏性变更 |
| 文档 | 📝 | 文档 |
| 安全修复 | 🔒 | 安全修复 |
分类依据
按 Issue 标签分类(最可靠)
从 issue +list 返回的 issue_tags 字段匹配:
| Issue 标签 | 对应类型 |
|---|---|
feature, enhancement |
新功能 |
bug, fix |
Bug 修复 |
improvement, optimize |
功能改进 |
breaking, major |
破坏性变更 |
docs, documentation |
文档 |
security, vulnerability |
安全修复 |
按 Commit 关键词分类(辅助)
从 compare API 返回的 commit.message 第一行匹配:
| 关键词 | 对应类型 |
|---|---|
feat:, add, 新增 |
新功能 |
fix:, bugfix, 修复 |
Bug 修复 |
improve:, optimize:, refactor:, 优化, 重构 |
功能改进 |
BREAKING, breaking:, ! |
破坏性变更 |
docs:, doc |
文档 |
security:, 安全 |
安全修复 |
按 PR 标题分类(辅助)
PR 标题通常遵循 Conventional Commits 格式,按前缀匹配:
| PR 标题前缀 | 对应类型 |
|---|---|
feat: / feature: |
新功能 |
fix: |
Bug 修复 |
refactor: / perf: |
功能改进 |
docs: |
文档 |
分类优先级
- Issue 标签(最准确,优先采用)
- PR 标题前缀(次之)
- Commit 关键词(兜底)
对于同一个变更,如果 Issue 标签和 commit 关键词都在,以 Issue 标签为准。
去重
以下情况会产生重复条目,需去重:
- PR 和 Issue 关联同一个变更 → 合并为一条:
变更描述 (#PR编号, #Issue编号) - 同一变更的多个 commit → 只保留摘要最清晰的一条
- PR 标题与关联 Issue 主题高度相似 → 合并,优先使用 Issue 的 subject
输出格式
分类完成后,整理为结构化数据供模板填充:
新功能:
- 支持批量关闭 Issue (#123)
- 新增 Wiki 管理命令 (#130)
Bug 修复:
- 修复 Windows 登录 token 存储失败 (#118)
功能改进:
- 优化 API 请求性能 (#125)
破坏性变更:
- 重构认证模块接口(不向下兼容)(#140)
文档:
- 补充分支映射说明 (#115)
贡献者收集
从 commit 和 PR 数据中提取贡献者列表:
- Commit:
author.name或author.login - PR:
author.login
去重后生成贡献者名单,写入 Release Notes 末尾。
References
- collect-data — 数据收集步骤
- generate-and-publish — 生成 Notes 并发布
- SKILL.md — 分类规则速查表