#!/bin/sh # 机械红线校验:对本次暂存做「可编辑范围 + 严格 ES5」硬检查,命中即阻断提交。 # 工具无关——Claude Code、别的编辑器、人手改,提交都过这道闸。 # 模式(本地 git 配置 redlines.stagedmode): # 未设 / 非 diff → 严格:整文件扫描(模板等干净仓库用) # diff → 增量:只查本次新增行(已有开发量的老项目回迁用) # 启用(每个克隆一次性):git config core.hooksPath .githooks (或跑 setup-redlines.sh) MODE="$(git config --get redlines.stagedmode 2>/dev/null)" if [ "$MODE" = "diff" ]; then FLAG="--staged-diff"; else FLAG="--staged"; fi exec node "$(git rev-parse --show-toplevel)/.claude/hooks/check-redlines.js" "$FLAG"