This repository has been archived on 2026-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
Gishen-Admin/.githooks/pre-push
kirukib 40771434d1 Add cross-app Gishen master spec and pre-push refresh tooling.
Establish the shared Admin/Mob/Ecom/B2B contract in-repo and wire Cursor rules, reminder scripts, and a soft pre-push hook so pushes keep the master (and Admin sheet pointers) current.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 16:27:01 +03:00

35 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Optional pre-push: warn if GISHEN-MASTER-SPEC may be stale.
# Soft-fail by default. Set GISHEN_MASTER_SPEC_STRICT=1 to block push.
set -euo pipefail
ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
SCRIPT="$ROOT/scripts/sync-master-spec-reminder.sh"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Gishen: master spec check (pre-push)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [[ ! -x "$SCRIPT" && -f "$SCRIPT" ]]; then
chmod +x "$SCRIPT" || true
fi
if [[ -f "$SCRIPT" ]]; then
# Soft warn unless STRICT already set by user
bash "$SCRIPT" || {
status=$?
if [[ "${GISHEN_MASTER_SPEC_STRICT:-0}" == "1" ]]; then
echo "Push blocked: refresh docs/GISHEN-MASTER-SPEC.md then retry."
exit "$status"
fi
echo "Continuing push (soft warn). Re-run with GISHEN_MASTER_SPEC_STRICT=1 to enforce."
}
else
echo "WARN: missing $SCRIPT — update docs/GISHEN-MASTER-SPEC.md before push."
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
exit 0