Commit Splitter

智能提交拆分 - 将大量未提交变更按语义分组为原子性提交

chainlesschain 670fed2 2 files · 11.5 KB Updated

File contents

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)

chainlesschain/chainlesschain/tree/main/desktop-app-vue/src/main/ai-engine/cowork/skills/builtin/commit-splitter commit 670fed2842

Frequently asked questions

npx skillmds@latest add chainlesschain/commit-splitter