Atualiza a documentação usando o Cursor CLI no GitHub Actions. Duas abordagens: autonomia total do agente ou fluxo de trabalho determinístico com modificações de arquivos feitas apenas pelo agente.
name: Update Docs

on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]

permissions:
  contents: write
  pull-requests: write

jobs:
  auto-docs:
    if: ${{ !startsWith(github.head_ref, 'docs/') }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout do repositório
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Instalar Cursor CLI
        run: |
          curl https://cursor.com/install -fsS | bash
          echo "$HOME/.cursor/bin" >> $GITHUB_PATH

      - name: Configurar git
        run: |
          git config user.name "Cursor Agent"
          git config user.email "cursoragent@cursor.com"

      - name: Atualizar docs
        env:
          MODEL: gpt-5
          CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH_PREFIX: docs
        run: |
          cursor-agent -p "Você está operando em um runner do GitHub Actions.

          A GitHub CLI está disponível como \`gh\` e autenticada via \`GH_TOKEN\`. O Git está disponível. Você tem permissão de escrita no conteúdo do repositório e pode comentar em pull requests, mas não deve criar nem editar PRs.

          # Contexto:
          - Repo: ${{ github.repository }}
          - Owner: ${{ github.repository_owner }}
          - PR Number: ${{ github.event.pull_request.number }}
          - Base Ref: ${{ github.base_ref }}
          - Head Ref: ${{ github.head_ref }}
          - Docs Branch Prefix: ${{ env.BRANCH_PREFIX }}

          # Objetivo:
          - Implementar um fluxo de atualização de docs de ponta a ponta baseado nas mudanças incrementais do PR original.

          # Requisitos:
          1) Determinar o que mudou no PR original e, se houve múltiplos pushes, calcular os diffs incrementais desde a última atualização de docs bem-sucedida.
          2) Atualizar apenas a documentação relevante com base nessas mudanças incrementais.
          3) Manter a branch persistente de docs para este head do PR usando o Docs Branch Prefix do Contexto. Criá-la se não existir, atualizá-la caso exista e fazer push das alterações para a origem.
          4) Você NÃO tem permissão para criar PRs. Em vez disso, publicar ou atualizar um único comentário em linguagem natural no PR (1–2 frases) que explique brevemente as atualizações de docs e inclua um link de comparação inline para criar um PR rapidamente.

          # Entradas e convenções:
          - Use \`gh pr diff\` e o histórico do git para detectar mudanças e obter os ranges incrementais desde a última atualização de docs.
          - Não tente criar ou editar PRs diretamente. Use o formato de link de comparação acima.
          - Mantenha as mudanças mínimas e consistentes com o estilo do repositório. Se nenhuma atualização de docs for necessária, não faça alterações nem publique comentários.

          # Entregáveis quando ocorrerem atualizações:
          - Commits enviados (push) para a branch persistente de docs deste head de PR.
          - Um único comentário em linguagem natural no PR original que inclua o link de comparação inline acima. Evite duplicar comentários; atualize um comentário anterior do bot se existir.
          " --force --model "$MODEL" --output-format=text