Actualiza las docs usando Cursor CLI en GitHub Actions. Dos opciones: autonomía total del agente o un flujo determinista donde el agente solo modifica archivos.
name: Actualizar documentación

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 del repositorio
        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: Actualizar docs
        env:
          MODEL: gpt-5
          CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH_PREFIX: docs
        run: |
          cursor-agent -p "Estás operando en un runner de GitHub Actions.

          La CLI de GitHub está disponible como \`gh\` y autenticada vía \`GH_TOKEN\`. Git está disponible. Tienes permisos de escritura sobre el contenido del repositorio y puedes comentar en pull requests, pero no debes crear ni 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 }}
          - Prefijo de rama de docs: ${{ env.BRANCH_PREFIX }}

          # Objetivo:
          - Implementar un flujo end-to-end de actualización de docs impulsado por cambios incrementales del PR original.

          # Requisitos:
          1) Determinar qué cambió en el PR original y, si hubo múltiples pushes, calcular los diffs incrementales desde la última actualización de docs exitosa.
          2) Actualizar solo la documentación relevante según esos cambios incrementales.
          3) Mantener la rama persistente de docs para el head de este PR usando el prefijo de rama de docs del Contexto. Créala si no existe, actualízala en caso contrario y haz push de los cambios al origin.
          4) NO tienes permiso para crear PRs. En su lugar, publica o actualiza un único comentario natural en el PR (1–2 oraciones) que explique brevemente las actualizaciones de docs e incluya un enlace inline de compare para crear un PR rápidamente.

          # Entradas y convenciones:
          - Usa \`gh pr diff\` y el historial de git para detectar cambios y derivar rangos incrementales desde la última actualización de docs.
          - No intentes crear ni editar PRs directamente. Usa el formato de enlace de compare anterior.
          - Mantén los cambios mínimos y consistentes con el estilo del repo. Si no hay actualizaciones de docs necesarias, no hagas cambios ni publiques comentarios.

          # Entregables cuando haya actualizaciones:
          - Commits con push a la rama persistente de docs para el head de este PR.
          - Un único comentario natural en el PR original que incluya el enlace inline de compare anterior. Evita duplicados; actualiza un comentario previo del bot si existe.
          " --force --model "$MODEL" --output-format=text