Aktualisiere die Doku mit der Cursor-CLI in GitHub Actions. Zwei Ansätze: vollständige Agentenautonomie oder deterministischer Workflow mit ausschließlich vom Agenten vorgenommenen Dateiänderungen.
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 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, darfst aber 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 Doc-Updates implementieren, der von inkrementellen Änderungen des ursprünglichen PR getrieben 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 anhand des Docs-Branch-Präfixes aus dem Kontext pflegen. Falls fehlend anlegen, sonst aktualisieren und Änderungen nach origin pushen.
          4) Du hast KEINE Berechtigung, PRs zu erstellen. Stattdessen genau einen natürlichen PR-Kommentar (1–2 Sätze) posten oder aktualisieren, der die Docs-Updates kurz erklärt und einen Inline-Compare-Link zum schnellen Erstellen eines PR enthält.

          # Inputs 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. Das obige Compare-Link-Format verwenden.
          - Änderungen minimal halten und am Repo-Stil ausrichten. Wenn keine Doc-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ürlicher PR-Kommentar im ursprünglichen PR, der den obigen Inline-Compare-Link enthält. Duplikate vermeiden; einen vorhandenen Bot-Kommentar aktualisieren, falls vorhanden.
          " --force --model "$MODEL" --output-format=text