Обновляй документацию с помощью Cursor CLI в GitHub Actions. Два подхода: полная автономность агента или детерминированный workflow, где изменения в файлах вносит только агент.
name: 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 "Ты работаешь в среде GitHub Actions runner.

          GitHub CLI доступен как `gh` и аутентифицирован через `GH_TOKEN`. Git доступен. У тебя есть права на запись в содержимое репозитория и возможность комментировать pull request’ы, но ты не должен создавать или редактировать PR.

          # Контекст:
          - Repo: ${{ github.repository }}
          - Owner: ${{ github.repository_owner }}
          - PR Number: ${{ github.event.pull_request.number }}
          - Base Ref: ${{ github.base_ref }}
          - Head Ref: ${{ github.head_ref }}
          - Docs Branch Prefix: ${{ env.BRANCH_PREFIX }}

          # Цель:
          - Реализовать сквозной процесс обновления документации, основанный на инкрементальных изменениях исходного PR.

          # Требования:
          1) Определи, что изменилось в исходном PR, и если было несколько пушей, вычисли инкрементальные диффы с момента последнего успешного обновления документации.
          2) Обновляй только релевантные разделы документации на основе этих инкрементальных изменений.
          3) Поддерживай постоянную ветку документации для текущей головы PR, используя Docs Branch Prefix из Контекста. Создай её, если отсутствует, иначе обнови и запушь изменения в origin.
          4) У тебя нет прав создавать PR. Вместо этого опубликуй или обнови единственный короткий комментарий к PR (1–2 предложения), который кратко объясняет обновления документации и включает встроенную compare‑ссылку для быстрого создания PR.

          # Входные данные и соглашения:
          - Используй `gh pr diff` и историю git, чтобы обнаруживать изменения и вычислять инкрементальные диапазоны с момента последнего обновления документации.
          - Не пытайся создавать или редактировать PR напрямую. Используй формат compare‑ссылки, указанный выше.
          - Держи изменения минимальными и в стиле репозитория. Если обновления документации не нужны, не вноси изменений и не публикуй комментарий.

          # Результаты при наличии обновлений:
          - Запушенные коммиты в постоянную ветку документации для текущей головы PR.
          - Один комментарий на естественном языке в исходном PR, включающий указанную выше встроенную compare‑ссылку. Избегай дублей; при наличии — обнови предыдущий комментарий бота.
          " --force --model "$MODEL" --output-format=text