名称: 提交 描述: 遵循Conventional Commits规范创建git提交,并遵循项目特定的分支命名规则
提交技能 - Conventional Commits
何时使用
- 当用户请求“提交这个”、“提交”、“保存更改”时
- 当调用
/commit命令时
配置
项目特定设置: .agent/skills/commit/config/commit-config.yaml
提交类型
| 类型 | 描述 | 分支前缀 |
|---|---|---|
| feat | 新功能 | feature/ |
| fix | 错误修复 | fix/ |
| refactor | 代码改进 | refactor/ |
| docs | 文档更改 | docs/ |
| test | 测试添加/修改 | test/ |
| chore | 构建、配置等 | chore/ |
| style | 代码风格更改 | style/ |
| perf | 性能改进 | perf/ |
提交格式
<type>(<scope>): <description>
[可选正文]
Co-Authored-By: First Fluke <our.first.fluke@gmail.com>
工作流程
步骤 1: 分析更改
git status
git diff --staged
git log --oneline -5
步骤 1.5: 按功能拆分(如果需要)
如果更改的文件跨越多个功能/领域,按功能拆分提交。
拆分标准:
- 不同范围(例如,工作流 vs 技能 vs 文档)
- 不同类型(例如,feat vs fix vs docs)
- 逻辑上独立的更改
示例:
# 更改的文件:
.agent/workflows/*.md (7 文件) → fix(workflows): ...
.agent/skills/**/*.md (4 文件) → fix(skills): ...
USAGE.md, USAGE-ko.md → docs: ...
# 拆分为 3 个提交
不要拆分当:
- 所有更改属于单个功能
- 更改文件较少(5 个或更少)
- 用户请求单个提交
步骤 2: 确定提交类型
分析更改 → 选择适当类型:
- 添加新文件 →
feat - 修复错误 →
fix - 重构 →
refactor - 仅文档 →
docs - 添加测试 →
test - 构建/配置更改 →
chore
步骤 3: 确定范围
使用更改的模块/组件作为范围:
feat(auth): 认证相关fix(api): API 相关refactor(ui): UI 相关- 无范围也有效:
chore: 更新依赖项
步骤 4: 编写描述
- 少于 72 字符
- 使用命令式语气(添加、修复、更新、移除…)
- 首字母小写
- 无末尾句点
步骤 5: 与用户确认
📝 提交消息预览:
feat(orchestrator): 添加多-CLI 代理映射支持
- 添加 user-preferences.yaml 用于 CLI 配置
- 更新 spawn-agent.sh 以读取代理-CLI 映射
- 更新内存模式以包含 CLI 字段
Co-Authored-By: First Fluke <our.first.fluke@gmail.com>
是否继续此提交? (Y/N/编辑)
步骤 6: 执行提交
用户确认后:
git add <特定文件>
git commit -m "<消息>"
参考文献
- 配置:
config/commit-config.yaml - 指南:
resources/conventional-commits.md
重要注意事项
- 绝不要在没有用户确认的情况下提交
- 绝不要在没有明确许可的情况下使用
git add -A或git add . - 绝不要提交可能包含秘密的文件(.env、凭据等)
- 始终在暂存时使用具体文件名
- 始终使用 HEREDOC 处理多行提交消息