Show HN: Git-lazy-mount – リポジトリをクローンせずにマウント。通常のGitで動作
Git-lazy-mountは、リポジトリをクローンせずにマウントできるツールです。Google3スタイルのリポジトリ操作をGitで実現し、AIコーディングセッションなどで巨大リポジトリの一部のファイルだけが必要な場合に有用。通常のGitコマンドで動作し、必要に応じてファイルを取得します。grep実行時の大量フェッチを防ぐため、SourceGraphなどのリモート検索エンジンに処理を移譲するsgrepも提供しています。
背景メモ
- **git-lazy-mount** は、リポジトリ全体を `git clone` せずに、あたかもローカルに存在するかのようにファイルシステムにマウントするツール。ファイルの読み取り・編集は可能だが、実際に必要になった時点で初めてデータをフェッチする(遅延取得)。
- この発想の元になっている **google3** はGoogle社内のモノレポ(単一の巨大リポジトリ)環境で、エンジニアはリポジトリ全体をローカルに持たず、必要なファイルだけをオンデマンドで取得する仕組みが長年使われている。
- 通常の `git clone` では巨大リポジトリ全体をダウンロードするため、ディスク容量・ネットワーク転送量・セットアップ時間が膨大になる。AI コーディング支援(Cursor、Copilot、Claude 等)では、コードベース全体を読まずともごく一部のファイルだけ参照できれば十分なケースが多い。本ツールは、そのような「マイクロVM上でAIセッションを高速に起動する」ユースケースを想定している。
- **sgrep** という独自コマンドも含まれており、ローカルgrep(=全ファイルの遅延フェッチを誘発)を避け、SourceGraph などのリモートコード検索エンジンに問い合わせることで、フェッチ負荷を抑える。