GitHub ActionsでCursor CLIを使ってドキュメントを自動更新しよう。2つのアプローチがある:エージェントに完全に任せる方法と、エージェントによるファイル変更のみを含む確定的なワークフロー。
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 "あなたはGitHub Actionsランナー内で動作しています。

          GitHub CLIは`gh`として利用可能で、`GH_TOKEN`で認証されています。Gitも利用可能です。リポジトリのコンテンツに対する書き込み権限があり、プルリクエストにコメントできますが、PRの作成や編集は行わないでください。

          # コンテキスト:
          - リポジトリ: ${{ github.repository }}
          - オーナー: ${{ github.repository_owner }}
          - PR番号: ${{ github.event.pull_request.number }}
          - ベースRef: ${{ github.base_ref }}
          - ヘッドRef: ${{ github.head_ref }}
          - ドキュメントブランチプレフィックス: ${{ env.BRANCH_PREFIX }}

          # 目標:
          - 元のPRへの増分変更によって駆動される、エンドツーエンドのドキュメント更新フローを実装する。

          # 要件:
          1) 元のPRで何が変更されたかを判断し、複数のプッシュがあった場合は、最後に成功したドキュメント更新以降の増分差分を計算する。
          2) それらの増分変更に基づいて、関連するドキュメントのみを更新する。
          3) コンテキストのドキュメントブランチプレフィックスを使用して、このPRヘッドの永続的なドキュメントブランチを維持する。存在しない場合は作成し、そうでなければ更新して、変更をoriginにプッシュする。
          4) PRを作成する権限はありません。代わりに、ドキュメント更新を簡潔に説明し、PRを素早く作成するためのインライン比較リンクを含む、自然言語のPRコメント(1〜2文)を投稿または更新してください

          # 入力と規約:
          - `gh pr diff`とgit履歴を使用して変更を検出し、最後のドキュメント更新以降の増分範囲を導出する。
          - PRを直接作成または編集しようとしないでください。上記の比較リンク形式を使用してください。
          - 変更は最小限に抑え、リポジトリのスタイルと一致させる。ドキュメント更新が不要な場合は、変更を行わず、コメントも投稿しない。

          # 更新が発生した場合の成果物:
          - このPRヘッドの永続的なドキュメントブランチへのコミットのプッシュ。
          - 上記のインライン比較リンクを含む、元のPRに対する自然言語のPRコメント。重複投稿を避ける;以前のボットコメントが存在する場合は更新する。
          " --force --model "$MODEL" --output-format=text