#!/bin/sh # 根目录卫生门禁(2026-10-10 根治):根目录只放项目元文件,**新增**根文件不在白名单即拒。 # 背景:日志/一次性脚本/临时产物反复堆到仓库根,已两次人工清理(2026-10-10)——治本靠门禁而非再清一遍。 # 约定:日志与临时产物入 temp/(已 gitignore);脚本入 scripts/;文档入 docs/。 added=$(git diff --cached --name-only --diff-filter=A) [ -z "$added" ] && exit 0 bad=$(printf '%s\n' "$added" | awk -F/ 'NF==1' | grep -vE '^(ARCHITECTURE\.md|CLAUDE\.md|README\.md|Cargo\.toml|Cargo\.lock|bun\.lock|index\.html|package\.json|playwright\.config\.ts|tsconfig\.json|tsconfig\.node\.json|vite\.config\.ts|\.gitignore|\.gitattributes|\.dockerignore)$') if [ -n "$bad" ]; then echo "✗ [根目录卫生] 新增根文件不在白名单: $(printf '%s ' $bad)" echo " 路径约定:日志/临时产物→temp/(已 gitignore);脚本→scripts/;文档→docs/;确属项目元文件才放根" echo " 如确需新增根文件,请同步更新本规则白名单(scripts/hooks/rules/root-hygiene.sh)" exit 1 fi exit 0