Mets automatiquement à jour la documentation en utilisant Cursor CLI dans GitHub Actions. Deux approches : autonomie complète de l’agent ou workflow déterministe avec modifications de fichiers gérées uniquement par l’agent.
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 "Tu fonctionnes dans un runner GitHub Actions.

          La CLI GitHub est disponible via `gh` et authentifiée avec `GH_TOKEN`. Git est disponible. Tu as les droits d'écriture sur le contenu du dépôt et peux commenter les pull requests, mais tu ne dois pas créer ou modifier de PRs.

          # Contexte :
          - Dépôt : ${{ github.repository }}
          - Propriétaire : ${{ github.repository_owner }}
          - Numéro de PR : ${{ github.event.pull_request.number }}
          - Ref de base : ${{ github.base_ref }}
          - Ref de tête : ${{ github.head_ref }}
          - Préfixe de branche docs : ${{ env.BRANCH_PREFIX }}

          # Objectif :
          - Implémenter un workflow complet de mise à jour de la documentation basé sur les modifications incrémentales de la PR originale.

          # Exigences :
          1) Déterminer ce qui a changé dans la PR originale et, s'il y a eu plusieurs pushes, calculer les diffs incrémentaux depuis la dernière mise à jour de documentation réussie.
          2) Mettre à jour uniquement la documentation pertinente en fonction de ces modifications incrémentales.
          3) Maintenir la branche de documentation persistante pour cette tête de PR en utilisant le Préfixe de branche docs du Contexte. La créer si elle n'existe pas, la mettre à jour sinon, et pusher les changements vers origin.
          4) Tu n'as PAS la permission de créer des PRs. À la place, poste ou mets à jour un seul commentaire de PR en langage naturel (1–2 phrases) qui explique brièvement les mises à jour de documentation et inclut un lien de comparaison inline pour créer rapidement une PR

          # Données d'entrée et conventions :
          - Utilise `gh pr diff` et l'historique git pour détecter les changements et déterminer les plages incrémentales depuis la dernière mise à jour de documentation.
          - N'essaie pas de créer ou modifier des PRs directement. Utilise le format de lien de comparaison ci-dessus.
          - Garde les changements minimaux et cohérents avec le style du dépôt. Si aucune mise à jour de documentation n'est nécessaire, ne fais aucun changement et ne poste aucun commentaire.

          # Livrables lors de mises à jour :
          - Commits pushés vers la branche de documentation persistante pour cette tête de PR.
          - Un seul commentaire de PR en langage naturel sur la PR originale qui inclut le lien de comparaison inline ci-dessus. Évite de poster des doublons ; mets à jour un commentaire de bot précédent s'il existe.
          " --force --model "$MODEL" --output-format=text