ヤマダショー氏が開発するRepomixがGitHubで2万6千スターを突破した。リポジトリ全体を1ファイルに圧縮し、Claude や ChatGPT に丸ごと読ませる「perfect for AI」を掲げるこのツールは、コードレビューやリファクタの依頼方法を根本から変えつつある。属人化レガシーの解読コストを激減させる一方、機密コードの取り扱いという新たな課題も浮上している。
何が起きたか
yamadashy/repomix のスター数が26,456に達した。READMEの一文「Perfect for when you need to...」が示す通り、このツールの目的は単純明快だ。ローカルのリポジトリを再帰的に走査し、全ソースコードを1つのテキストファイル(XML、Markdown、Plain text形式を選択可)にパックする。
特徴は、単なるcatの連結ではない点にある。.gitignoreの尊重、バイナリの除外、トークンカウンタによるLLMコンテキスト窓への適合確認、シークレット検出(Secretlint連携)といった、AIに食わせるための前処理が組み込まれている。出力はそのままClaudeの200Kコンテキストや Gemini の長尺コンテキストに貼り付ければ、コードベース全体を前提とした対話が成立する。CLIでnpx repomixと叩くだけで動く軽量さも普及を後押ししている。
なぜこのニュースが重要か
このツールの本質は「AIフレンドリーなフォーマット変換」ではなく、コードベースを"1つのプロンプト"として扱える単位に落とし込んだ点にある。
従来、AIにコードレビューを依頼する際の最大のボトルネックは「どのファイルを渡せばAIが文脈を理解できるか」を人間が判断することだった。utils.tsを渡しても、それを呼び出す側のコードがなければAIはリファクタ提案を躊躇する。RAGで部分検索する手もあるが、設定コストが高く、依存関係の追跡精度に難がある。
Repomixが選んだのは「全部渡す」という力技だ。Claude 3.5 Sonnetの200Kトークン、Gemini 1.5 Proの1Mトークンといったコンテキスト窓の拡大が、この力技を現実解にした。推定で中規模プロジェクト(数百ファイル)なら丸ごと収まる。RAGの精度劣化リスクを回避しつつ、AIに完全な文脈を与えられる点で、これは「perfect」と呼ぶに値する設計判断だ。2.6万スターは、現場のエンジニアがこの割り切りに納得した結果と読むべきだろう。
技術的な深掘り
Repomixの出力フォーマット選択は地味だが重要な論点だ。デフォルトはXML形式で、これはAnthropicが公式に「Claudeは構造化XMLタグでパースされた入力に対して回答精度が上がる」と推奨していることに対応している。一方OpenAIモデルではMarkdownの方が好成績という報告もあり、ツール側が両対応する設計は理にかなっている。
注意すべきはトークンコストの可視化だ。Repomixは出力時にtiktokenベースの推定トークン数を表示する。仮に20万トークンのリポジトリをClaude 3.5 Sonnetに1日10回投げれば、入力コストだけで月額数万円規模になる。「全部渡す」のは技術的にperfectでも、経済的にperfectとは限らない。
もう一つの論点はシークレット流出リスクだ。.envの除外は標準だが、ソースコード中にハードコードされたAPIキーや、コメント内の社内URLは検出を擦り抜ける可能性がある。Secretlint連携があるとはいえ、外部AIサービスにコードを送信する以上、企業利用ではClaude Enterprise等の学習オプトアウト契約や、ローカルLLM(Llama 3、DeepSeek-Coder)との組み合わせを前提に設計すべきだ。
経営者として次に取るべき動き
第一に、自社の主要リポジトリに対してRepomixを実行し、トークン数を計測せよ。200K以内に収まるなら、ClaudeやGeminiでの全体レビューが現実的な選択肢になる。収まらない場合は、モジュール分割の機会と捉える。
第二に、機密コードの送信ポリシーを今週中に整備せよ。どのリポジトリをどのAIサービスに送ってよいか、学習オプトアウト契約済みか、をマトリクスで明文化する。エンジニアが個人アカウントのChatGPTに丸ごと貼る事故を防ぐ最後の防波堤になる。
第三に、退職者しか分からないレガシーコードを1つ選び、Repomix + Claudeで仕様書の自動生成を試せ。属人化解消の費用対効果を実数で測れば、社内導入の意思決定が一気に進む。perfectなツールは、使ってみて初めてperfectだと分かる。
