用途:为 Claude Code 设置 PreToolUse 钩子,在 Claude 执行危险的 git 命令之前进行拦截和阻止,防止误操作破坏代码仓库。
主要能力:可阻止的命令包括 git push(含 --force 等所有变体)、git reset --hard、git clean -f 与 git clean -fd、git branch -D、git checkout . 与 git restore .。命令被拦截时,Claude 会看到一条提示,说明其无权访问这些命令。
使用方式:安装时先询问用户范围——仅当前项目(.claude/settings.json)还是所有项目(~/.claude/settings.json)。随后把捆绑脚本 scripts/block-dangerous-git.sh 复制到对应位置:项目为 .claude/hooks/block-dangerous-git.sh,全局为 ~/.claude/hooks/block-dangerous-git.sh,并用 chmod +x 赋予可执行权限。接着在对应 settings 文件中添加钩子配置,matcher 为 Bash,command 指向该脚本;若 settings 文件已存在,需将钩子合并进现有 hooks.PreToolUse 数组,不要覆盖其他设置。之后可询问用户是否增减拦截模式,并据此编辑已复制的脚本。最后进行验证,例如运行:echo '{"tool_input":{"command":"git push origin main"}}' | <path-to-script>,应退出码为 2 并向 stderr 打印 BLOCKED 消息。
适用场景:希望在 Claude Code 中为 Git 操作增加安全护栏、避免危险命令被自动执行的开发者。
限制:资料未提供该技能的收费、价格、平台支持范围及其他未提及功能的详细信息。