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階層まで
チームでの活用方法
レビュープロセスの統合
- PR作成時: Claude Codeが自動レビュー
- 初期フィードバック: AIの指摘を確認・修正
- 人間のレビュー: AIでは判断できない設計判断を確認
- 最終承認: 人間のレビュアーがApprove
レビュー負荷の分散
- 定型チェック: Claude Codeに委任
- 設計レビュー: シニアエンジニアが担当
- ドメイン知識: 該当領域の担当者が確認
トラブルシューティング
レビューコメントが付かない
原因と解決策:
- 権限不足
- ワークフローに
pull-requests: write権限があるか確認
- ワークフローに
- トリガー条件の不一致
@claudeの前後にスペースがあるか確認
- APIキーの問題
- 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レビューを活用しましょう。