Automatische Dokumentations-Updates für ein Repository mit Cursor CLI in 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 "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
War diese Seite hilfreich?