name: Agent on: issues: types: [labeled] permissions: contents: write pull-requests: write issues: write jobs: run-agent: # Only run when the "agent/fix" label is added if: github.event.label.name == 'agent/fix' runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Install dependencies run: npm ci - name: Run agent uses: docker/cagent-action@v1.0.3 timeout-minutes: 15 with: cagent-version: v1.15.5 agent: ./agent.yml yolo: true prompt: | Work on GitHub issue: ${{ github.event.issue.html_url }} Fetch the issue, analyze what documentation changes are needed, and implement them. When complete, write .pr-body.md following this structure: ## Summary One sentence describing what was fixed/added/changed. ## Changes Bulleted list of specific changes (be concise, focus on what matters). ## Upstream coordination needed Only include this section if there are issues requiring fixes in upstream repos (docker/cli, moby/moby, etc.). Otherwise omit it entirely. Fixes #${{ github.event.issue.number }} --- 🤖 Generated with [cagent](https://github.com/docker/cagent) Keep the PR body brief and practical. Don't over-explain or add sections that aren't needed. env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check for changes id: changes run: | if git diff --quiet; then echo "has_changes=false" >> $GITHUB_OUTPUT else echo "has_changes=true" >> $GITHUB_OUTPUT fi - name: Commit and push if: steps.changes.outputs.has_changes == 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" BRANCH="agent/issue-${{ github.event.issue.number }}" git checkout -b "$BRANCH" git add . git commit -m "docs: address issue #${{ github.event.issue.number }} This change was automatically generated by the documentation agent team in response to issue #${{ github.event.issue.number }}. 🤖 Generated with cagent" git push origin "$BRANCH" - name: Create pull request if: steps.changes.outputs.has_changes == 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh pr create \ --title "docs: address issue #${{ github.event.issue.number }}" \ --body-file .pr-body.md \ --label agent/generated - name: Comment on issue (success) if: steps.changes.outputs.has_changes == 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh issue comment ${{ github.event.issue.number }} --body "✅ The agent team has created a PR to address this issue. Please review when ready." - name: Comment on issue (no changes) if: steps.changes.outputs.has_changes == 'false' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh issue comment ${{ github.event.issue.number }} --body "â„šī¸ The agent team ran but didn't make any changes. This might indicate the issue needs clarification or is already resolved." - name: Comment on issue (failure) if: failure() env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh issue comment ${{ github.event.issue.number }} --body "❌ The agent team encountered an error. Please check the [workflow logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details."