メインコンテンツへスキップ
Factory GitHub Appを使用してリポジトリの自動コードレビューを設定します。Droidはプルリクエストを分析し、問題を特定して、インラインコメントとしてフィードバックを投稿します。
Factory Droid bot posting a code review summary with issues found
Factory Droid bot posting inline code review comment on specific lines

セットアップ

/install-github-appコマンドを使用してFactory GitHub Appをインストールし、コードレビューワークフローを設定します:
droid
> /install-github-app
ガイド付きフローでは以下を行います:
  1. GitHub CLIの前提条件を確認
  2. リポジトリにFactory GitHub Appをインストール
  3. Droid Reviewワークフローを選択
  4. ワークフローファイルを含むPRを作成
詳細なセットアップ手順については、GitHub App installation guideを参照してください。

動作原理

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

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

関連項目