用途:提交已暂存的 Git 改动并推送到远程分支;当没有暂存内容时,会先智能暂存与当前工作相关的未暂存改动再提交。
主要能力:提交前强制扫描明文密钥(API key、token、密码、私钥、云凭证、含凭据的连接串、含真实密钥的 .env 等),发现即停止并指出文件与行号;检查暂存状态,工作区干净时提示 Nothing to commit;依据分支名、近期提交记录和对话中提到的文件名推断上下文,选择性暂存相关文件并说明跳过原因;分析暂存改动,按项目模板 .github/commit-message-template 或 conventional commits 规范生成提交信息;提交后推送,无上游时使用 --set-upstream;处理推送被拒(git pull --rebase 后重试)、合并冲突、pre-commit 钩子失败(禁止使用 --no-verify)和认证失败等错误;最后用自然语言报告结果。
使用方式:由用户说出 commit、commit and push、push my changes、ship it、save my work 等触发。核心命令包括 git diff --cached、git diff、git branch --show-current、git status --porcelain、git add、git commit -m、git push origin <current_branch>。
限制:密钥扫描为硬性关卡,不可跳过,未通过前不得继续;禁止推送整个 checkpoint 分支(如 checkpoint/、cp/ 或明确标注为检查点的分支),若当前分支为检查点分支须停止并告知用户;pre-commit 钩子失败时不得绕过。其余细节暂未提供。