はじめに
新しいプロジェクトに参加したとき、大規模なOSSのコードを読むとき、リポジトリの全体像を把握するのに時間がかかった経験はないだろうか。
GitVizzは、AIを活用してGitHubリポジトリの構造を可視化・分析するツールである。
リポジトリのURLを入力するだけで、依存関係グラフの生成、コードの対話的な質問応答、LLM向けのコンテキスト生成などが行える。
今回は、このGitVizzを実際に使ってみる。
環境
Google Chrome
gitvizz.com(オンライン版)※ ローカル環境で動かす場合は、Docker Composeを使用する方法もある。
GitVizzとは
GitVizzは、AIを活用したリポジトリ分析ツールである。
GitHubリポジトリのURLを入力するだけで、コードベースをインタラクティブに探索できる。
公式サイト: https://gitvizz.com/
GitHubリポジトリ: https://github.com/adithya-s-k/GitVizz
主な機能は以下の通りである。
| 機能 | 説明 |
|---|---|
| Graph Search | インタラクティブな依存関係グラフを検索できる |
| Graph Dependency View | コード間の依存関係をハイライトし、視覚的にナビゲーションできる |
| Chat with Repository | リポジトリに対してAIにチャットで質問できる |
| Code Viewer | シンタックスハイライト付きのコードビューア |
| LLM Context Builder | LLMに渡すためのコンテキストを自動生成する |
| Documentation Generator | リポジトリからドキュメントを自動生成する |
使い方
オンラインで使う(gitvizz.com)
最も手軽な方法は、gitvizz.comを使うことである。
- gitvizz.comにアクセスする
- 画面上部の入力欄に分析したいGitHubリポジトリのURLを入力する
- 「Vizzify」ボタンをクリックする
- 分析結果が表示される

分析が完了すると、リポジトリのファイル構造やコードの内容を確認できる画面が表示される。

機能について
Graph Search
依存関係グラフをインタラクティブに検索できる機能である。
ファイル間の依存関係が視覚的に表示されるため、プロジェクトの全体像をつかみやすい。

Graph Dependency View
特定のファイルやモジュールを選択すると、そのファイルが依存しているファイルや、逆に依存されているファイルがハイライト表示される。
コードの影響範囲を調べる際に便利である。
Code Viewer (Explorer)
シンタックスハイライト付きでコードを閲覧できる。
リポジトリ内のファイルを直接ブラウザ上で確認できるため、ローカルにクローンしなくてもコードリーディングが可能である。
LLM Context Builder
LLMに質問する際に必要なコンテキストを自動で構築してくれる機能である。
必要なファイルを選択すると、LLMに渡すためのプロンプトが生成される。
ChatGPTやClaudeなどに貼り付けて使うことができる。
ローカル環境で使う(Docker Compose)
ローカル環境で動かしたい場合は、Docker Composeを使用する。
# リポジトリをクローン
git clone https://github.com/adithya-s-k/gitvizz.git
cd gitvizz
# 環境変数ファイルをコピー
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env.local
# サービスを起動
docker-compose up --build起動後、以下のURLでアクセスできる。
| サービス | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8003 |
※ AI機能(Chat with Repositoryなど)を使う場合は、backend/.envにOpenAIやAnthropicなどのAPIキーを設定する必要がある。
詳細は公式リポジトリのREADMEを参照してほしい。
参考
adithya-s-k / GitVizz
https://github.com/adithya-s-k/GitVizzGitVizz 公式サイト
https://gitvizz.com/
おわりに
GitVizzを使うことで、リポジトリの構造を視覚的に把握できるのが良い。
特に、依存関係グラフで全体像をつかめる点や、LLM Context Builderで必要なコンテキストをサッと生成できる点が便利だと感じた。
大規模なOSSのコードを読む際や、新しいプロジェクトにオンボーディングする際に活用できそうである。
今後も使っていきたい。