github actionsを使用し、cursorにコードレビューしてもらう

Cover Image for github actionsを使用し、cursorにコードレビューしてもらう

(公開・更新)

参考公式サイト https://docs.cursor.com/ja/cli/cookbook/code-review

step1:github actionsのワークフローを作成

〇ファイル構成
.github
 ↳workflowws
 ↳cursor-code-review.yml 
name: コードレビュー

#トリガー
#opened:新規PRが作成されたとき
#synchronize:PRに新しいコミットがプッシュされたとき(更新時)
#reopened:一度クローズされたPRが再度オープンされたとき
#ready_for_review:ドラフト状態のPRがレビュー可能な状態に変更されたとき
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]

#書き込み、読み取り権限付与
permissions:
  pull-requests: write
  contents: read
  #contents: write

jobs:
  code-review:
    runs-on: ubuntu-latest
    #ドラフトPRは自動コードレビューをスキップ
    if: github.event.pull_request.draft == false
    steps:
      - name: リポジトリをチェックアウト
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Cursor CLI をインストール
        run: |
          curl https://cursor.com/install -fsS | bash
          echo "$HOME/.cursor/bin" >> $GITHUB_PATH

      - name: 自動コードレビューを実行
        env:
          CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
          MODEL: auto
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          # 問題があった場合はPRをブロックする事が可能:true
          # 変数を作成していないため、ブロックされない
          BLOCKING_REVIEW: ${{ vars.BLOCKING_REVIEW || 'false' }}
        run: |
          cursor-agent --force --model "$MODEL" --output-format=text --print '
          GitHub Actions のランナー上で自動コードレビューを実行してる。
          gh CLI は利用可能で、GH_TOKEN で認証済み。pull request にコメントしてOK。

          指示を記載

step2:APIキーの設定

参考公式サイト① https://docs.cursor.com/ja/cli/reference/authentication#api-key-authentication

参考公式サイト② https://docs.cursor.com/ja/cli/github-actions#authentication

APIキーの生成

①APIキーの生成

Cursorにログイン(ダウンロードしているエディタではなく上記のサイトでログイン)

Cursorのダッシュボードの Integrations > User API Keys でAPIキーを生成。

APIキーの設定

②APIキーを設定

Cursor の API キーをリポジトリ内で安全に保存しよう:

  1. GitHub のリポジトリへ移動
  2. Settings → Secrets and variables → Actions をクリック
  3. New repository secret をクリック
  4. 名前を CURSOR_API_KEY に設定
  5. 値に API キーを貼り付け
  6. Add secret をクリック

step3:エージェントの権限を設定する

〇ファイル構成
.cursor
 ↳cli.json
{
  "permissions": {
    "allow": ["read", "write", "suggest"],
    "deny": []
  }
}

この設定により、エージェントはファイルを読み取り、コメントには GitHub CLI を使えるけど、リポジトリを変更することはできない。設定の詳細は permissions reference を見てね。