SuperAPI AI 工具集

git-guardrails-claude-code

智能体与模型

查看项目

更新于 10-16 01:27

技能介绍

用途:为 Claude Code 设置 Git 防护栏,通过 PreToolUse 钩子在执行前拦截危险 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 赋予可执行权限。接着在相应设置文件添加钩子:项目使用命令 "$CLAUDE_PROJECT_DIR"/.claude/hooks/block-dangerous-git.sh,全局使用 ~/.claude/hooks/block-dangerous-git.sh,matcher 为 Bash,type 为 command。若设置文件已存在,应合并到已有 hooks.PreToolUse 数组,不要覆盖其它设置。之后询问用户是否增删拦截模式,并相应修改复制后的脚本。最后验证:执行 echo '{"tool_input":{"command":"git push origin main"}}' | <path-to-script>,应退出码为 2 并向 stderr 打印 BLOCKED 消息。

适用场景:希望在 Claude Code 中防止误执行或未经授权的危险 git 操作时。限制与未提供:资料未说明除上述命令外的其它拦截规则、跨平台兼容性、脚本内部实现细节或版本要求。