Atualize a documentação usando o Cursor CLI no GitHub Actions. Duas abordagens: autonomia total do agente ou fluxo de trabalho determinístico, com o agente apenas modificando arquivos.
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 repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

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

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

      - name: Update 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.

          O GitHub CLI está disponível como `gh` e autenticado via `GH_TOKEN`. O Git está disponível. Você tem acesso de escrita ao 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 ponta a ponta guiado por mudanças incrementais no PR original.

          # Requisitos:
          1) Determinar o que mudou no PR original e, se houver múltiplos pushes, calcular os diffs incrementais desde a última atualização de docs bem-sucedida.
          2) Atualizar apenas os docs relevantes com base nessas mudanças incrementais.
          3) Manter a branch de docs persistente para este head do PR usando o Docs Branch Prefix do contexto. Criá-la se não existir, atualizá-la caso exista e enviar as mudanças para a origin.
          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:
          - Usar `gh pr diff` e o histórico do Git para detectar mudanças e derivar intervalos incrementais desde a última atualização de docs.
          - Não tentar criar ou editar PRs diretamente. Usar o formato de link de comparação acima.
          - Manter as mudanças mínimas e consistentes com o estilo do repositório. Se nenhuma atualização de docs for necessária, não fazer mudanças e não postar comentário.

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