RepoMap:リポジトリの対話型アーキテクチャマップ — ブランチとコミット差分を表示、AI対応
RepoMapは、ソースコードをLLMに送信せずにリポジトリ構造を抽出し、人間とAIエージェントの両方が理解できる対話型アーキテクチャマップを生成します。トークン消費を大幅に削減し、Git履歴の可視化やブランチ編集をサポートします。
RepoMapは、AIエージェント向けに設計されたリポジトリ構造分析ツールで、対話型のアーキテクチャマップを生成することで、エージェントがソースコードを何度も読み直すことなくプロジェクト構造を理解できるようにします。このプロジェクトはGitHubで公開されており、MITライセンスのもとで利用可能です。
従来、AIエージェントは「認証はどこで実装されているか?」「どのモジュールがデータベースに依存しているか?」といった質問に答えるために、ファイルを一つずつ開き、インポートを追跡し、フォルダを調べ、大量のトークンを消費していました。RepoMapはこの流れを変えます。まず、決定的な分析によってリポジトリのディレクトリ階層、インポート関係、関数シグネチャ、Git情報を抽出し、ソースコードを含まないコンパクトなRawAnalysis構造を生成します。その後、LLMはこの構造化分析のみを受け取り、アーキテクチャ上の役割の割り当て、パターンの識別、可視化レイアウトの生成を1回の推論ステップで行います。
RepoMapの対話型可視化はReact Flowをベースとしており、複数のレイアウト、ブランチベースの編集、ノード検査、ビューポートカリングをサポートします。ユーザーはマップを保存して読み込むことができ、Git履歴可視化機能を使ってコミットの確認、ブランチの閲覧、追加・変更・削除されたファイルのハイライト表示が可能です。将来のバージョンでは、完全なアーキテクチャ差分可視化への拡張が予定されています。
このツールの設計思想はトークン使用量の削減にあります。リポジトリ探索は本質的に決定的な処理であり、LLMに繰り返し実行させる必要はありません。RepoMapはOpenCodeやClaudeなどのエージェントに自然に統合でき、再利用可能な構造モデルを提供します。インストール後、CLIコマンドを使用してローカルリポジトリを分析し、可視化サーバーを起動できます。プロジェクトは、アナライザー(analyzer.js)、オーケストレーション(index.js)、CLI(cli.js)、React Flow可視化コンポーネント(visual_src/)などのモジュールで構成されています。
RepoMapのアーキテクチャは、AIエージェントのワークフローに対する深い理解を反映しています。構造抽出とアーキテクチャ推論を分離することで、LLMは高レベルのパターン認識に集中でき、低レベルのコード探索に労力を費やす必要がなくなります。これによりトークンが節約されるだけでなく、アーキテクチャ表現を何度も再利用できるようになり、セッションを超えた継続的な推論が可能になります。大規模リポジトリでは、ビューポートカリングと効率的なレンダリングにより、インタラクティブな操作がスムーズに行えます。
全体として、RepoMapはAI駆動のコード分析のための効率的でスケーラブルなソリューションを提供します。個人の開発者からチームまで、プロジェクトの全体像を素早く把握し、重複作業を減らし、開発効率を向上させることができます。AIエージェントがソフトウェア開発に普及するにつれて、RepoMapは標準的なツールの一つになることが期待されます。