---
name: commit
description: 当用户说"提交"、"commit"、"git commit"、"保存改动"、"帮我提交代码"、"生成提交信息"时使用。自动分析 git diff，生成规范的 Conventional Commit message，支持 feat/fix/docs/refactor/chore/style/test 等类型前缀。
---

# /commit —— Git 提交规范化

## Quick Reference

| 步骤 | 操作 |
|------|------|
| 1 | 用 Bash 工具执行 `git status` 查看变更文件 |
| 2 | 用 Bash 工具执行 `git diff --staged` 或 `git diff` 查看具体改动 |
| 3 | 分析改动内容，推断 commit 类型（feat/fix/docs/refactor/chore/style/test） |
| 4 | 生成符合 Conventional Commits 规范的 message：`<type>(<scope>): <subject>` |
| 5 | 用 Bash 工具执行 `git commit -m "<message>"` |

## Commit 类型指南

- **feat**: 新功能
- **fix**: 修复 bug
- **docs**: 文档变更
- **refactor**: 重构（不修复 bug、不添加功能）
- **style**: 代码格式调整（不影响逻辑）
- **test**: 测试相关
- **chore**: 构建/工具链/辅助工具变更
- **perf**: 性能优化

## 输出格式要求

- subject 行不超过 50 字符（中文）或 72 字符（英文）
- 不以句号结尾
- 使用祈使语气："添加 xxx 功能" 而非 "添加了 xxx"
- body（可选）说明"为什么改"和"怎么改"，而非"改了什么"

## 示例

```
输入: 用户刚修改了登录模块
输出:
  feat(auth): 添加 OAuth2.0 登录支持
  
  - 接入 Google/GitHub OAuth 提供商
  - 新增 AuthCallback 处理第三方回调
  - 移除旧的用户名密码登录流程
```
