yamadashy/repomix
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.
解決する問題
ChatGPT や Claude などの AI ツールは、プロジェクト全体を一度に取得したときに最も効果的に機能しますが、一般的なコードベースは、多数のファイル、フォルダ、設定が絡み合っています。Repomix は、リポジトリ全体を、AI がすばやく読み取って理解できる、クリーンで構造化された 1 つのドキュメントに凝縮します。また、トークンをカウントし、無視ルールを尊重するため、機密ファイルや巨大なファイルを誤って送信することはありません。
仕組み
任意のプロジェクトディレクトリ内で、repomix のような単一のコマンドを実行します。Repomix はコードベースをスキャンし、包含/除外ルール(.gitignore や .repomixignore など)を適用して、1 つのファイルを出力します(デフォルトは XML ですが、Markdown または JSON も取得できます)。Tree-sitter を使用して主要なコード要素のみを保持し、トークン数を削減する --compress オプションがあります。リモートリポジトリをパックしたり、git ログを含めたり、標準入力からファイルのリストを受け取ることもできます。出力は、ツールがファイルの読み方を理解できるように、AI 向けの説明から始まります。
対象者
コードレビュー、リファクタリング、ドキュメント作成、テスト生成のためにコードベース全体を AI アシスタントに渡したい開発者、またはライブラリの概要を把握したいだけの開発者。小さなスクリプトでも大規模なマルチディレクトリプロジェクトでも役立ち、ローカルとリモートの両方のリポジトリで動作します。
ハイライト
- AI 最適化フォーマット:LLM が簡単に解析できるように構造化された出力
- 各ファイルとリポジトリ全体のトークンカウント
- Git 対応:
.gitignore、.ignore、.repomixignoreを尊重 - セキュリティ重視:Secretlint を使用して、資格情報のようなファイルを検出して除外
- Tree-sitter によるコード圧縮で、構造を維持しながらトークン数を削減
- 複数の出力形式:XML、Markdown、JSON
- リモートリポジトリのパック、または標準入力からのファイルリストのパイプ処理
- repomix.com のウェブ版と、GitHub をワンクリックでパックする Chrome/Firefox 拡張機能
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト