開発 • React Native • 2025年12月17日 • 読了: 約6分
著者: Aleks Volochnev(ゲスト著者)
CodeRabbitはExpoを理解するAI搭載のコードレビュー・プラットフォームです。コードベース全体で実際の問題を検出し、本番投入前に捕捉します。この記事は、CodeRabbitでDevRelに携わるベテラン技術者でありオープンソースのメンテナーでもあるAleks Volochnev氏による寄稿です。
レビューは難しい
他人のコードを読むのは、自分で書くよりも難しいことが多いです。ファイル間を行き来し、頭の中で状態を保持し、「なぜこうしたのか?」を考える──それだけでも大きな労力がかかります。優れたプルリクエストであっても、問題がないかどうかを確認するのは手間です。
レビューは元々難しかったのですが、LLMの普及で状況はさらに複雑になりました。Cursorなどは素晴らしいツールで、確かに高速な開発を助けますが、多くの人がAIが書いたコードを十分に検証せずにマージしてしまう問題も増えています。「コンパイルは通る、テストも通る、もう夕方だ。プッシュしよう。」──多くのチームでプルリクエストの量が倍増し、より厳格なレビューが必要になっています。
だからロボットを作った
CodeRabbitは、すべてのプルリクエストを自動でレビューするAIコードレビュー・プラットフォームです。リポジトリを接続してPRを開くだけで、数分以内にインラインコメントで実際の問題点を指摘します。単なるフォーマットの指摘ではなく、本当に重要な問題に注目します。
Expoアプリ開発の事情を理解している
Expoで開発していると、パフォーマンス調整、ネイティブモジュール、App Storeの要件、シミュレータでは動くのに実機でクラッシュするなど、多くを同時に扱わなければなりません。クロスプラットフォーム開発では、変更がiOS、Android、場合によってはwebでどう振る舞うかまで考慮する必要があります。これらをすべて頭の中で把握できる人はほとんどおらず、時間も足りません。
CodeRabbitはReact Nativeのパターンを理解し、露出したAPIキー、メモリリーク、プラットフォーム間で一貫しない挙動、レースコンディションなどを検出します。これらは、レビューの低評価や深夜のSlack通知につながる問題です。
差分だけでなくコードベース全体を解析する
単に「hey Claude, review this diff」のような使い方とは異なり、背後には大きなインフラがあります。PRを開くと、CodeRabbitはサンドボックス環境を立ち上げ、そこで変更をマージして、マージ後のコードがコードベース全体にどう影響するかを解析します。コードグラフの追跡、リンターの実行、下流での破壊的変更の検出など、修正がシステムをどう通過するかを理解します。
これはExpoアプリにとって重要です。あるコンポーネントでprop名を変更したら、iOSでは問題ないのにAndroidの3つの画面が壊れる──といったケースがあります。CodeRabbitはそのような接続を追跡し、クラッシュログではなくPRの段階で気づかせてくれます。
また、GitHubやJiraのリンクされたIssueも読み取り、PRが要件を満たしているかをチェックします。Issueに「add offline support」と書かれていて、PRがハッピーケースしか扱っていなければ、その点を指摘します。
指摘するだけでなく修正を提案・適用する
指摘だけして47件コメントを残すだけのレビュアーはありがたくありません。CodeRabbitは違います。単純な問題に対しては、ワンクリックでコミット可能な修正を生成します。PRコメントのボタンをクリックすると、その修正があなたのfeature-branchに直接コミットされます。
多ファイルにまたがる複雑な修正については、AIコーディングアシスタントに与えるための詳細でよく練られたプロンプトを生成します。これらは単なる「please fix this」のような汎用的な提案ではなく、コンテキストを提供し、問題点を説明し、修正の手順を導く構造化されたプロンプトです。(正直なところ、私もそれらを読むだけでプロンプトエンジニアリングの勉強になりました。)
ワークフローは次のようになります:
AIがコードを書く → CodeRabbitがレビューする → CodeRabbitが修正用プロンプトを提示する → AIが修正する。ロボットが最後まで支える形です。
モバイル開発者向けのセキュリティスキャン
CodeRabbitはセキュリティスキャナを自動で実行し、その出力を使って脆弱性検出を強化します。多数のスキャナを統合していますが、特にモバイルプロジェクトで重要なものは次のとおりです:
- Gitleaks: 露出したAPIキーを検出します。モバイルでは特に重要です。アプリバンドルはユーザー端末に配布され、リバースエンジニアリングされる可能性があります。ハードコードされたFirebaseキーなどは見つかってしまいます。CodeRabbitは出荷前にそれを検出します。
- OSV Scanner: 依存関係に既知の脆弱性がないかをチェックします。ウェブアプリとは異なり、サプライチェーン攻撃が発生したときにすぐにホットフィックスを配布できないことが多い(ユーザーがApp Store経由でアップデートする必要がある)ため、早期検出が重要です。
チームから学習する
CodeRabbitが面白くなるのは学習機能です。チームの規約やフィードバックから学習します。たとえば「functional componentsを優先する」や「このパターンは意図的だから無視してほしい」と伝えれば、それを記憶して以後のレビューに反映します。レビューは時間とともに賢くなります。
さらにPRコメントの中で直接指示できます: @coderabbitai fix this memory leak や @coderabbitai add tests for this function. といった呼びかけで、その場で変更を加えてくれます。非常に忍耐強く、迅速なチームメイトがいつでもそばにいるような感覚です。
お試しください
セットアップは数分で完了します。GitHub/GitLabアプリをインストールし、リポジトリを選択すれば、次のPRから自動でレビューが始まります。ExpoプロジェクトでCodeRabbitが検出する問題の例を示したデモリポジトリ(サンプルPR付き)も用意しています。クローンしてPRを開き、動作を確認してみてください。
完全なインストール手順については、チュートリアル "How to set up CodeRabbit for Expo apps" をご覧ください。
なお、オープンソースで構築している場合は無料です。本当に無料です。
あなたのチームはすでにAIを使ってより速くコードを書いています。CodeRabbitは、そのコードを自信を持って出荷できるように手助けします。「これで大丈夫だといいな 🙏」という状態はもう不要です。数分でレビューされた、より良いコードを手に入れましょう。将来のあなた(App Storeリジェクトをデバッグしていないあなた)が感謝するはずです。