Claude Code GitHub レビュー完全ガイド|AIコードレビューで品質向上

Claude CodeでGitHubのコードレビューを効率化する方法を解説。@claudeメンションでのPRレビュー、セキュリティチェック、自動レビューコメントなど、実践的なテクニックを紹介します。

25 min read

Claude Code GitHub レビュー完全ガイド

Claude Codeを活用すると、GitHubのコードレビューを大幅に効率化できます。AIによる一貫した品質チェックで、バグの早期発見とコード品質の向上を実現しましょう。

AIコードレビューのメリット

人間のレビュアーを補完

  • 見落としの防止: 人間が見落としやすいパターンを検出
  • 一貫性のあるチェック: 毎回同じ基準でレビュー
  • 24時間対応: 時間帯を問わずレビューを実行

レビュー観点の網羅

  • セキュリティ: SQLインジェクション、XSS、認証の脆弱性
  • パフォーマンス: N+1問題、メモリリーク、非効率なアルゴリズム
  • コーディング規約: 命名規則、コードスタイル、ベストプラクティス
  • ロジック: バグ、エッジケース、エラーハンドリング

セットアップ方法

GitHub Appのインストール(推奨)

claude
> /install-github-app

これにより、PRで@claudeメンションが使えるようになります。

ワークフローの設定

.github/workflows/claude.ymlが自動作成されます。カスタマイズする場合:

name: Claude Code Review

on:
  pull_request:
    types: [opened, synchronize]
  pull_request_review_comment:
    types: [created]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

@claudeメンションでレビュー依頼

基本的なレビュー依頼

PRのコメント欄で:

@claude このPRをレビューしてください。

重点チェック項目を指定

@claude このPRをレビューしてください。
特に以下の点を重点的にチェックしてください:
- セキュリティリスク
- パフォーマンスへの影響
- エラーハンドリング
- テストカバレッジ

特定ファイルのみレビュー

@claude src/auth/login.ts のセキュリティをレビューしてください。

レビューコメントへの対応

Claude Codeのレビューコメントに対して:

修正を依頼

@claude この指摘を修正してコミットしてください。

詳細な説明を求める

@claude この指摘についてもう少し詳しく説明してください。
具体的なコード例を示してもらえますか?

反論・議論

@claude この実装には理由があります。
〇〇の要件を満たすためにこの方法を選びました。
他に良い方法はありますか?

自動レビューの設定

PR作成時に自動でレビューを実行する設定:

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  auto-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          trigger_phrase: ""  # 空文字で自動実行
          review_instructions: |
            以下の観点でレビューしてください:
            1. セキュリティ脆弱性
            2. パフォーマンス問題
            3. コーディング規約違反
            4. テスト不足

レビュー品質を上げるコツ

1. コンテキストを提供する

@claude このPRはユーザー認証機能の追加です。
以下の要件を満たしているかレビューしてください:
- JWTトークンによる認証
- リフレッシュトークンの実装
- セッション管理

2. プロジェクトのルールを伝える

@claude 私たちのプロジェクトでは:
- エラーはカスタム例外クラスを使用
- ログはstructured loggingを使用
- テストカバレッジは80%以上必須
これらの基準でレビューしてください。

3. CLAUDE.mdにルールを記載

プロジェクトルートのCLAUDE.mdにレビュー基準を記載:

## コードレビュー基準

### 必須チェック項目
- セキュリティ: OWASP Top 10への対応
- パフォーマンス: O(n²)以上のアルゴリズムは要検討
- テスト: 新機能には必ずユニットテストを追加

### コーディング規約
- ESLint/Prettierの設定に従う
- 関数は50行以内
- ネストは3階層まで

チームでの活用方法

レビュープロセスの統合

  1. PR作成時: Claude Codeが自動レビュー
  2. 初期フィードバック: AIの指摘を確認・修正
  3. 人間のレビュー: AIでは判断できない設計判断を確認
  4. 最終承認: 人間のレビュアーがApprove

レビュー負荷の分散

  • 定型チェック: Claude Codeに委任
  • 設計レビュー: シニアエンジニアが担当
  • ドメイン知識: 該当領域の担当者が確認

トラブルシューティング

レビューコメントが付かない

原因と解決策:

  1. 権限不足
    1. ワークフローにpull-requests: write権限があるか確認
  2. トリガー条件の不一致
    1. @claudeの前後にスペースがあるか確認
  3. APIキーの問題
    1. GitHub Secretsの設定を確認

レビューが遅い

対策:

  • 大きなPRを分割する
  • 特定ファイルのみレビューを依頼
  • head_limitパラメータで対象を制限

セキュリティ観点のレビュー例

Claude Codeが検出する典型的なセキュリティ問題:

SQLインジェクション

⚠️ セキュリティリスク: SQLインジェクションの可能性

問題のコード:
const query = `SELECT * FROM users WHERE id = ${userId}`;

推奨される修正:
const query = 'SELECT * FROM users WHERE id = ?';
await db.query(query, [userId]);

認証の脆弱性

⚠️ セキュリティリスク: パスワードの平文保存

問題のコード:
user.password = req.body.password;

推奨される修正:
user.password = await bcrypt.hash(req.body.password, 10);

まとめ

Claude CodeによるGitHubコードレビューで:

  • 品質向上: 一貫した基準でのチェック
  • 効率化: 定型的なレビューをAIに委任
  • 早期発見: セキュリティ問題やバグを早期検出

/install-github-appでセットアップし、@claudeメンションでAIレビューを活用しましょう。

関連記事

Related Articles