用途:在提交改动、暂存文件或完成 git worktree 工作时使用,规范提交流程。
主要能力:敏感文件防护会扫描 git status,匹配 .env*、.pem、.key、.p12、.pfx、.tfstate、.tfvars、credentials.json、serviceAccountKey.json、secret 等模式;发现匹配即把缺失模式加入 .gitignore 并暂存它,若文件已被跟踪则提示 git rm --cached <file>,不会提交敏感文件。智能提交流程依次为:审查 git status、git diff、git diff --cached、git log --oneline -5;执行敏感文件防护;用 git add -u 仅自动暂存已跟踪的修改和删除,未跟踪文件需逐个审查后按名暂存;按目录或功能区域分组,把不相关的改动自动拆成多个提交;根据改动推断类型(feat、fix、chore、docs、refactor、test、style)与范围,主题行用祈使语气且不超过 72 字符,正文可选,解释“为什么”而非“做了什么”;通过 heredoc 提交并带 Co-Authored-By 尾注,其中 <model> 需替换为实际模型名;pre-commit 钩子失败时修复问题、重新暂存并新建提交,不使用 --no-verify,也不 amend。
worktree 用法:在 .claude/worktrees/<name>/ 中按上述流程提交全部改动,切到主工作目录的 main,执行 git merge --squash <worktree-branch>,用一条规范信息提交压缩结果,再用 git log --oneline -5 && git status 验证,最后 git worktree remove .claude/worktrees/<name>。规则要求先提交再合并、始终合并进 main、合并确认前不删除分支、用 --squash 保持线性历史。
规则与限制:无需用户确认即可一次性完成暂存、生成信息和提交;绝不提交敏感文件;不 amend 已发布提交;不强推 main;不用 --no-verify 或 --no-gpg-sign;优先指定文件名而非 git add -A;格式化与 lint 由钩子自动执行。