Commit Skill
提交代码前进行代码质量检查和规范的 commit 信息生成。
使用方式
code
/commit # 自动生成 commit 信息 /commit 修复登录问题 # 使用指定的 commit 信息 /commit fix: 修复登录问题 # 使用带 type 的完整信息
执行步骤
1. 获取变更信息
运行以下命令获取当前变更:
bash
git status git diff --staged git diff git log --oneline -5 # 查看最近提交风格
2. 代码质量检查
根据 CLAUDE.md 中的命令进行验证:
bash
# 运行快速验证(format + lint + type-check) bun run validate:quick # 如果有测试文件变更,运行相关测试 CHANGED_TEST_FILES=$(git diff --name-only --diff-filter=ACMR HEAD | grep -E '\.(test|spec)\.(ts|tsx)$' | tr '\n' ' ') if [ -n "$CHANGED_TEST_FILES" ]; then bun run test -- "$CHANGED_TEST_FILES" fi
如果验证失败,必须修复后才能提交。
3. 代码审查
审查变更的代码,关注以下方面:
- •是否有明显的 bug 或逻辑错误
- •是否符合 CLAUDE.md 中的编码规范
- •是否有潜在的性能问题
- •是否有安全隐患
- •文档是否需要同步更新(参考 CLAUDE.md 文档维护指南)
4. 生成 Commit 信息
如果用户提供了完整的 commit 信息:直接使用。
如果用户只提供了 subject(如 修复登录问题):根据变更自动推断 type。
如果用户未提供任何信息:根据变更内容自动生成。
Commit 信息格式:
code
<type>: <subject>
Type 类型:
- •
feat: 新功能 - •
fix: 修复 bug - •
docs: 文档修改 - •
style: 格式修改(不影响代码逻辑) - •
refactor: 重构 - •
test: 测试相关 - •
chore: 构建/工具相关 - •
perf: 性能优化 - •
revert: 回滚
规范:
- •使用中文描述,符合项目语言习惯
- •Header 最多 72 字符
- •每行最多 100 字符
- •不要包含 issue 号(本项目不使用 issue 系统)
5. 确认并提交
向用户展示:
- •将要提交的文件列表
- •生成的 commit 信息
- •代码审查发现的问题(如有)
用户确认后执行:
bash
git add <具体文件> git commit -m "<commit信息>"
注意事项
- •优先添加具体文件,避免使用
git add -A - •不要提交
.env、credentials.json等敏感文件 - •本项目使用 中文 commit 信息
- •提交前确保相关测试通过
- •文档变更(README.md、CLAUDE.md)需要同步提交
- •提交后不要自动 push,除非用户明确要求
- •遵循本项目的提交风格,参考最近几次提交