Geminiでローカルのフォルダごとコード分析!プロジェクトの全体構造を把握する手順!

新しいプロジェクトに参加したときや、昔自分が書いたコードを読み直すとき、ファイルが多すぎてどこから手を付けていいか迷うことはありませんか?一つひとつファイルを開いて中身を確認するのは、気が遠くなるような作業です。

この記事では、Geminiを使ってローカルにあるフォルダを丸ごと読み込ませ、一瞬でプロジェクトの全体像を把握する方法を紹介します。この手順を知っておくだけで、数時間かかっていたコードリーディングがわずか数分で終わるようになりますよ。

目次

Geminiでローカルのフォルダごと読み込む最短の手順

「フォルダをそのまま読み込ませたい」と思っても、ブラウザ版のGeminiにフォルダをドラッグしても弾かれてしまうことがありますよね。実は、Geminiにプロジェクトの中身を教えるには、ちょっとしたコツがあるんです。

複数のファイルをまとめてドラッグ&ドロップする

GeminiのWebサイト(gemini.google.com)では、最大100個までのファイルを一度にアップロードできます。ソースコードが数十ファイル程度の小規模なプロジェクトなら、エクスプローラーやファインダーでファイルを選択して、入力欄に直接放り込むのが一番手っ取り早い方法です。

このとき、画像や実行ファイルは含めず、テキスト形式のファイル(.pyや.jsなど)だけに絞るのがポイントです。一度に大量のファイルを渡しても、Gemini 1.5 Proなら最大200万トークンの広大な作業スペースを持っているため、文脈を失わずに読み取ってくれます。

  • 一度にアップロードできるのは100ファイルまで
  • テキスト形式(.js, .py, .java, .cpp, .htmlなど)ならほぼすべて対応
  • ドラッグ&ドロップ後に「これらすべてのファイルから、全体の構造を教えて」と送る

フォルダをZip形式に固めて一括で渡す

ファイル数が100を超えるような大きなプロジェクトの場合は、フォルダごとZip形式に圧縮してアップロードする方法が便利です。GeminiはZipファイルの中身を解凍して、内部のディレクトリ構造を維持したまま解析してくれる賢さを持っています。

この方法の強みは、ファイルの配置場所(パス)を正確に理解してもらえることです。どのフォルダにどのファイルがあるかという位置関係は、プログラムの動作を理解する上で欠かせない情報になります。Zipで固めて渡すことで、バラバラにファイルを渡すよりも圧倒的に「プロジェクトの繋がり」を正確に把握してもらえます。

Googleドライブ連携を使ってフォルダの中身を呼び出す

普段からGoogleドライブにコードを保存しているなら、Geminiの拡張機能を使うのがスマートです。設定からGoogleドライブ連携をオンにして、チャット欄で「@Google Drive」と入力してからフォルダ名を指定するだけで、Geminiがその中身を参照しにいきます。

ローカルのフォルダをGoogleドライブのデスクトップアプリで同期しておけば、実質的にローカルファイルをそのまま扱っている感覚でやり取りできます。わざわざアップロードの手間をかけずに、常に最新の状態のコードをベースに議論ができるのがこの方法の最大のメリットです。

  • Google Workspace拡張機能を有効にする必要がある
  • 特定のフォルダ名を直接指定して呼び出せる
  • ファイル更新のたびにアップロードし直す手間がゼロになる

コード分析の精度を上げるための事前準備

Geminiにコードを渡す前に、ほんの少しだけ下準備をするだけで、返ってくる回答の質が劇的に変わります。人間が地図なしで知らない土地を歩けないのと同じで、AIにも「案内図」を渡してあげることが重要です。

treeコマンドでディレクトリの階層図を作る

フォルダ構成が複雑な場合、まずは「フォルダの家系図」を見せてあげましょう。Windowsならコマンドプロンプトで tree /f、Macならターミナルで find . -maxdepth 2 といったコマンドを使い、出力されたテキストをGeminiに貼り付けます。

これを行うことで、Geminiは個別のファイルを読み込む前に「あ、このプロジェクトはこういう構成なんだな」と全体像を予習できます。全体の骨組みを最初に共有しておくことで、後からの質問に対して「ファイルが見つからない」といった勘違いを防ぐことができます。

node_modulesなど不要な中身をあらかじめ除外する

プロジェクトフォルダの中には、ライブラリ本体(node_modulesやvenvなど)やビルド後の生成物(dist、outなど)が含まれていることが多いはずです。これらはGeminiに読ませる必要がありませんし、トークン(文字数制限)を無駄に消費する原因になります。

Zipに固める前やアップロードする前に、こうした重たいフォルダは削除するか、選択対象から外しておきましょう。純粋に自分が書いたソースコードだけを厳選して渡すことが、AIの「理解のノイズ」を減らすための一番の近道になります。

  • ライブラリフォルダ(node_modules, site-packages)は除外
  • キャッシュフォルダ(.cache, pycache)も不要
  • ビルド済みファイル(.exe, .dll, .bin)は読み込ませない

読み込み対象にするべき重要なファイルをピックアップする

すべてのファイルを網羅するのも良いですが、まずは主要なファイルに絞って渡すのも賢い戦略です。たとえば、設定ファイルの package.jsonrequirements.txt、全体像が書かれた README.md などは必ず含めるようにしてください。

これらのファイルには「何を作るためのプロジェクトか」「どんな技術を使っているか」が凝縮されています。核心となるファイルを中心に渡すことで、Geminiは短時間で正確にプロジェクトの目的を読み解いてくれます。

プロジェクトの全体構造を可視化するためのプロンプト

準備ができたら、いよいよ質問です。ただ「分析して」と言うよりも、具体的な切り口を指定することで、Geminiはエンジニアが本当に欲しい情報をピンポイントで出してくれます。

フォルダ構成から各ディレクトリの役割を推測させる

「このディレクトリには何が入っているの?」という疑問をぶつけてみましょう。Geminiはファイル名や中身のコードから、そのフォルダが「データ保存用」なのか「画面表示用」なのかを即座に判断してくれます。

たとえば「各フォルダの役割を1行で説明して」と頼むと、驚くほど正確なインデックスを作ってくれます。自分の知らないプロジェクトに放り込まれたときでも、このインデックスさえあれば迷子にならずに済みます。

ファイル間の呼び出し関係をリストアップする

プログラムの中で、どのファイルがどのファイルを読み込んでいる(import/requireしている)かを整理してもらいましょう。これを把握することで、あるファイルを修正したときにどこに影響が出るかが一目でわかるようになります。

「主要なコンポーネントの依存関係をリストにして」と指示してみてください。複雑に絡み合ったコードの糸が、Geminiの手によってきれいに整理されていく感覚は、一度味わうと病みつきになります。

  • AファイルがBファイルを呼び出している関係を可視化
  • 循環参照などの問題がないかチェック
  • 影響範囲の大きい「ハブ」的なファイルを特定

プログラムの入り口となるエントリポイントを特定させる

どこからプログラムが動き出すのかを知ることは、解析の第一歩です。Geminiに「このプロジェクトの開始地点(エントリポイント)はどこ?」と聞けば、メイン関数やルートファイルを特定してくれます。

そこから処理がどう流れていくかを追わせることで、全体の動作フローが頭に入りやすくなります。コードの森をさまようのではなく、入り口から順を追って案内してもらうイメージで活用しましょう。

ローカル環境とGeminiを同期してコード分析を楽にする

ブラウザへのアップロードが面倒に感じるなら、開発ツール(VS Code)自体にGeminiを組み込んでしまうのが最強の方法です。普段使っているエディタがそのまま知能を持つような、不思議な体験ができます。

VS Code拡張機能でワークスペースを直接読み込む

Googleが提供している「Gemini Code Assist」などの拡張機能をVS Codeにインストールすると、今開いているプロジェクト全体をGeminiが自動で認識してくれるようになります。いちいちファイルをコピーして貼り付ける必要はもうありません。

サイドパネルにあるチャット欄で「このプロジェクトの概要を教えて」と打つだけで、ワークスペース内のファイルを横断的に検索して答えてくれます。開発の手を止めることなく、その場でAIに相談できる環境は、作業効率を別次元へと引き上げてくれます。

ツール名特徴料金
Gemini Code AssistGoogle公式。VS Code等で動作し、プロジェクト全体を深く理解する。月額制(無料試用あり)
Project IDXGoogleのクラウド型開発環境。最初からGeminiが統合されている。基本無料
Firebase GenkitAIアプリ開発用ツール。Geminiとの連携が非常に強力。オープンソース

@file指定で特定のソースコードをピンポイントで選ぶ

拡張機能を使っている場合、チャット内で「@」と打つことで特定のファイルやシンボルを明示的に指定できます。プロジェクト全体を把握させた上で、「特にこのファイルのロジックについて詳しく知りたい」といった細かな要望にも応えてくれます。

全体構造を見失わずに、細部のコードレビューをお願いする。この「マクロとミクロの切り替え」が自由自在にできるのが、専用ツールを使う最大の強みです。必要な情報だけを適切にピックアップしてGeminiに渡すことで、回答の精度はさらに研ぎ澄まされます。

プロジェクト全体のルールを定義した.gitignoreを意識させる

Geminiにプロジェクトを読み込ませる際、.gitignore ファイルの内容を伝えておくと「無視すべきファイル」を正しく理解してくれます。これにより、解析対象から外すべき自動生成ファイルをGeminiが勝手に判断してくれるようになります。

「.gitignoreにあるファイルは無視して、それ以外の構造を教えて」と一言添えるだけで、余計な情報に惑わされないスマートな回答が返ってきます。開発現場の「常識」をGeminiに共有することで、より人間(エンジニア)に近い感覚での対話が可能になります。

プロジェクト内の複雑な全体構造を紐解く質問の仕方

言葉だけで説明されても分かりにくいときは、Geminiに「図」を書いてもらいましょう。Geminiはテキストだけでなく、図解用のコードを出力することにも長けています。

Mermaid形式で処理の流れをダイアグラム化する

Geminiに「処理の流れをMermaid形式で出力して」と頼んでみてください。Mermaidはテキストで図を書くためのツールで、Geminiが出力したコードを対応するビューアに貼り付けるだけで、きれいなフローチャートが出来上がります。

文字の羅列だったソースコードが、一瞬で視覚的な図に変わる瞬間は感動的です。ロジックの複雑な分岐やループも、図解してしまえば直感的に理解できるようになります。

  • フローチャート:処理の順番を追いかける
  • クラス図:オブジェクト同士の関係を整理する
  • ガントチャート:作業工程を可視化する

モジュール同士の依存関係をテーブル形式でまとめる

「どのモジュールがどこに使われているか」を表形式で整理してもらうのも有効です。表にすることで、特定のライブラリへの依存度や、役割の重複などが浮き彫りになります。

比較やリスト化が得意なGeminiにとって、こうした整理整頓はお手のものです。バラバラのファイルに散らばった情報を一つの表に集約することで、プロジェクトの「歪み」や「改善点」も見つけやすくなります。

データの流れを追うためのシーケンス図を作らせる

ユーザーがボタンを押してからデータベースに保存されるまで、データがどう動くのか。この「データの旅」をシーケンス図として出力させましょう。これもMermaid記法を使えば簡単です。

「リクエストを受け取ってからレスポンスを返すまでのシーケンス図を書いて」と指示するだけで、複雑な通信のやり取りが整理されます。システムの裏側で何が起きているのかを「見える化」することが、深い構造理解への近道です。

セキュリティを守りながらローカルで安全に作業する

自分の書いたコードをAIに渡すとき、一番気になるのがセキュリティですよね。大切なソースコードが勝手に学習に使われてしまわないよう、身を守るための設定を必ず確認しておきましょう。

設定画面で学習データとしての利用をオフに変える

Geminiのプライバシー設定には、入力した内容をモデルの改善(学習)に利用するかどうかを選択する項目があります。企業案件や未発表のプロジェクトを扱う場合は、この設定を必ずオフにしておきましょう。

設定一つで、安心してコードを流し込める環境が整います。「便利さ」と「安全性」を両立させるために、まずは設定画面を覗いてみることから始めてください。

APIキーの管理や環境変数の記述を隠して渡す

コードの中にAPIキーやパスワードが直接書き込まれている(ハードコーディングされている)場合は、絶対にそのままGeminiに渡してはいけません。.env ファイルなどの秘匿情報が含まれるファイルは、アップロード対象から外しましょう。

もしコード内に残っているなら、適当なダミー文字列に置き換えてから渡すのがエチケットです。AIに頼る前に、まずは自分の手で最低限のセキュリティチェックを行う習慣をつけましょう。

  • APIキー、パスワード、トークンを隠す
  • 個人名やメールアドレスなどの個人情報を伏せる
  • 機密性の高い独自のアルゴリズムは抽象化して伝える

社外秘のロジックや個人情報を伏せ字にする工夫

どうしても機密性の高いロジックを相談したいときは、変数名を「FunctionA」や「DataX」のように抽象的な名前に置き換えてから渡すのも一つの手です。Geminiはコードの「形」さえあれば、名前が伏せられていても論理的な構造を解析できます。

こうすることで、中身の意図を伝えつつ、具体的な情報の流出を防ぐことができます。「賢く隠して、賢く使う」のが、プロのエンジニアとしてのAI活用術です。

まとめ:Geminiでプロジェクトの構造を解き明かそう

Geminiを使ってローカルのフォルダ構成を読み解く方法は、今の時代のエンジニアにとって必須のスキルと言えます。最後に、この記事で紹介した重要なポイントを振り返ってみましょう。

  • 100ファイル以内ならドラッグ&ドロップ、多い場合はZipで固めて渡す。
  • 200万トークンの広大な枠を活かし、プロジェクト全体を一度に読み込ませる。
  • treeコマンドで構成図を先に渡すと、Geminiの理解が飛躍的に深まる。
  • node_modulesなどの不要なフォルダは除外して、トークンの無駄遣いを防ぐ。
  • VS Code拡張機能を使えば、アップロードの手間なくシームレスに相談できる。
  • Mermaid形式での図解指示を使えば、複雑な処理も視覚的に把握できる。
  • セキュリティ設定をしっかり行い、学習に利用されないよう対策する。

最初から完璧に使いこなそうとしなくても大丈夫です。まずは手元の小さなフォルダをZipにして、Geminiに「この中身を教えて」と聞いてみることから始めてみてください。きっと、その便利さに驚くはずですよ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次