Actualiza automáticamente los docs de un repositorio usando Cursor CLI en GitHub Actions
name: Auto 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 "Estás ejecutándote en un runner de GitHub Actions.
El CLI de GitHub está disponible como `gh` y autenticado mediante `GH_TOKEN`. Git está disponible. Tienes acceso de escritura al 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 }}
- Docs Branch Prefix: ${{ env.BRANCH_PREFIX }}
# Objetivo:
- Implementar un flujo completo de actualización de documentación basado en cambios incrementales del PR original.
# Requisitos:
1) Determinar qué cambió en el PR original y, si ha habido múltiples pushes, calcular los diffs incrementales desde la última actualización exitosa de documentación.
2) Actualizar únicamente la documentación relevante basándote en esos cambios incrementales.
3) Mantener la rama de documentación persistente para este PR head usando el Docs Branch Prefix del Contexto. Créala si no existe, actualízala en caso contrario, y haz push de los cambios a origin.
4) NO tienes permisos para crear PRs. En su lugar, publica o actualiza un único comentario de PR en lenguaje natural (1–2 oraciones) que explique brevemente las actualizaciones de documentación e incluya un enlace de comparación inline para crear rápidamente un PR
# Inputs y convenciones:
- Usa `gh pr diff` e historial de git para detectar cambios y obtener rangos incrementales desde la última actualización de documentación.
- No intentes crear ni editar PRs directamente. Usa el formato de enlace de comparación mencionado arriba.
- Mantén los cambios mínimos y consistentes con el estilo del repo. Si no son necesarias actualizaciones de documentación, no hagas cambios ni publiques comentarios.
# Entregables cuando ocurran actualizaciones:
- Commits enviados a la rama de documentación persistente para este PR head.
- Un único comentario de PR en lenguaje natural en el PR original que incluya el enlace de comparación inline mencionado arriba. Evita publicar duplicados; actualiza un comentario previo del bot si existe.
" --force --model "$MODEL" --output-format=text
¿Esta página le ayudó?