Claude Code ActionとGitHub Appで実現するリポジトリ横断のAIコードレビュー
株式会社tacoms / yoda
CTO・VPoE / CTO / 従業員規模: 51名〜100名
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
11名〜50名 | 2021年4月 | B to B |
ツールの利用規模 | 11名〜50名 |
---|---|
ツールの利用開始時期 | 2021年4月 |
事業形態 | B to B |
アーキテクチャ

アーキテクチャの意図・工夫
標準のGITHUB_TOKENでは他リポジトリへのアクセスができません。そのため、GitHub Appを作成し、適切なリポジトリの権限を付与したトークンをClaude Code Actionへ渡しました。さらに、Claude Code Actionの内部でgh
コマンドを許可することで、他リポジトリの参照を可能にしました。
具体的な工夫:
- GitHub Appに最小限の権限(Contents: Read, Issues: Read, Metadata: Read, Pull requests: Write)を付与
Bash(gh:*)
を許可してghコマンドでの他リポジトリアクセスを実現- custom_instructionsで参照すべきリポジトリとファイルを明示的に指定
導入の背景・解決したかった問題
導入背景
前提
- GiHhub Actionsの導入についてではなく、GitHub Actionsを活用したClaude Code ActionとGitHub Appで実現したコードレビューの導入背景について記載します。
ツール導入前の課題
Claude Code Actionは複雑な設定なしにコードレビューに活用できます。しかし、標準設定では同一リポジトリ内のコードやドキュメントを参照したレビューのみで、他のリポジトリを参照することができません。これは、Actionsファイル内で参照できるGITHUB_TOKEN
が他リポジトリにアクセスできない権限設定になっているためです。
具体的には以下のような課題がありました:
- APIスキーマが別リポジトリにあるケース
- インフラ・データベースの仕様ドキュメントが別リポジトリにあるケース
- 共通ライブラリが別リポジトリにあるケース
- フロントエンド・バックエンドの実装が分かれているケース
- マイクロサービスなど、依存するサービスのリポジトリが分かれているケース
- GitHub上でPRDやADRなどを管理しており、作業リポジトリとは別リポジトリにあるケース
どのような状態を目指していたか
精度の高いAIレビューを実現するため、リポジトリ横断でAIが確認できる状態を目指しました。複数のリポジトリを参照して、API実装と仕様の整合性、フロントエンドとバックエンドの互換性、インフラ定義との整合性などを包括的にレビューできることを目標としました。
比較検討したサービス
- Code Rabbit
- GitHub Copilot コード レビュー
- PR-Agent
比較した軸
- 導入コスト
- 運用コスト
- 複数リポジトリ参照の可能性
- カスタマイズ性(プロンプト調整など)
- コード修正の汎用性
- 今後の拡張性
選定理由
今後の拡張可能性。コードレビューに特化したツールでは実現できない、レビューから自然言語での修正依頼というワークフローを実現するためにClaude Code Actionを試してみたかった
導入の成果
改善したかった課題はどれくらい解決されたか
複数リポジトリを参照したAIコードレビューという課題は解決されました。さらに、カスタムプロンプトでリポジトリの要件に合わせて参照先のリポジトリをコントロールしています。
どのような成果が得られたか
API実装と仕様の整合性チェック
- 破壊的変更がフロントエンドに与える影響を事前に検知
- ビジネスロジックとAPI設計の意図の一致を確認
インフラ・データベースドキュメントを踏まえたレビュー
- 例えば
example-terraform
リポジトリのインフラ定義を参照した上で、環境変数や設定値の依存関係を考慮したレビューなど
共通ライブラリ・実装参照の課題解決
- 共通ライブラリにある実装を確認してコードの重複を検出
- 共通ライブラリ内部の実装を確認した上で、関数などが正しく利用できているかを確認
リポジトリ間の依存関係の確認
- フロントエンドとバックエンドの互換性を包括的にレビュー
- AサービスからBサービスへの連携など、サービスの依存関係を踏まえたレビュー
導入時の苦労・悩み
- 別リポジトリの情報取得方法をコマンドで指定しないと仮想マシン上でgit cloneしてしまう問題への対処
- GithubAppにリポジトリをインストールした上で、 'actions/create-github-app-token@v1' の'repositories'パラメータに指定しないと権限が付与されない
導入に向けた社内への説明
上長・チームへの説明
なし
活用方法
チームでは、PR作成時に@claude
でClaude Code Actionを呼び出し、関連する複数リポジトリを踏まえた包括的なコードレビューを実施しています。
よく使う機能
@claudeコメントによるAIレビュー
- PRページで
@claude
とコメントするだけで、複数リポジトリを参照した包括的なレビューを実施
カスタムプロンプトによる観点指定
- custom_instructionsで特定の観点(API整合性、インフラ整合性等)を重点的にレビューするよう指示
GitHub上で自然言語で軽微な修正を完了させる
- 軽微な修正の場合はC
@claude
コマンドで自然言語にて修正依頼
ツールの良い点
導入が非常に簡単
/install-github-app
コマンドで自動生成される- 数分で設定完了
- 複雑なプロンプトや設定なしでも精度の高いコードレビューを提供
複数リポジトリを参照した包括的なレビュー
- APIスキーマ、インフラ定義、共通ライブラリなど、関連するすべてのリポジトリを参照
- フロントエンドとバックエンドの互換性を包括的にチェック
- サービス間の依存関係を考慮したレビュー
高い精度とカスタマイズ性
- custom_instructionsでレビュー観点を細かく指定可能
- プロンプト調整により組織特有の要件に対応
- 破壊的変更の影響範囲を事前検知
既存ワークフローとの親和性
- GitHub Actionsとの自然な統合
@claude
コメントという直感的なインターフェース- 既存のPRワークフローを大きく変更せずに導入可能
ツールの課題点
GitHub Appの権限管理(重要)
- Write権限を付与する場合、権限範囲の広さにリスクがある
- WorkflowファイルをRead用とWrite用で分けるなどの工夫が必要
セキュリティリスク
Bash(gh:*)
を許可するため、実行可能なコマンドの制御が重要である- allowed_toolsをカスタマイズする際は慎重な検討を要する
- デフォルトで「WebSearch」「WebFetch」は無効化されているものの、独自設定時は注意を要する
プロンプト調整の必要性
- 組織の要件に合わせたcustom_instructionsの設定が必要である
- 参照すべきリポジトリやファイルを明示的に指定する必要がある
- 効果的なレビューのためには試行錯誤が必要である
コスト管理
- Anthropic APIの利用料金が発生
- 複数リポジトリ参照により、処理時間・コストの増加する可能性がある
- AIレビュー専用ツールとは異なり定額制ではないため、結果として料金の増加につながる可能性がある
株式会社tacoms / yoda
CTO・VPoE / CTO / 従業員規模: 51名〜100名
よく見られているレビュー
株式会社tacoms / yoda
CTO・VPoE / CTO / 従業員規模: 51名〜100名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法