关于 smart-commit
smart-commit 是面向 Git 提交流程的技能,利用 LLM 根据代码变更生成提交说明。它支持交互式新提交、修改上次提交以及汇总多个提交。
主要功能
- 01根据代码差异生成提交说明
- 02交互确认待提交文件
- 03修改上次提交说明
- 04合并多个提交并生成说明
适用场景
- 01为选定文件创建新提交
- 02根据变更修改上次提交说明
- 03将最近多个提交合并为一条提交
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackjin1997/ clawforge --skill smart-commit安装后在 Claude Code 中输入/smart-commit确认已加载。
附带文件references/prompts.mdscripts/git_utils.sh
详细介绍
智能提交
使用大模型生成 AI 驱动的 Git 提交消息。根据代码变更创建有意义的提交消息。
功能
- 修正上次提交 - 总结已暂存/未暂存的变更,并修正上次提交的消息
- 压缩提交 - 总结最近 N 次提交,并创建合并后的提交
- 交互式提交 - 与用户确认文件,然后总结变更并创建新提交
快速开始
创建新提交
# Show changed files and ask user confirmation
git status
# After confirmation, summarize changes with LLM
# Create commit with generated message
修正提交
# Get diff of changes to amend
git diff --cached # staged
git diff HEAD~1 # compared to last commit
# LLM summarizes, then
git commit --amend -m "new message"
压缩提交
# Get last N commit messages and diffs
git log -n N --format="%H %s"
# LLM summarizes, then
git reset --soft HEAD~N
git commit -m "consolidated message"
工作流决策树
User wants git commit help?
├─ "amend" or "修改"? → Amend workflow
├─ "squash" or "合并" + number? → Squash workflow
└─ New commit? → Interactive workflow
修正提交工作流
- 获取变更:
git diff --cached(已暂存)或git diff HEAD~1(自上次提交以来的所有变更) - 使用
references/prompts.md中“Amend Commit”部分的提示词发送给大模型 - 用户审核建议的消息
git commit --amend -m "message"
压缩提交工作流
- 获取最近 N 次提交:
git log -n N --format="%H|%s|%an|%ad" - 获取合并后的差异:
git diff HEAD~N..HEAD - 使用
references/prompts.md中“Squash Commits”部分的提示词发送给大模型 - 用户审核建议的消息
git reset --soft HEAD~N && git commit -m "message"
交互式提交工作流
- 向用户显示
git status - 询问用户确认要包含哪些文件
- 获取已确认文件的差异
- 使用
references/prompts.md中“New Commit”部分的提示词发送给大模型 - 用户审核建议的消息
git add <files> && git commit -m "message"
大模型提示词
请参阅 references/prompts.md,其中包含:
- 生成新提交消息
- 生成修正提交消息
- 生成压缩提交消息
每个提示词都包含:
- Git 差异输入格式
- 输出格式要求
- 风格指南(约定式提交等)
评论
支持 Markdown