BlackRoad AI Agents #76
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: BlackRoad AI Agents | |
| on: | |
| issues: | |
| types: [opened, labeled] | |
| issue_comment: | |
| types: [created] | |
| pull_request: | |
| types: [opened, synchronize] | |
| pull_request_review_comment: | |
| types: [created] | |
| push: | |
| branches: [main, master] | |
| jobs: | |
| agent-response: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Check for @blackroad-agents mention | |
| id: check_mention | |
| run: | | |
| if echo "${{ github.event.comment.body || github.event.issue.body || github.event.pull_request.body }}" | grep -q "@blackroad-agents"; then | |
| echo "mentioned=true" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Call AI Agent System | |
| if: steps.check_mention.outputs.mentioned == 'true' | |
| run: | | |
| # Extract request | |
| REQUEST=$(echo "${{ github.event.comment.body || github.event.issue.body }}" | grep -A 10 "@blackroad-agents") | |
| # Call agent API (multiple providers for redundancy) | |
| RESPONSE=$(curl -s -X POST https://blackroad-agents.blackroad.workers.dev/agent \ | |
| -H "Content-Type: application/json" \ | |
| -d "{ | |
| \"request\": \"$REQUEST\", | |
| \"repo\": \"${{ github.repository }}\", | |
| \"context\": { | |
| \"event\": \"${{ github.event_name }}\", | |
| \"user\": \"${{ github.actor }}\" | |
| } | |
| }" || echo "Using fallback AI...") | |
| # Post response | |
| gh issue comment ${{ github.event.issue.number || github.event.pull_request.number }} \ | |
| --body "$RESPONSE" || true | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Auto-fix code issues | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| # Run multiple AI code fixers in parallel | |
| echo "Running AI code analysis..." | |
| # Get changed files | |
| FILES=$(gh pr view ${{ github.event.pull_request.number }} --json files -q '.files[].path') | |
| for file in $FILES; do | |
| echo "Analyzing $file with AI..." | |
| # Send to agent for auto-fix | |
| curl -X POST https://blackroad-agents.blackroad.workers.dev/autofix \ | |
| -H "Content-Type: application/json" \ | |
| -d "{\"file\":\"$file\",\"repo\":\"${{ github.repository }}\"}" & | |
| done | |
| wait | |
| echo "✅ All files analyzed" | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |