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.
解決する課題
ファイル構造やコンテキスト制限のため、コードベース全体を大規模言語モデル(LLM)に読み込ませることは困難です。Repomixは、リポジトリ全体を単一の構造化されたファイルにパックすることで、Claude、ChatGPT、GeminiなどのAIモデルが理解し処理しやすいようにし、この問題を解決します。
仕組み
Repomixはリポジトリをスキャンし、すべてのファイルを1つのファイル(XML、Markdown、またはJSON形式)にまとめます。.gitignore、.ignore、.repomixignore ファイルを尊重し、関連するコードのみが含まれるようにします。また、LLMのコンテキスト制限内に収まるようトークン数をカウントする機能や、構造を維持しながらトークン使用量を削減するために Tree-sitter を使用したコード圧縮機能も備えています。
対象者
コードレビュー、リファクタリング、ドキュメント生成、ユニットテスト作成などのタスクにAIアシスタントを使用するために、AIにリポジトリ全体のコンテキストを提供したい開発者。
ハイライト
- AI最適化: AIの理解を深める方法でコードをフォーマットします。
- セキュリティ重視: Secretlintを使用して、機密情報が含まれないように検出し、防止します。
- Git対応: 既存の ignore ファイルを自動的に尊重します。
- 複数のフォーマット: XML、Markdown、JSON 出力に対応しています。
- 圧縮: 主要なコード要素を抽出してトークン数を削減できます。