name: Opencode Agents on: issues: types: [opened] pull_request_target: types: [opened] jobs: triage-issue: if: github.event_name == 'issues' runs-on: ubuntu-latest permissions: contents: read issues: write steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 1 - name: Install opencode run: curl -fsSL https://opencode.ai/install | bash - name: Triage issue env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE_TITLE: ${{ github.event.issue.title }} ISSUE_BODY: ${{ github.event.issue.body }} run: | opencode run --agent triage "The following issue was just opened, triage it: Title: $ISSUE_TITLE $ISSUE_BODY" duplicate-prs: if: github.event_name == 'pull_request_target' && github.event.pull_request.user.login != 'opencode-agent[bot]' runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 1 - name: Install opencode run: curl -fsSL https://opencode.ai/install | bash - name: Build prompt env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_NUMBER: ${{ github.event.pull_request.number }} run: | { echo "Check for duplicate PRs related to this new PR:" echo "" echo "CURRENT_PR_NUMBER: $PR_NUMBER" echo "" echo "Title: $(gh pr view \"$PR_NUMBER\" --json title --jq .title)" echo "" echo "Description:" gh pr view "$PR_NUMBER" --json body --jq .body } > pr_info.txt - name: Check for duplicate PRs env: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_NUMBER: ${{ github.event.pull_request.number }} run: | COMMENT=$(opencode run --agent duplicate-pr "$(cat pr_info.txt)") gh pr comment "$PR_NUMBER" --body "_The following comment was made by an LLM, it may be inaccurate:_ $COMMENT"