Copy
Ask AI
name: Обновление документации
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: Проверить репозиторий
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Установить Cursor CLI
run: |
curl https://cursor.com/install -fsS | bash
echo "$HOME/.cursor/bin" >> $GITHUB_PATH
- name: Настроить git
run: |
git config user.name "Cursor Agent"
git config user.email "cursoragent@cursor.com"
- name: Обновить документацию
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 и, если было несколько пушей, вычисли инкрементальные diff’ы с момента последнего успешного обновления документации.
2) Обновляй только релевантные разделы документации на основе этих инкрементальных изменений.
3) Поддерживай постоянную ветку документации для текущего head PR, используя префикс ветки из Контекста. Создай её, если отсутствует; иначе обнови и отправь изменения в origin.
4) У тебя НЕТ прав создавать PR. Вместо этого оставь или обнови один короткий комментарий к PR (1–2 предложения), который кратко объясняет обновления документации и включает встроенную ссылку сравнения для быстрого создания PR.
# Входные данные и соглашения:
- Используй `gh pr diff` и историю git, чтобы обнаружить изменения и получить инкрементальные диапазоны с момента последнего обновления документации.
- Не пытайся создавать или редактировать PR напрямую. Используй формат ссылки сравнения выше.
- Держи изменения минимальными и согласованными со стилем репозитория. Если обновления документации не нужны, не вноси изменений и не оставляй комментарий.
# Результаты при обновлениях:
- Отправленные коммиты в постоянную ветку документации для текущего head PR.
- Один комментарий естественным языком в исходном PR, который включает упомянутую встроенную ссылку сравнения. Избегай дублей; обнови предыдущий комментарий бота, если он есть.
" --force --model "$MODEL" --output-format=text