gitlink-cli/skills/gitlink-changelog/references/classify-rules.md

111 lines
3.0 KiB
Markdown

# 变更分类规则
> **前置条件:** 先阅读 [`../../gitlink-shared/SKILL.md`](../../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:` | 文档 |
## 分类优先级
1. **Issue 标签**(最准确,优先采用)
2. **PR 标题前缀**(次之)
3. **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](collect-data.md) — 数据收集步骤
- [generate-and-publish](generate-and-publish.md) — 生成 Notes 并发布
- [SKILL.md](../SKILL.md) — 分类规则速查表