用途:在使用 Claude Code 时,于 Bash 命令执行前拦截可能永久销毁未提交改动或重要文件的破坏性 git 与文件系统命令。
主要能力:基于 terraphim-agent guard 的 CLI 模式检查与 PreToolUse 钩子拦截;采用正则模式匹配配合允许列表区分安全与危险命令;拦截的命令包括 git checkout -- <files>、git restore <files>(--staged 除外)、git reset --hard、git reset --merge、git clean -f、git push --force/-f、git branch -D、非临时路径的 rm -rf、git stash drop/clear、git commit --no-verify/-n、git push --no-verify。明确允许的包括 git checkout -b、git checkout --orphan、git restore --staged、git clean -n/--dry-run、git push --force-with-lease,以及 /tmp、/var/tmp、$TMPDIR 下的 rm -rf。
使用方式:从 GitHub releases 安装 terraphim-agent(crates.io 版本过旧且缺少 guard 命令),用 echo "git checkout -- file.txt" | terraphim-agent guard --json 测试;项目级安装需复制 git_safety_guard.sh 到 .claude/hooks/ 并配置 .claude/settings.local.json 的 PreToolUse;全局安装运行 ./scripts/install-terraphim-hooks.sh --global。被拦截时命令不会执行,代理会收到包含原因的反馈;如需执行须由用户手动运行。
限制:采用失败开放语义,找不到 terraphim-agent 或匹配失败时命令放行;仅覆盖资料列出的模式;依赖 jq 解析钩子输入。