name: Check PR Target Branch

on:
  pull_request:
    branches: [main]
    types: [opened]

permissions:
  pull-requests: write

jobs:
  check-target:
    runs-on: ubuntu-latest
    steps:
      - name: Reject PR targeting main
        uses: actions/github-script@v7
        with:
          script: |
            const body = [
              '⚠️ **This PR targets `main`, but PRs should target `staged`.**',
              '',
              'The `main` branch is auto-published from `staged` and should not receive direct PRs.',
              'Please close this PR and re-open it against the `staged` branch.',
              '',
              'You can change the base branch using the **Edit** button at the top of this PR,',
              'or run: `gh pr edit ${{ github.event.pull_request.number }} --base staged`'
            ].join('\n');

            await github.rest.pulls.createReview({
              owner: context.repo.owner,
              repo: context.repo.repo,
              pull_number: context.issue.number,
              event: 'REQUEST_CHANGES',
              body
            });
