diff --git a/.husky/pre-push b/.husky/pre-push index 34d821a14..759c6866c 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -4,6 +4,21 @@ if [ ! -d node_modules ]; then npm install --prefer-offline || exit 1 fi +echo "Checking PR status for current branch..." +BRANCH=$(git branch --show-current) +if [ -n "$BRANCH" ] && [ "$BRANCH" != "main" ] && [ "$BRANCH" != "master" ]; then + PR_STATE=$(gh pr view "$BRANCH" --json state --jq '.state' 2>/dev/null) + if [ "$PR_STATE" = "MERGED" ] || [ "$PR_STATE" = "CLOSED" ]; then + echo "" + echo "============================================================" + echo "ERROR: PR for branch '$BRANCH' is $PR_STATE." + echo "Do NOT push to a merged/closed PR branch — commits will be orphaned." + echo "Run: git checkout main && git pull && git checkout -b fix/new-branch" + echo "============================================================" + exit 1 + fi +fi + echo "Running type check..." npm run typecheck || exit 1