Commit Splitter 技能
描述
将大量未提交的变更按语义关系智能分组为原子性提交。分析文件之间的目录相邻性、类型关联性和语义关系,生成合理的提交分组和提交消息。
使用方法
/commit-splitter [选项]
选项
--analyze- 分析未提交变更,显示文件分组概况--suggest- 建议提交分组,包含详细的文件列表和提交消息--dry-run- 预览所有提交组,显示增删行数统计
分组规则
| 规则 | 说明 |
|---|---|
| 目录相邻 | 同目录下的文件倾向于属于同一功能 |
| 测试关联 | 测试文件与其源文件归为同一提交 |
| 配置聚合 | 配置/包管理文件归为 chore 提交 |
| 文档聚合 | 文档文件归为 docs 提交 |
| 类型推断 | 基于变更内容推断 feat/fix/refactor 类型 |
输出示例
Commit Splitter Analysis
========================
Total uncommitted files: 12
Suggested commits: 4
Group 1: feat(auth) - add JWT authentication
- src/main/auth/jwt-provider.js (+85)
- src/main/auth/token-store.js (+42)
- src/main/auth/auth-ipc.js (+30)
Group 2: test(auth) - add auth unit tests
- tests/unit/auth/jwt-provider.test.js (+120)
- tests/unit/auth/token-store.test.js (+65)
Group 3: docs - update authentication guide
- docs/features/AUTH_GUIDE.md (+45)
Group 4: chore - update dependencies
- package.json (+2/-1)
- package-lock.json (+150/-80)