name: Check Duplicate PRs on: pull_request_target: types: [opened] jobs: check-duplicates: if: | github.event.pull_request.user.login != 'ishaan-jaff' && github.event.pull_request.user.login != 'krrishdholakia' && github.event.pull_request.user.login != 'actions-user' && !endsWith(github.event.pull_request.user.login, '[bot]') runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: Install Claude Code run: npm install -g @anthropic-ai/claude-code - name: Check duplicates env: ANTHROPIC_API_KEY: ${{ secrets.LITELLM_VIRTUAL_KEY }} ANTHROPIC_BASE_URL: ${{ secrets.LITELLM_BASE_URL }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PROMPT: | A new PR has been opened in the ${{ github.repository }} repository. PR number: ${{ github.event.pull_request.number }} Lookup this PR with gh pr view ${{ github.event.pull_request.number }} --repo ${{ github.repository }}. Search through existing open PRs (excluding #${{ github.event.pull_request.number }}) to find potential duplicates. Use gh pr list --repo ${{ github.repository }} with relevant search terms from the new PR's title and description. Try multiple keyword combinations to search broadly. Check both open and recently closed PRs. Consider: 1. Similar titles or descriptions 2. Same bug fix or feature being implemented 3. Related functionality or components 4. Overlapping code changes (same files or areas) If you find potential duplicates, post a SINGLE comment on PR #${{ github.event.pull_request.number }} using gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} with this format: _This comment was generated by an LLM and may be inaccurate._ This PR might be a duplicate of existing PRs. Please check: - #[pr_number]: [brief description of similarity] If you find NO duplicates, do NOT post any comment. Stay silent. run: claude -p "$PROMPT" --model sonnet --max-turns 10 --allowedTools "Bash(gh pr *)"