#!/usr/bin/env bash # PreToolUse hook: block any `git push --no-verify` — the local test.sh gate is the only hard gate. set -euo pipefail input="$(cat)" tool_name="$(printf '%s' "$input" | jq -r '.tool_name // empty')" [ "$tool_name" = "Bash" ] || exit 0 cmd="$(printf '%s' "$input" | jq -r '.tool_input.command // empty')" [ -n "$cmd" ] || exit 0 if printf '%s' "$cmd" | grep -qE '\bgit[[:space:]]+push\b.*--no-verify\b'; then echo "BLOCKED: --no-verify bypasses the local test.sh gate (唯一硬闸门). If test.sh is failing, fix the root cause; do not skip the gate. Use /erp-local-test-gate to run the gate properly." >&2 exit 2 fi exit 0