Aktualisiere deine Dokumentation automatisch mit der Cursor CLI in GitHub Actions. Zwei Ansätze: vollständige Agent-Autonomie oder deterministischer Workflow mit ausschließlich Agent-basierten Dateimodifikationen.
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 "Du arbeitest in einem GitHub Actions Runner.

          Die GitHub CLI ist als `gh` verfügbar und über `GH_TOKEN` authentifiziert. Git ist verfügbar. Du hast Schreibzugriff auf Repository-Inhalte und kannst Pull Requests kommentieren, aber du darfst keine PRs erstellen oder bearbeiten.

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

          # Ziel:
          - Implementiere einen End-to-End-Dokumentations-Update-Flow, der durch inkrementelle Änderungen am ursprünglichen PR gesteuert wird.

          # Anforderungen:
          1) Bestimme, was sich im ursprünglichen PR geändert hat und, falls es mehrere Pushes gab, berechne die inkrementellen Diffs seit dem letzten erfolgreichen Dokumentations-Update.
          2) Aktualisiere nur die relevante Dokumentation basierend auf diesen inkrementellen Änderungen.
          3) Verwalte den persistenten Dokumentations-Branch für diesen PR-Head mit dem Docs Branch Prefix aus dem Kontext. Erstelle ihn, falls er fehlt, aktualisiere ihn andernfalls und pushe Änderungen zu origin.
          4) Du hast KEINE Berechtigung, PRs zu erstellen. Poste oder aktualisiere stattdessen einen einzigen natürlichsprachigen PR-Kommentar (1–2 Sätze), der die Dokumentations-Updates kurz erklärt und einen Inline-Compare-Link zum schnellen Erstellen eines PRs enthält

          # Eingaben und Konventionen:
          - Verwende `gh pr diff` und Git-History, um Änderungen zu erkennen und inkrementelle Bereiche seit dem letzten Dokumentations-Update abzuleiten.
          - Versuche nicht, PRs direkt zu erstellen oder zu bearbeiten. Verwende das Compare-Link-Format von oben.
          - Halte Änderungen minimal und konsistent mit dem Repository-Stil. Falls keine Dokumentations-Updates notwendig sind, mache keine Änderungen und poste keinen Kommentar.

          # Ergebnisse bei Updates:
          - Gepushte Commits zum persistenten Dokumentations-Branch für diesen PR-Head.
          - Ein einziger natürlichsprachiger PR-Kommentar am ursprünglichen PR, der den Inline-Compare-Link von oben enthält. Vermeide doppelte Posts; aktualisiere einen vorherigen Bot-Kommentar, falls vorhanden.
          " --force --model "$MODEL" --output-format=text