Aktualisiere die Doku mit der Cursor-CLI in GitHub Actions. Zwei Ansätze: vollständige Agent-Autonomie oder deterministischer Workflow, bei dem nur der Agent Dateien ändert.
name: Docs aktualisieren

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: Repository auschecken
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

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

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

      - name: Docs aktualisieren
        env:
          MODEL: gpt-5
          CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH_PREFIX: docs
        run: |
          cursor-agent -p "Du läufst in einem GitHub Actions Runner.

          Die GitHub CLI steht als \`gh\` zur Verfügung und ist über \`GH_TOKEN\` authentifiziert. Git ist verfügbar. Du hast Schreibzugriff auf die 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-Präfix: ${{ env.BRANCH_PREFIX }}

          # Ziel:
          - Einen End-to-End-Flow für Docs-Updates implementieren, der durch inkrementelle Änderungen am ursprünglichen PR gesteuert wird.

          # Anforderungen:
          1) Ermitteln, was sich im ursprünglichen PR geändert hat, und bei mehreren Pushes die inkrementellen Diffs seit dem letzten erfolgreichen Docs-Update berechnen.
          2) Nur die relevanten Docs basierend auf diesen inkrementellen Änderungen aktualisieren.
          3) Den persistenten Docs-Branch für diesen PR-Head unter Verwendung des im Kontext angegebenen Docs-Branch-Präfixes pflegen. Falls er fehlt, erstellen; andernfalls aktualisieren und Änderungen nach origin pushen.
          4) Du hast KEINE Berechtigung, PRs zu erstellen. Stattdessen einen einzelnen natürlichsprachigen PR-Kommentar (1–2 Sätze) posten oder aktualisieren, der die Docs-Updates kurz erklärt und einen Inline-Compare-Link enthält, um schnell eine PR zu erstellen.

          # Eingaben und Konventionen:
          - \`gh pr diff\` und die Git-Historie verwenden, um Änderungen zu erkennen und inkrementelle Bereiche seit dem letzten Docs-Update abzuleiten.
          - Nicht versuchen, PRs direkt zu erstellen oder zu bearbeiten. Obiges Compare-Link-Format verwenden.
          - Änderungen minimal halten und an den Repo-Stil anpassen. Wenn keine Docs-Updates nötig sind, keine Änderungen vornehmen und keinen Kommentar posten.

          # Ergebnisse bei Updates:
          - Commits in den persistenten Docs-Branch für diesen PR-Head gepusht.
          - Ein einzelner natürlichsprachiger PR-Kommentar im Original-PR, der den oben genannten Inline-Compare-Link enthält. Duplikate vermeiden; einen vorhandenen Bot-Kommentar aktualisieren, falls vorhanden.
          " --force --model "$MODEL" --output-format=text