メインコンテンツへスキップ
GitHubまたはGitLabリポジトリの自動コードレビューを設定します。Droidがプルリクエストとマージリクエストを分析し、問題を特定して、インラインコメントとしてフィードバックを投稿します。GitHubリポジトリでは、セットアップフローがレビュー自動化の設定の一部としてFactory Droid GitHub Appのインストールを確認します。
見つかった問題を含むコードレビューサマリーを投稿するFactory Droidボット
特定の行にインラインコードレビューコメントを投稿するFactory Droidボット

セットアップ

GitHubまたはGitLabの自動コードレビューを設定するには、/install-code-reviewコマンドを使用します:
droid
> /install-code-review
ガイド付きフローでは以下を行います:
  1. SCMプラットフォーム(GitHubまたはGitLab)を検出
  2. 前提条件(CLIツール、権限)を確認
  3. レビュー設定(深度、セキュリティ、トリガー)の設定をガイド
  4. ワークフローファイルとともにPR/MRを作成

動作の仕組み

有効化すると、Droid Reviewワークフローは:
  1. プルリクエストイベント(開始、同期、再開、レビュー準備完了)でトリガー
  2. 開発中のノイズを避けるため下書きPRをスキップ
  3. PR差分と既存のコメントを取得
  4. バグ、セキュリティ問題、正確性の問題についてコード変更を分析
  5. 問題のある行にインラインコメントを投稿
  6. 問題が見つからない場合は承認を送信

認証

自動レビューには、Droidを実行する権限と、プルリクエストに投稿する権限という、2種類の別々のアクセスが必要です。これらはそれぞれ独立して設定します。

1. Factory API key(Droidを実行)

DroidはFactory API keyを使用して実行されます。app.factory.ai/settings/api-keysでキーを作成し、FACTORY_API_KEYという名前のシークレットとしてリポジトリまたは組織に追加してください。ワークフローでは次のように渡します:
- uses: Factory-AI/droid-action@main
  with:
    factory_api_key: ${{ secrets.FACTORY_API_KEY }}
これはすべての実行で必須です。

2. GitHub access(レビューを投稿)

PRにコメントや承認を残すには、DroidにGitHub tokenが必要です。指定方法は2つあります:
  • Factory Droid GitHub App(デフォルト、推奨)。tokenを指定しない場合、actionはインストール済みのFactory Droid GitHub App用のtokenを安全に要求します。ほとんどのチームではこれだけで十分です。app.factory.ai/settings/organizationから対象のリポジトリにAppをインストールすれば完了です。actionがtokenを要求できるように、id-token: write 権限が必要です:
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write # GitHub App認証に必須
    
  • 独自のtoken(オーバーライド)。GitHub Enterpriseで利用する場合や、どのアカウントでコメントを投稿するかを制御したい場合など、personal access tokenや独自のGitHub Appを使いたいなら、github_tokenとして渡します。設定すると、Droidはそのtokenを直接使用し、Appはスキップされます。このtokenにはpull requestとrepository contentsへの書き込み権限が必要です。
    - uses: Factory-AI/droid-action@main
      with:
        factory_api_key: ${{ secrets.FACTORY_API_KEY }}
        github_token: ${{ secrets.MY_GITHUB_TOKEN }}
    
GitLabでも必要な要素は同じです。FACTORY_API_KEYGITLAB_TOKENをCI/CD変数として設定してください。/install-code-reviewフローが両方を設定します。
GitHub Appのセキュリティアーキテクチャについては、GitHub統合セキュリティを参照してください。

レビューの深度

review_depth 入力は各レビューの徹底さとコストを制御します。/install-code-review セットアップ時に深度を選択するか、ワークフローで直接設定します。
  • deep(デフォルト) — より高い推論努力による徹底的な分析。より微妙なバグを捉えますが、レビューあたりのコストが高くなります。本番コードやセキュリティ重要なリポジトリに最適。
  • shallow — 表面的な問題をカバーする、より高速でコスト効率の良いレビュー。大量リポジトリ、下書きPR、または支出を監視するチームに適しています。
with:
  automatic_review: true
  review_depth: deep  # or shallow
review_modelreasoning_effort を使用してモデルや推論の強度を直接オーバーライドすることもでき、これらは深度プリセットよりも優先されます。

セキュリティレビュー

セキュリティレビューは、STRIDE、OWASP、OWASP LLM Top 10、およびサプライチェーン分析のための専用ワークフローです。自動 PR セキュリティレビュー、スケジュールスキャン、組み込みの security-review スキルによるローカルのコードベース全体監査については、セキュリティレビューを参照してください。

Droidがレビューする内容

自動レビューアーは明確なバグと問題に焦点を当てます:
  • デッド/到達不能コード
  • 制御フローの破綻(breakの欠如、フォールスルーバグ)
  • async/awaitの間違い
  • null/undefined参照
  • リソースリーク
  • SQL/XSSインジェクション脆弱性
  • エラーハンドリングの欠如
  • オフバイワンエラー
  • 競合状態
スタイルの問題、軽微な最適化、アーキテクチャの意見はスキップします。

ワークフローのカスタマイズ

ワークフローが作成された後、リポジトリの.github/workflows/droid-review.ymlを編集してカスタマイズできます。

トリガー条件の変更

レビューが実行されるタイミングを変更:
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]
    paths:
      - 'src/**'  # Only review changes in src/
      - '!**/*.test.ts'  # Skip test files

カスタムレビューガイドライン

リポジトリ固有のレビューガイドラインを追加するには、リポジトリ内に.factory/skills/review-guidelines/SKILL.mdファイルを作成します:
<!-- .factory/skills/review-guidelines/SKILL.md -->

Additional checks for this codebase:
- React hooks rules violations
- Missing TypeScript types on public APIs
- Prisma query performance issues
これらのガイドラインは自動的に取得され、すべてのレビュー実行に注入されます。ワークフローの変更は必要ありません。

モデルを変更する

レビューに異なるモデルを使用する:
droid exec --auto high --model claude-sonnet-4-5-20250929 -f prompt.txt
# Or use a faster model for quicker feedback:
droid exec --auto high --model claude-haiku-4-5-20251001 -f prompt.txt

特定のPRをスキップする

特定のケースでレビューをスキップするための条件を追加する:
jobs:
  code-review:
    # Skip bot PRs and PRs with [skip-review] in title
    if: |
      github.event.pull_request.draft == false &&
      !contains(github.event.pull_request.user.login, '[bot]') &&
      !contains(github.event.pull_request.title, '[skip-review]')

コメント数を制限する

プロンプト内のコメントの最大数を調整します:
Guidelines:
- Submit at most 5 comments total, prioritizing the most critical issues

すべてのワークフロー入力

入力デフォルト説明
automatic_reviewfalse@droid reviewなしでPRを自動的にレビューする
review_depthdeepレビュープリセット: deep(徹底的) または shallow(高速)
review_model(depthから)コードレビュー用のモデルをオーバーライド
reasoning_effort(depthから)推論努力をオーバーライド
include_suggestionstrueコメントにコード提案ブロックを含める
セキュリティレビュー関連の入力はセキュリティレビューに記載しています。

関連項目