Repomix について
この Repomix エントリは IDE カテゴリに分類され、コードベースを AI が扱いやすい単一ファイルにまとめます。README にはコマンドライン、ブラウザー拡張機能、VSCode 拡張機能での利用方法が記載されており、エディターやブラウザーからパック結果を生成したい開発者を想定しています。
主な機能
- 01リポジトリ全体を単一ファイルにパック
- 02gitignore や repomixignore のルールに従う
- 03ファイルとリポジトリ全体のトークン数を表示
- 04Secretlint で認証情報らしきファイルを除外
- 05コミュニティ製 VSCode 拡張機能での実行
- 06Chrome と Firefox 向けブラウザー拡張機能
活用シーン
- 01VSCode 内でパックを実行し出力を管理
- 02GitHub リポジトリのページから Repomix を起動
- 03パックしたコードベースを AI アシスタントに渡してレビュー
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
複数の AI エージェントとのコーディング向けに構築された Warp
Repomix をオンラインで使う! 👉 repomix.com
ディスカッションが必要ですか? Discord にご参加ください!
経験やヒントを共有しましょう
新機能の情報をいち早く入手しましょう
設定や使用方法についてサポートを受けましょう
📦 Repomix は、リポジトリ全体を 1 つの AI に使いやすいファイルにパッケージ化する強力なツールです。
コードベースを大規模言語モデル(LLM)や Claude、
ChatGPT、DeepSeek、Perplexity、Gemini、Gemma、Llama、Grok などの他の AI ツールに投入する必要がある場合に最適です。
スポンサーになることをご検討ください。
🏆 オープンソースアワードへのノミネート
光栄です!Repomix が JSNation Open Source Awards 2025 の Powered by AI カテゴリーにノミネートされました。
Repomix をご利用いただき、支えてくださる皆さまのおかげです。ありがとうございます!
🎉 新機能:Repomix のウェブサイトと Discord コミュニティ!
- ブラウザーで repomix.com から Repomix をお試しください
- サポートやディスカッションには、Discord Server にご参加ください
皆さまのご参加をお待ちしています!
🌟 特長
- AI に最適化:AI が理解して処理しやすい形式でコードベースを整えます。
- トークン数のカウント:各ファイルとリポジトリ全体のトークン数を確認できます。LLM のコンテキスト制限の把握に役立ちます。
- 簡単に使える:リポジトリ全体をパックするのに必要なのは、たった 1 つのコマンドです。
- カスタマイズ可能:含めるファイルや除外するファイルを簡単に設定できます。
- Git 対応:
.gitignore、.ignore、.repomixignoreファイルの設定を自動的に尊重します。 - セキュリティ重視:Secretlint を組み込み、既知の認証情報形式に一致するファイルを検出して、出力から除外します。
- コード圧縮:
--compressオプションでは Tree-sitter を使用して重要なコード要素を抽出し、構造を保ちながらトークン数を削減します。
🚀 クイックスタート
CLI ツール >_ を使う
インストールせずに、プロジェクトディレクトリですぐに Repomix をお試しいただけます:
npx repomix@latest
繰り返し使う場合は、グローバルにインストールしてください:
# Install using npm
npm install -g repomix
# Alternatively using yarn
yarn global add repomix
# Alternatively using bun
bun add -g repomix
# Alternatively using Homebrew (macOS/Linux)
brew install repomix
# Then run in any project directory
repomix
これだけです!Repomix は現在のディレクトリに repomix-output.xml ファイルを生成します。このファイルには、リポジトリ全体が AI に適した形式で含まれます。
このファイルを、次のようなプロンプトとともに AI アシスタントに送信できます:
This file contains all the files in the repository combined into one.
I want to refactor the code, so please review it first.

具体的な変更を提案すると、AI がそれに応じたコードを生成できる場合があります。Claude の Artifacts などの機能を使えば、複数のファイルを出力して、相互に依存するコードを生成できる可能性があります。

コーディングをお楽しみください!🚀
ウェブサイトを使う 🌐
すぐに試してみませんか?公式ウェブサイト repomix.com にアクセスしてください。リポジトリ名を入力し、任意の詳細情報を記入して、Pack ボタンをクリックすると、生成された出力を確認できます。
利用可能なオプション
ウェブサイトでは、便利な機能をいくつかご利用いただけます:
- 出力形式のカスタマイズ(XML、Markdown、またはプレーンテキスト)
- トークン数の即時推定
- その他多数!
ブラウザー拡張機能を使う 🧩
GitHub のあらゆるリポジトリから、Repomix にすぐアクセスできます!Chrome 拡張機能を使うと、GitHub のリポジトリページに便利な「Repomix」ボタンが追加されます。

インストール
- Chrome 拡張機能:Repomix - Chrome Web Store
- Firefox アドオン:Repomix - Firefox Add-ons
特長
- GitHub のあらゆるリポジトリから Repomix にワンクリックでアクセス
- さらに便利な機能も近日公開予定!
VSCode 拡張機能を使う ⚡️
コミュニティがメンテナンスしている Repomix Runner(massdo が作成)という VSCode 拡張機能を使うと、数回クリックするだけでエディター内から Repomix を実行できます。任意のフォルダーで実行し、出力をシームレスに管理し、VSCode の直感的なインターフェースからすべてを操作できます。
出力をファイルとして保存するか、内容だけを取得するかを選びたいですか?自動クリーンアップが必要ですか?この拡張機能が対応します。既存の repomix.config.json ともスムーズに連携します。
今すぐ VSCode Marketplace でお試しください! ソースコードは GitHub で公開されています。
代替ツール 🛠️
Python をお使いの場合は、Python エコシステムやデータサイエンスのワークフローにより適した Gitingest もぜひご確認ください。
https://github.com/cyclotruc/gitingest
📊 使い方
リポジトリ全体をパックするには:
repomix
特定のディレクトリをパックするには:
repomix path/to/directory
glob パターンを使って特定のファイルやディレクトリをパックするには:
repomix --include "src/**/*.ts,**/*.md"
特定のファイルやディレクトリを除外するには:
repomix --ignore "**/*.log,tmp/"
リモートリポジトリをパックするには:
repomix --remote https://github.com/yamadashy/repomix
# You can also use GitHub shorthand:
repomix --remote yamadashy/repomix
# You can specify the branch name, tag, or commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Or use a specific commit hash:
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Another convenient way is specifying the branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
# Commit's URL is also supported
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
ファイルリストからファイルをパックするには(stdin 経由でパイプします):
# Using find command
find src -name "*.ts" -type f | repomix --stdin
# Using git to get tracked files
git ls-files "*.ts" | repomix --stdin
# Using grep to find files containing specific content
grep -l "TODO" **/*.ts | repomix --stdin
# Using ripgrep to find files with specific content
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Using ripgrep (rg) to find files
rg --files --type ts | repomix --stdin
# Using sharkdp/fd to find files
fd -e ts | repomix --stdin
# Using fzf to select from all files
fzf -m | repomix --stdin
# Interactive file selection with fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Using ls with glob patterns
ls src/**/*.ts | repomix --stdin
# From a file containing file paths
cat file-list.txt | repomix --stdin
# Direct input with echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
--stdin オプションを使うと、ファイルパスのリストを Repomix にパイプで渡せるため、パックするファイルを柔軟に選択できます。
--stdin を使用すると、指定したファイルは実質的に include パターンに追加されます。つまり、通常の include および ignore の動作も適用され、stdin 経由で指定したファイルも ignore パターンに一致すれば除外されます。
メモ
--stdinを使用する場合、ファイルパスは相対パスでも絶対パスでも指定でき、Repomix がパスの解決と重複排除を自動的に処理します。
出力に git ログを含めるには:
# Include git logs with default count (50 commits)
repomix --include-logs
# Include git logs with specific commit count
repomix --include-logs --include-logs-count 10
# Combine with diffs for comprehensive git context
repomix --include-logs --include-diffs
git ログには、各コミットの日時、メッセージ、ファイルパスが含まれ、コードの進化や開発パターンを AI が分析する際に役立つコンテキストを提供します。
出力を圧縮するには:
repomix --compress
# You can also use it with remote repositories:
repomix --remote yamadashy/repomix --compress
新しい設定ファイル(repomix.config.json)を初期化するには:
repomix --init
パックしたファイルを生成したら、ChatGPT、DeepSeek、Perplexity、Gemini、Gemma、Llama、Grok などの生成 AI ツールで使用できます。
Docker の使用 🐳
Docker を使って Repomix を実行することもできます。
Repomix を分離された環境で実行したい場合や、コンテナーを使いたい場合に便利です。
基本的な使い方(現在のディレクトリ):
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix
特定のディレクトリをパックするには:
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directory
リモートリポジトリを処理し、output ディレクトリに出力します:
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomix
プロンプトの例
Repomix でパックしたファイルを生成したら、ChatGPT、DeepSeek、Perplexity、Gemini、Gemma、Llama、Grok などの AI ツールで使用できます。 まずは以下のプロンプト例をお試しください:
コードレビューとリファクタリング
包括的なコードレビューとリファクタリングの提案を得るには:
This file contains my entire codebase. Please review the overall structure and suggest any improvements or refactoring opportunities, focusing on maintainability and scalability.
ドキュメントの生成
プロジェクトのドキュメントを生成するには:
Based on the codebase in this file, please generate a detailed README.md that includes an overview of the project, its main features, setup instructions, and usage examples.
テストケースの生成
テストケースを生成するには:
Analyze the code in this file and suggest a comprehensive set of unit tests for the main functions and classes. Include edge cases and potential error scenarios.
コード品質の評価
コードの品質とベストプラクティスへの準拠状況を評価します:
Review the codebase for adherence to coding best practices and industry standards. Identify areas where the code could be improved in terms of readability, maintainability, and efficiency. Suggest specific changes to align the code with best practices.
ライブラリの概要
ライブラリの概要を把握します
This file contains the entire codebase of library. Please provide a comprehensive overview of the library, including its main purpose, key features, and overall architecture.
ご自身のニーズや使用する AI ツールの機能に合わせて、これらのプロンプトを自由に変更してください。
コミュニティでのディスカッション
コミュニティディスカッションでは、ユーザーが以下の内容を共有しています:
- Repomix と併用している AI ツール
- 見つけた効果的なプロンプト
- Repomix がどのように役立ったか
- AI によるコード分析を最大限に活用するためのヒントやコツ
ぜひディスカッションに参加して、ご自身の体験を共有してください!あなたの知見が、他の人の Repomix 活用に役立つかもしれません。
出力ファイル形式
Repomix は、コードベースの各部分を明確な区切りで分割した単一のファイルを生成します。
AI の理解を深めるため、出力ファイルの冒頭には AI 向けの説明が含まれており、AI モデルがパッケージ化されたリポジトリのコンテキストと構造を理解しやすくなっています。
XML 形式(デフォルト)
XML 形式では、コンテンツを階層構造で整理します。
This file is a merged representation of the entire codebase, combining all repository files into a single document.
<file_summary>
(Metadata and usage AI instructions)
</file_summary>
<directory_structure>
src/
cli/
cliOutput.ts
index.ts
(...remaining directories)
</directory_structure>
<files>
<file path="src/index.js">
// File contents here
</file>
(...remaining files)
</files>
<instruction>
(Custom instructions from `output.instructionFilePath`)
</instruction>
AI で XML タグを活用する可能性に興味がある方は、こちらをご覧ください。
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
プロンプトにコンテキスト、指示、例などの複数の要素が含まれる場合、XML タグは大きな効果を発揮します。Claude がプロンプトをより正確に解析できるようになり、より高品質な出力につながります。
つまり、Repomix の XML 出力は単なる別の形式ではなく、コードベースを AI システムに入力して分析、コードレビュー、その他のタスクを行ううえで、より効果的な方法となる可能性があります。
Markdown 形式
Markdown 形式で出力するには、--style markdown オプションを使用します。
repomix --style markdown
Markdown 形式では、コンテンツを階層構造で整理します。
This file is a merged representation of the entire codebase, combining all repository files into a single document.
# File Summary
(Metadata and usage AI instructions)
# Repository Structure
```
src/
cli/
cliOutput.ts
index.ts
```
(...remaining directories)
# Repository Files
## File: src/index.js
```
// File contents here
```
(...remaining files)
# Instruction
(Custom instructions from `output.instructionFilePath`)
この形式は、読みやすくすっきりとした構造を提供し、人にも読みやすく、AI システムでも簡単に解析できます。
JSON 形式
JSON 形式で出力するには、--style json オプションを使用します。
repomix --style json
JSON 形式では、camelCase のプロパティ名を使用した階層型 JSON オブジェクトとしてコンテンツを整理します。
{
"fileSummary": {
"generationHeader": "This file is a merged representation of the entire codebase, combined into a single document by Repomix.",
"purpose": "This file contains a packed representation of the entire repository's contents...",
"fileFormat": "The content is organized as follows...",
"usageGuidelines": "- This file should be treated as read-only...",
"notes": "- Some files may have been excluded based on .gitignore, .ignore, and .repomixignore rules..."
},
"userProvidedHeader": "Custom header text if specified",
"directoryStructure": "src/\n cli/\n cliOutput.ts\n index.ts\n config/\n configLoader.ts",
"files": {
"src/index.js": "// File contents here",
"src/utils.js": "// File contents here"
},
"instruction": "Custom instructions from instructionFilePath"
}
この形式は、次の用途に最適です。
- プログラムによる処理:JSON ライブラリで簡単に解析、操作できます
- API 統合:Web サービスやアプリケーションで直接利用できます
- AI ツールとの互換性:機械学習システムや AI システム向けの構造化形式です
- データ分析:
jqなどのツールを使って、特定の情報を簡単に抽出できます
jq を使った JSON 出力の操作
JSON 形式では、プログラムから特定の情報を簡単に抽出できます。
# List all file paths
cat repomix-output.json | jq -r '.files | keys[]'
# Count total number of files
cat repomix-output.json | jq '.files | keys | length'
# Extract specific file content
cat repomix-output.json | jq -r '.files["README.md"]'
cat repomix-output.json | jq -r '.files["src/index.js"]'
# Find files by extension
cat repomix-output.json | jq -r '.files | keys[] | select(endswith(".ts"))'
# Get files containing specific text
cat repomix-output.json | jq -r '.files | to_entries[] | select(.value | contains("function")) | .key'
# Extract directory structure
cat repomix-output.json | jq -r '.directoryStructure'
# Get file summary information
cat repomix-output.json | jq '.fileSummary.purpose'
cat repomix-output.json | jq -r '.fileSummary.generationHeader'
# Extract user-provided header (if exists)
cat repomix-output.json | jq -r '.userProvidedHeader // "No header provided"'
# Create a file list with sizes
cat repomix-output.json | jq -r '.files | to_entries[] | "\(.key): \(.value | length) characters"'
プレーンテキスト形式
プレーンテキスト形式で出力するには、--style plain オプションを使用します。
repomix --style plain
This file is a merged representation of the entire codebase, combining all repository files into a single document.
================================================================
File Summary
================================================================
(Metadata and usage AI instructions)
================================================================
Directory Structure
================================================================
src/
cli/
cliOutput.ts
index.ts
config/
configLoader.ts
(...remaining directories)
================================================================
Files
================================================================
================
File: src/index.js
================
// File contents here
================
File: src/utils.js
================
// File contents here
(...remaining files)
================================================================
Instruction
================================================================
(Custom instructions from `output.instructionFilePath`)
コマンドラインオプション
基本オプション
-v, --version:バージョン情報を表示して終了します
CLI 入出力オプション
| オプション | 説明 |
|---|---|
--verbose | 詳細なデバッグログを有効にします(ファイル処理、トークン数、設定の詳細を表示します) |
--quiet | エラー以外のコンソール出力をすべて抑制します(スクリプトでの利用に便利です) |
--stdout | パッケージ化した出力をファイルではなく stdout に直接書き込みます(すべてのログ出力を抑制します) |
--stdin | stdin からファイルパスを1行ずつ読み込みます(指定されたファイルは直接処理されます) |
--copy | 処理後、生成した出力をシステムのクリップボードにコピーします |
--token-count-tree [threshold] | トークン数付きのファイルツリーを表示します。任意でしきい値を指定すると、トークン数が N 以上のファイルのみを表示します(例:--token-count-tree 100) |
--top-files-len <number> | サマリーに表示する最大サイズのファイル数(デフォルト:5) |
Repomix の出力オプション
| オプション | 説明 |
|---|---|
-o, --output <file> | 出力ファイルのパス(デフォルト:repomix-output.xml。標準出力には "-" を使用) |
--style <style> | 出力形式:xml、markdown、json、または plain(デフォルト:xml) |
--output-file-path-style <style> | 出力内でのファイルパスの表示方法:target-relative または cwd-relative(デフォルト:target-relative) |
--parsable-style | 有効な XML/Markdown を保つために特殊文字をエスケープします(出力に書式を崩すコードが含まれる場合に必要です) |
--compress | Tree-sitter の解析を使用して、コード構造の要点(クラス、関数、インターフェース)を抽出します |
--output-show-line-numbers | 出力内の各行に行番号を付けます |
--no-file-summary | 出力からファイル概要セクションを省略します |
--no-directory-structure | 出力からディレクトリツリーの表示を省略します |
--no-files | ファイルの内容を含めず、メタデータのみを生成します(リポジトリの分析に便利です) |
--remove-comments | パッキング前に、すべてのコードコメントを削除します |
--remove-empty-lines | すべてのファイルから空行を削除します |
--truncate-base64 | 長い Base64 データ文字列を切り詰めて、出力サイズを削減します |
--header-text <text> | 出力の先頭に含めるカスタムテキスト |
--instruction-file-path <path> | 出力に含めるカスタム指示を記載したファイルのパス |
--split-output <size> | 出力を番号付きの複数ファイルに分割します(例:repomix-output.1.xml)。サイズには 500kb、2mb、1.5mb などを指定します |
--include-empty-directories | ディレクトリ構造にファイルのないフォルダーを含めます |
--include-full-directory-structure | --include パターンに一致しないファイルも含め、完全なディレクトリツリーを出力に表示します |
--no-git-sort-by-changes | Git の変更頻度でファイルを並べ替えません(デフォルトでは、変更頻度の高いファイルが先頭になります) |
--include-diffs | 作業ツリーとステージング済みの変更を示す Git 差分セクションを追加します |
--include-logs | メッセージと変更ファイルを含む Git コミット履歴を追加します |
--include-logs-count <count> | --include-logs で含める最近のコミット数(デフォルト:50) |
ファイル選択オプション
| オプション | 説明 |
|---|---|
--include <patterns> | これらの glob パターンに一致するファイルのみを含めます(カンマ区切り。例:"src/**/*.js,*.md") |
-i, --ignore <patterns> | 除外するパターンを追加します(カンマ区切り。例:"*.test.js,docs/**") |
--no-gitignore | ファイルのフィルタリングに .gitignore ルールを使用しません |
--no-dot-ignore | ファイルのフィルタリングに .ignore ルールを使用しません |
--no-default-patterns | 組み込みの無視パターン(node_modules、.git、ビルドディレクトリなど)を適用しません |
リモートリポジトリのオプション
| オプション | 説明 |
|---|---|
--remote <url> | リモートリポジトリをクローンしてパッキングします(GitHub URL または user/repo 形式) |
--remote-branch <name> | 使用する特定のブランチ、タグ、またはコミット(デフォルト:リポジトリのデフォルトブランチ) |
--remote-trust-config | リモートリポジトリの設定ファイルを信頼して読み込みます(セキュリティ上、デフォルトでは無効です)。対話型ターミナルでは、設定が表示され、確認を求められます |
設定オプション
| オプション | 説明 |
|---|---|
-c, --config <path> | repomix.config.json の代わりに、カスタム設定ファイルを使用します |
--init | デフォルト設定で新しい repomix.config.json ファイルを作成します |
--global | --init と併用すると、現在のディレクトリではなくホームディレクトリに設定ファイルを作成します |
セキュリティオプション
--no-security-check:API キーやパスワードなどの機密データのスキャンをスキップします
トークン数のオプション
--token-count-encoding <encoding>:カウントに使用するトークナイザーモデル:o200k_base(GPT-4o)、cl100k_base(GPT-3.5/4)など(デフォルト:o200k_base)--token-budget <number>:パック後の出力が N トークンを超えた場合、ゼロ以外の終了コードで終了します。CI パイプラインやエージェントのワークフローで、出力を対象モデルのコンテキストウィンドウ内に収めるためのガードとして便利です。出力自体は生成され、超過したことは終了コードでのみ示されます。
MCP
--mcp:AI ツールとの連携のために、Model Context Protocol サーバーとして実行します--sandbox [dir]:--mcpと併用し、MCP サーバーのファイルツールをワークスペースディレクトリ内に制限します(デフォルトは作業ディレクトリです。例:--sandbox path/to/project)。すべてのパスはそのルートからの相対パスとなり、絶対パスやホストパスは拒否されます。また、リモートのパッキング、スキルの生成、外部出力の添付は無効になります。
エージェントスキルの生成
| オプション | 説明 |
|---|---|
--skill-generate [name] | Claude Agent Skills 形式の出力を .claude/skills/<name>/ ディレクトリに生成します(省略した場合、名前は自動生成されます) |
--skill-project-name <name> | 生成される Skills の説明で使用するプロジェクト名を上書きします |
--skill-output <path> | スキルの出力ディレクトリのパスを直接指定します(保存場所のプロンプトをスキップします) |
-f, --force | すべての確認プロンプトをスキップします(スキルディレクトリの上書き、リモート設定の信頼) |
監視モード
-
-w, --watch:ファイルの変更を監視し、自動的に再パックします。短時間に発生した変更をまとめ(300ms)、再ビルドごとにタイムスタンプを記録します。終了するにはCtrl+Cを押します。監視モードはローカルディレクトリでのみ動作するため、
--remote、位置引数のリモートリポジトリ URL、--stdout、--stdin、--split-output、--skill-generate、--copyとは併用できません(コマンドラインまたは設定ファイルのどちらで指定した場合も同様です)。
使用例
# Basic usage
repomix
# Custom output
repomix -o output.xml --style xml
# Output to stdout
repomix --stdout > custom-output.txt
# Send output to stdout, then pipe into another command (for example, simonw/llm)
repomix --stdout | llm "Please explain what this code does."
# Custom output with compression
repomix --compress
# Process specific files
repomix --include "src/**/*.ts" --ignore "**/*.test.ts"
# Split output into multiple files (max size per part)
repomix --split-output 20mb
# Remote repository with branch
repomix --remote https://github.com/user/repo/tree/main
# Remote repository with commit
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
# Remote repository with shorthand
repomix --remote user/repo
# Watch mode — automatically re-pack on file changes
repomix --watch
repomix -w --include "src/**/*.ts"
Repomix の更新
グローバルにインストールされた Repomix を更新するには:
# Using npm
npm update -g repomix
# Using yarn
yarn global upgrade repomix
# Using bun
bun update -g repomix
npx repomix を使うと、常に最新バージョンが使用されるため、一般により便利です。
リモートリポジトリの処理
Repomix では、手動でクローンすることなく、リモートの Git リポジトリを処理できます。この機能を使えば、1 つのコマンドですばやく任意の公開 Git リポジトリを分析できます。
リモートリポジトリを処理するには、リポジトリの URL に続けて --remote オプションを指定します。
repomix --remote https://github.com/yamadashy/repomix
GitHub の短縮形式も使用できます。
repomix --remote yamadashy/repomix
ブランチ名、タグ、またはコミットハッシュを指定できます。
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch main
# Using branch's URL
repomix --remote https://github.com/yamadashy/repomix/tree/main
または、特定のコミットハッシュを指定します。
# Using --remote-branch option
repomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695
# Using commit's URL
repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1
メモ
セキュリティ上の理由から、リモートリポジトリ内の設定ファイル(
repomix.config.*)はデフォルトでは読み込まれません。これにより、信頼できないリポジトリが設定ファイル経由でコードを実行するのを防ぎます。グローバル設定と CLI オプションは引き続き適用されます。リモートリポジトリの設定を信頼するには、--remote-trust-configを使用するか、REPOMIX_REMOTE_TRUST_CONFIG=trueを設定します。対話型ターミナルでは、Repomix が設定を表示し、読み込む前に確認を求めます。リモートリポジトリ設定の信頼を参照してください。
--remoteと併せて--configを使用する場合は、絶対パスが必要です(例:--config /home/user/repomix.config.json)。
コード圧縮
--compress オプションは Tree-sitter を利用してコードをインテリジェントに抽出し、実装の詳細を取り除きながら、重要な関数やクラスのシグネチャに焦点を当てます。重要な構造情報を保持したまま、トークン数を削減できます。
repomix --compress
たとえば、次のコードは:
import { ShoppingItem } from './shopping-item';
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
次のように圧縮されます:
import { ShoppingItem } from './shopping-item';
⋮----
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
⋮----
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
メモ
これは実験的な機能であり、ユーザーからのフィードバックや実際の使用状況に基づいて積極的に改善していく予定です
ファイルごとの適用レベル(output.patterns)
--compress はすべてのファイルに一律で適用されますが、output.patterns を使うと、設定ファイルから glob ごとに詳細度を制御できます。各エントリーは glob でファイルを対象にし(include/ignore と同じ方法で照合されます)、一致するファイルに対してグローバルな output.compress 設定を上書きします。
{
"output": {
"compress": false, // global default acts as the catch-all
"patterns": [
{ "pattern": "docs/**/*", "compress": true },
{ "pattern": "website/**/*", "directoryStructureOnly": true }
]
}
}
レベルは次の 3 つです。
- 完全な内容(デフォルト) — ファイルの内容全体が含まれます。
- 圧縮(
compress: true) — 内容に--compressと同じ Tree-sitter パイプラインが適用されます。 - ディレクトリ構造のみ(
directoryStructureOnly: true) — ファイルはディレクトリ構造に一覧表示されますが、内容ブロックは出力から完全に省略されます。
セマンティクス:
- パターンは配列の順序どおりに評価され、ファイルごとに最初に一致したパターンが適用されます。
- 一致したパターンのフラグは、グローバルな
output.compress設定を上書きします。どちらのフラグも設定せずに一致したパターンは、そのファイルを完全な内容にします(グローバルなcompressの対象からファイルを除外する場合に便利です)。 - 両方が設定されている場合、
directoryStructureOnlyがcompressより優先されます。 - どのパターンにも一致しない場合は、グローバルの動作が適用されます(完全な内容、または
output.compressがtrueの場合は圧縮)。
これは設定ファイル専用のオプションです。パターンごとのレベルを指定する CLI フラグはありません。
トークン数の最適化
AI とのやり取りを最適化するには、コードベース内のトークン分布を把握することが重要です。--token-count-tree オプションを使って、プロジェクト全体のトークン使用量を可視化します。
repomix --token-count-tree
トークン数とともに、コードベースの階層ビューが表示されます。
🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
├── cli/ (12,714 tokens)
│ ├── actions/ (7,546 tokens)
│ └── reporters/ (990 tokens)
└── core/ (41,600 tokens)
├── file/ (10,098 tokens)
└── output/ (5,808 tokens)
最小トークン数のしきい値を設定して、サイズの大きいファイルに絞り込むこともできます。
repomix --token-count-tree 1000 # Only show files/directories with 1000+ tokens
これにより、次のことができます。
- AI のコンテキスト上限を超える可能性のあるトークン数の多いファイルを特定する
--includeと--ignoreのパターンを使ってファイル選択を最適化する- 最大の要因を対象にして圧縮戦略を立てる
- AI 分析用にコードを準備する際に、内容とコンテキストのバランスを取る
大規模なコードベースでの出力分割
大規模なコードベースを扱う際、パックされた出力が、一部の AI ツールで定められたファイルサイズ上限(例:Google AI Studio の 1MB 上限)を超えることがあります。--split-output を使うと、出力を複数のファイルに自動で分割できます。
repomix --split-output 1mb
次のような連番ファイルが生成されます。
repomix-output.1.xmlrepomix-output.2.xmlrepomix-output.3.xml
サイズは 500kb、1mb、2mb、1.5mb などの単位で指定できます。小数値も使用できます。
メモ
コンテキストを維持するため、ファイルは最上位ディレクトリごとにグループ化されます。1 つのファイルやディレクトリが複数の出力ファイルに分割されることはありません。
MCP サーバーとの統合
Repomix は Model Context Protocol (MCP) をサポートしており、AI アシスタントがコードベースと直接やり取りできます。MCP サーバーとして実行すると、Repomix は、手動でファイルを準備することなく、AI アシスタントがローカルまたはリモートのリポジトリをパッケージ化して分析できるツールを提供します。
repomix --mcp
サンドボックスモード
デフォルトでは、MCP サーバーはホストユーザーがアクセスできるすべてのパスを読み取れます。信頼できるローカルのアシスタントには便利ですが、信頼できないクライアントやエージェントにサーバーを公開する場合は、範囲が広すぎます。--sandbox フラグを指定すると、サーバーのファイルツールを単一のワークスペースディレクトリ内に制限できます。
# Confine to the current working directory
repomix --mcp --sandbox
# Confine to a specific directory
repomix --mcp --sandbox path/to/project
サンドボックスモードでは、すべてのパスがワークスペースのルートからの相対パスになります(絶対パス、~、..、Windows のドライブパス/UNC パス、およびシンボリックリンク経由でルート外を指すパスは拒否されます)。また、読み取り専用でルート内に制限されたツールのみが登録され、リモートのパッケージ化、スキル生成、外部出力の添付は無効になります。生のファイルツール(file_system_read_file、file_system_read_directory)はサンドボックスモードでのみ利用でき、アクセス範囲はワークスペースのルートによって制限されます。これはツールの範囲に対するアプリケーションレベルの制限であり、OS レベルのサンドボックスではありません。詳細については、MCP Server ガイドを参照してください。
MCP サーバーの設定
Claude などの AI アシスタントで Repomix を MCP サーバーとして使用するには、MCP の設定が必要です。
VS Code の場合:
次のいずれかの方法で、VS Code に Repomix MCP サーバーをインストールできます。
- インストールバッジを使用する:
- コマンドラインを使用する:
code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
VS Code Insiders の場合:
code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
Cline(VS Code 拡張機能)の場合:
cline_mcp_settings.json ファイルを編集します。
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix",
"--mcp"
]
}
}
}
Cursor の場合:
Cursor で、Cursor Settings > MCP > + Add new global MCP server から新しい MCP サーバーを追加し、Cline と同様の設定を指定します。
Claude Desktop の場合:
claude_desktop_config.json ファイルを編集し、Cline の設定と同様の設定を指定します。
Claude Code の場合:
Claude Code で Repomix を MCP サーバーとして設定するには、次のコマンドを使用します。
claude mcp add repomix -- npx -y repomix --mcp
または、公式の Repomix プラグインを使用できます(下記の Claude Code プラグイン セクションを参照)。
npx の代わりに Docker を使用する場合:
Repomix を MCP サーバーとして実行する際、npx の代わりに Docker を使用できます。
{
"mcpServers": {
"repomix-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/yamadashy/repomix",
"--mcp"
]
}
}
}
設定が完了すると、AI アシスタントは手作業でファイルを準備することなく、Repomix の機能を直接使用してコードベースを分析できるため、コード分析のワークフローが効率化されます。
利用可能な MCP ツール
MCP サーバーとして実行すると、Repomix は次のツールを提供します。
- pack_codebase:ローカルのコードディレクトリを、AI 分析用の統合 XML ファイルにまとめます
- パラメーター:
directory:まとめるディレクトリの絶対パスcompress:(任意、デフォルト:false)Tree-sitter 圧縮を有効にして、実装の詳細を除きながら、重要なコードシグネチャと構造を抽出します。意味を保ったままトークン使用量を約 70% 削減します。grep_repomix_outputでコンテンツを段階的に取得できるため、通常は必要ありません。大規模なリポジトリでコードベース全体の内容が必要な場合にのみ使用してください。includePatterns:(任意)fast-glob パターンを使用して、含めるファイルを指定します。複数のパターンはカンマ区切りで指定できます(例:「/*.{js,ts}」、「src/,docs/**」)。一致したファイルのみが処理されます。ignorePatterns:(任意)fast-glob パターンを使用して、除外するファイルを追加指定します。複数のパターンはカンマ区切りで指定できます(例:「test/,*.spec.js」、「node_modules/,dist/**」)。これらのパターンは、.gitignore、.ignore、および組み込みの除外設定を補完します。outputPatterns:(任意)設定ファイルのoutput.patternsオプションと同様に、ファイルごとの包含レベルを指定します。{ pattern, compress?, directoryStructureOnly? }エントリーの配列です。最初に一致したパターンが適用され、directoryStructureOnlyはcompressより優先されます。どちらのフラグも指定されていないパターンに一致すると、全内容が出力されます(グローバルなcompressの対象外とする場合に便利です)。対象リポジトリのrepomix.config.jsonにあるoutput.patternsを上書きします。topFilesLength:(任意、デフォルト:10)コードベース分析のメトリクス概要に表示する、サイズの大きいファイルの数。
- attach_packed_output: AI 分析のために既存の Repomix パック済み出力ファイルを添付します
- パラメーター:
path:repomix-output.xml を含むディレクトリへのパス、またはパック済みリポジトリ XML ファイルへの直接パスtopFilesLength:(任意、デフォルト:10)メトリクスの概要に表示する、サイズが大きいファイルの数
- 機能:
- repomix-output.xml ファイルを含むディレクトリ、または XML ファイルへの直接パスを指定できます
- ファイルを MCP サーバーに登録し、pack_codebase ツールと同じ構造を返します
- 再処理せずに既存のパック済み出力にアクセスできます
- 以前に生成したパック済みリポジトリを扱う際に便利です
- pack_remote_repository: GitHub リポジトリを取得、クローンし、AI 分析用の統合 XML ファイルにパッケージ化します
- パラメーター:
remote:GitHub リポジトリの URL、または user/repo 形式(例:"yamadashy/repomix"、"https://github.com/user/repo"、または "https://github.com/user/repo/tree/branch")compress:(任意、デフォルト:false)Tree-sitter 圧縮を有効にし、実装の詳細を除去しながら、重要なコードシグネチャと構造を抽出します。意味を維持しつつ、トークン使用量を約 70%削減します。grep_repomix_output を使ってコンテンツを段階的に取得できるため、通常は不要です。大規模なリポジトリでコードベース全体のコンテンツが必要な場合にのみ使用してください。includePatterns:(任意)fast-glob パターンを使って、含めるファイルを指定します。複数のパターンはカンマ区切りで指定できます(例:"/*.{js,ts}"、"src/,docs/**")。一致するファイルのみが処理されます。ignorePatterns:(任意)fast-glob パターンを使って、追加で除外するファイルを指定します。複数のパターンはカンマ区切りで指定できます(例:"test/,*.spec.js"、"node_modules/,dist/**")。これらのパターンは .gitignore、.ignore、および組み込みの除外設定に追加されます。outputPatterns:(任意)設定ファイルのoutput.patternsオプションに対応する、ファイルごとの包含レベルです。{ pattern, compress?, directoryStructureOnly? }エントリーの配列です。一致した最初のパターンが適用され、directoryStructureOnlyはcompressより優先されます。また、どちらのフラグも指定されていないパターンが一致した場合は、コンテンツ全体が出力されます(グローバルなcompressの対象外にする場合に便利です)。topFilesLength:(任意、デフォルト:10)コードベース分析のメトリクスの概要に表示する、サイズが大きいファイルの数
- read_repomix_output: Repomix が生成した出力ファイルの内容を読み取ります。大きなファイルについては、行範囲を指定して部分的に読み取ることができます。
- パラメーター:
outputId:読み取る Repomix 出力ファイルの IDstartLine:(任意)開始行番号(1 始まり、指定行を含む)。指定しない場合は先頭から読み取ります。endLine:(任意)終了行番号(1 始まり、指定行を含む)。指定しない場合は末尾まで読み取ります。
- 機能:
- Web ベースの環境やサンドボックス化されたアプリケーション向けに特化して設計されています
- ID を使って、以前に生成した出力の内容を取得します
- ファイルシステムにアクセスせずに、パック済みコードベースを利用できます
- 大きなファイルの部分的な読み取りに対応しています
- grep_repomix_output:JavaScript の RegExp 構文を使用した grep のような機能で、Repomix 出力ファイル内のパターンを検索します
- パラメーター:
outputId:検索する Repomix 出力ファイルの IDpattern:検索パターン(JavaScript RegExp の正規表現構文)contextLines:(任意、デフォルト:0)一致箇所の前後に表示するコンテキスト行数です。指定されている場合は、beforeLines/afterLines によって上書きされます。beforeLines:(任意)一致箇所の前に表示するコンテキスト行数です(grep -B と同様)。contextLines より優先されます。afterLines:(任意)一致箇所の後に表示するコンテキスト行数です(grep -A と同様)。contextLines より優先されます。ignoreCase:(任意、デフォルト:false)大文字と小文字を区別せずに検索します
- 機能:
- JavaScript RegExp 構文を使用した柔軟なパターンマッチング
- 一致箇所をより理解しやすくするコンテキスト行の表示
- 前後のコンテキスト行数を個別に設定可能
- 大文字と小文字を区別する検索と区別しない検索のオプション
- file_system_read_file:サンドボックスのワークスペース内のファイルを読み取ります。サンドボックスモード(
--sandbox)でのみ利用でき、アクセスできる範囲はワークスペースのルートによって制限されます。
- パラメーター:
path:読み取るファイルのパス。ワークスペースのルートからの相対パスです(例:src/index.ts)
- 注意:
--sandboxを指定しない場合は登録されません- 既知のシークレット形式(Secretlint)に一致する内容は、追加のヒューリスティックな保護策として拒否されます。アクセス境界はスキャン範囲ではなく、ワークスペースのルートです
- file_system_read_directory:サンドボックスのワークスペース内のディレクトリの内容を一覧表示します。サンドボックスモード(
--sandbox)でのみ利用できます。
- パラメーター:
path:一覧表示するディレクトリのパス。ワークスペースのルートからの相対パスです(例:.またはsrc)
- 機能:
- ファイルとディレクトリを分かりやすい表示(
[FILE]または[DIR])で示します - プロジェクト構造を調べ、コードベースの構成を理解するのに役立ちます
- ファイルとディレクトリを分かりやすい表示(
Claude Code プラグイン
Repomix は、AI を活用した開発環境にシームレスに統合できる、Claude Code 向けの公式プラグインを提供しています。
インストール
1. Repomix プラグインマーケットプレイスを追加します:
/plugin marketplace add yamadashy/repomix
2. プラグインをインストールします:
# Install MCP server plugin (recommended foundation)
/plugin install repomix-mcp@repomix
# Install commands plugin (extends functionality)
/plugin install repomix-commands@repomix
# Install repository explorer plugin (AI-powered analysis)
/plugin install repomix-explorer@repomix
注意:基盤として repomix-mcp プラグインを使用することをおすすめします。repomix-commands プラグインは便利なスラッシュコマンドを提供し、repomix-explorer は AI を活用した分析機能を追加します。それぞれ個別にインストールすることもできますが、3 つすべてを使用すると、最も包括的な環境が得られます。
または、対話型プラグインインストーラーを使用します:
/plugin
利用可能なプラグインを参照してインストールできる、対話型インターフェースが開きます。
利用可能なプラグイン
1. repomix-mcp(MCP サーバープラグイン)
MCP サーバーとの統合を通じて、AI を活用したコードベース分析を実現する基盤プラグインです。
機能:
- ローカルおよびリモートのリポジトリをパック
- パックした出力を読み取り、検索
- Tree-sitter による自動圧縮(トークンを約 70%削減)
2. repomix-commands(スラッシュコマンドプラグイン)
自然言語に対応した便利なスラッシュコマンドを提供し、すばやく操作できます。
利用可能なコマンド:
/repomix-commands:pack-local- 各種オプションを指定してローカルのコードベースをパック/repomix-commands:pack-remote- リモートの GitHub リポジトリをパックして分析
使用例:
/repomix-commands:pack-local
Pack this project as markdown with compression
/repomix-commands:pack-remote yamadashy/repomix
Pack only TypeScript files from the yamadashy/repomix repository
3. repomix-explorer(AI 分析エージェントプラグイン)
Repomix CLI を使用してコードベースをインテリジェントに探索する、AI を活用したリポジトリ分析エージェントです。
機能:
- 自然言語によるコードベースの探索と分析
- パターンのインテリジェントな発見とコード構造の理解
- grep と対象を絞ったファイル読み取りによる段階的な分析
- 大規模なリポジトリ向けの自動コンテキスト管理
利用可能なコマンド:
/repomix-explorer:explore-local- AI の支援を受けてローカルのコードベースを分析/repomix-explorer:explore-remote- AI の支援を受けてリモートの GitHub リポジトリを分析
使用例:
/repomix-explorer:explore-local ./src
Find all authentication-related code
/repomix-explorer:explore-remote facebook/react
Show me the main component architecture
エージェントは次の処理を自動的に行います。
npx repomix@latestを実行してリポジトリをパックします- Grep ツールと Read ツールを使用して、出力を効率的に検索します
- コンテキストを過剰に消費することなく、包括的な分析を提供します
メリット
- シームレスな統合:Claude が手動で準備しなくても、コードベースを直接分析できます
- 自然言語:CLI の構文を覚える代わりに、会話形式のコマンドを使用できます
- 常に最新:最新の機能を利用できるよう、
npx repomix@latestを自動的に使用します - シークレットスキャン:Secretlint が既知の認証情報形式に一致するファイルを検出し、出力から除外します
- トークンの最適化:大規模なコードベース向けに Tree-sitter で圧縮します
詳しくは、.claude/plugins/ ディレクトリにあるプラグインのドキュメントをご覧ください。
エージェントスキルの生成
Repomix は Claude Agent Skills 形式の出力を生成できます。これにより、AI アシスタントで再利用可能なコードベースのリファレンスとして使える、構造化された Skills ディレクトリを作成します。この機能は、特にリモートリポジトリの実装を参照したい場合に役立ちます。
基本的な使い方
# Generate Skills from local directory
repomix --skill-generate
# Generate with custom Skills name
repomix --skill-generate my-project-reference
# Generate with a custom project name in Skills descriptions
repomix --skill-generate --skill-project-name "My Project"
# Generate from remote repository
repomix --remote https://github.com/user/repo --skill-generate
コマンドを実行すると、Repomix が Skills の保存先を選択するよう求めます。
- 個人用 Skills(
~/.claude/skills/) - マシン上のすべてのプロジェクトで利用できます - プロジェクト用 Skills(
.claude/skills/) - git を通じてチームで共有できます
非対話形式での使用
CI パイプラインや自動化スクリプトでは、--skill-output と --force を使用して、すべての対話形式のプロンプトを省略できます。
# Specify output directory directly
repomix --skill-generate --skill-output ./my-skills
# Skip overwrite confirmation with --force
repomix --skill-generate --skill-output ./my-skills --force
# Full non-interactive example
repomix --remote user/repo --skill-generate my-skill --skill-output ./output --force
生成される構造
Skills は次の構造で生成されます。
.claude/skills/<skill-name>/
├── SKILL.md # Main Skills metadata & documentation
└── references/
├── summary.md # Purpose, format, and statistics
├── project-structure.md # Directory tree with line counts
├── files.md # All file contents (grep-friendly)
└── tech-stacks.md # Languages, frameworks, dependencies
含まれる内容
- SKILL.md:Skills のメタデータ、ファイル数・行数・トークン数、概要、使用方法を記載します
- summary.md:Skills の目的、使用ガイドライン、ファイル形式と言語ごとの統計の内訳を説明します
- project-structure.md:ファイルを簡単に見つけられるよう、各ファイルの行数を含むディレクトリツリーを記載します
- files.md:grep で検索しやすいよう最適化された、構文強調表示のヘッダー付きですべてのファイルの内容を記載します
- tech-stacks.md:依存関係ファイル(
package.json、requirements.txt、Cargo.tomlなど)から、パッケージごとの技術スタックを自動検出します
自動生成される Skills 名
名前が指定されていない場合、Repomix が自動的に名前を生成します。
repomix src/ --skill-generate # → repomix-reference-src
repomix --remote user/repo --skill-generate # → repomix-reference-repo
repomix --skill-generate CustomName # → custom-name (normalized to kebab-case)
Repomix の機能との連携
Skills の生成では、Repomix のすべての標準オプションが適用されます。
# Generate Skills with file filtering
repomix --skill-generate --include "src/**/*.ts" --ignore "**/*.test.ts"
# Generate Skills with compression
repomix --skill-generate --compress
# Generate Skills from remote repository
repomix --remote yamadashy/repomix --skill-generate
Repomix Explorer スキル(Agent Skills)
Repomix には、Repomix CLI を使用して AI コーディングアシスタントがコードベースを分析、探索できる、すぐに使える Repomix Explorer スキルが用意されています。このスキルは、Claude Code、Cursor、Codex、GitHub Copilot など、さまざまな AI ツールで動作するよう設計されています。
クイックインストール
Claude Code では、公式の Repomix Explorer プラグインをインストールします。
/plugin marketplace add yamadashy/repomix
/plugin install repomix-explorer@repomix
Codex、Cursor、OpenClaw など、Agent Skills に対応したアシスタントでは、Skills CLI を使用してスタンドアロンのスキルをインストールします。
npx skills add yamadashy/repomix --skill repomix-explorer
特定のアシスタントを対象にするには、--agent を渡します。
npx skills add yamadashy/repomix --skill repomix-explorer --agent codex
npx skills add yamadashy/repomix --skill repomix-explorer --agent openclaw
Hermes Agent では、Hermes Agent のネイティブなスキルコマンドを使用して、単一ファイルのスキルをインストールします。
hermes skills install https://raw.githubusercontent.com/yamadashy/repomix/main/skills/repomix-explorer/SKILL.md
できること
インストールすると、自然言語の指示でコードベースを分析できます。
リモートリポジトリを分析します。
"What's the structure of this repo?
https://github.com/facebook/react"
ローカルのコードベースを探索します。
"What's in this project?
~/projects/my-app"
コードベースの理解だけでなく、ほかのリポジトリを参照しながら機能を実装したい場合にも役立ちます。
⚙️ 設定
Repomix は、柔軟性と使いやすさを高めるため、複数の設定ファイル形式に対応しています。
設定ファイル形式
Repomix は、次の優先順位で設定ファイルを自動的に検索します。
- TypeScript(
repomix.config.ts、repomix.config.mts、repomix.config.cts) - JavaScript/ES Module(
repomix.config.js、repomix.config.mjs、repomix.config.cjs) - JSON(
repomix.config.json5、repomix.config.jsonc、repomix.config.json)
JSON 設定
プロジェクトのルートに repomix.config.json ファイルを作成します。
repomix --init
これにより、デフォルト設定の repomix.config.json ファイルが作成されます。
TypeScript 設定
TypeScript の設定ファイルを使用すると、型チェックと IDE サポートをフルに活用でき、開発者にとって最適な環境が得られます。
インストール:
defineConfig を使った TypeScript または JavaScript の設定を使用するには、Repomix を開発用依存関係としてインストールする必要があります。
npm install -D repomix
例:
// repomix.config.ts
import { defineConfig } from 'repomix';
export default defineConfig({
output: {
filePath: 'output.xml',
style: 'xml',
removeComments: true,
},
ignore: {
customPatterns: ['**/node_modules/**', '**/dist/**'],
},
});
メリット:
- ✅ IDE での完全な TypeScript 型チェック
- ✅ 優れた IDE の自動補完と IntelliSense
- ✅ 動的な値(タイムスタンプ、環境変数など)の使用
動的な値の例:
// repomix.config.ts
import { defineConfig } from 'repomix';
// Generate timestamp-based filename
const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-');
export default defineConfig({
output: {
filePath: `output-${timestamp}.xml`,
style: 'xml',
},
});
JavaScript 設定
JavaScript の設定ファイルも TypeScript と同様に動作し、defineConfig と動的な値に対応しています。
設定オプション
設定オプションについて説明します。
| オプション | 説明 | デフォルト |
|---|---|---|
input.maxFileSize | 処理するファイルの最大サイズ(バイト単位)です。このサイズを超えるファイルはスキップされます | 50000000 |
input.processors | 一致するファイルをパッキングする前に変換する外部コマンドを実行する { pattern, command, timeout?, onError? } エントリの順序付き配列です(例:JSON→TOON)。最初に一致した glob が適用されます。任意のコマンドを実行するため、ローカル CLI の実行時(および --remote-trust-config を指定したリモートリポジトリ)のみ実行されます。ファイルプロセッサーを参照してください | 未設定 |
output.filePath | 出力ファイルの名前 | "repomix-output.xml" |
output.style | 出力のスタイル(xml、markdown、json、plain) | "xml" |
output.filePathStyle | 出力でのファイルパスの表示方法(target-relative は各ターゲットルートからの相対パスを維持し、cwd-relative は現在の作業ディレクトリからの相対パスを維持します) | "target-relative" |
output.parsableStyle | 選択したスタイルのスキーマに基づいて出力をエスケープするかどうかです。トークン数が増加する場合があります。 | false |
output.compress | トークン数を削減するために、インテリジェントなコード抽出を行うかどうかです | false |
output.patterns | ファイルごとの包含レベルです。{ pattern, compress?, directoryStructureOnly? } エントリの順序付き配列で、最初に一致した glob が適用され、そのファイルに対するグローバルな output.compress の設定を上書きします。ファイルごとの包含レベルを参照してください | 未設定 |
output.headerText | ファイルヘッダーに含めるカスタムテキスト | null |
output.instructionFilePath | 詳細なカスタム指示を記載したファイルへのパス | null |
output.fileSummary | 出力の先頭にサマリーセクションを含めるかどうかです | true |
output.directoryStructure | 出力にディレクトリ構造を含めるかどうかです | true |
output.files | 出力にファイルの内容を含めるかどうかです | true |
output.removeComments | 対応するファイル形式からコメントを削除するかどうかです | false |
output.removeEmptyLines | 出力から空行を削除するかどうかです | false |
output.showLineNumbers | 出力の各行に行番号を追加するかどうかです | false |
output.truncateBase64 | トークン数を削減するため、長い base64 データ文字列(例:画像)を切り詰めるかどうかです | false |
output.copyToClipboard | ファイルを保存するだけでなく、出力をシステムのクリップボードにコピーするかどうかです | false |
output.splitOutput | パートごとの最大サイズで出力を複数の番号付きファイルに分割します(例:およそ 1 MB の場合は 1000000)。各ファイルを制限内に収め、ファイルが複数のパートにまたがらないようにします | 未設定 |
output.topFilesLength | サマリーに表示する上位ファイルの数です。0 に設定すると、サマリーは表示されません | 5 |
output.tokenCountTree | トークン数のサマリー付きでファイルツリーを表示するかどうかです。ブール値または数値(最小トークン数のしきい値)を指定できます | false |
output.tokenBudget | パッキングされた出力が指定したトークン数を超えた場合、ゼロ以外の終了コードで失敗します。CI/エージェントのコンテキスト制限を守るためのガードとして機能します。出力は引き続き生成されます | 未設定 |
output.includeEmptyDirectories | リポジトリの構造に空のディレクトリを含めるかどうかです | false |
output.includeFullDirectoryStructure | include パターンを使用する際、処理対象は含まれるファイルのみに限定したまま、完全なディレクトリツリー(無視パターンを適用)を表示するかどうかです。AI による分析にリポジトリ全体のコンテキストを提供します | false |
output.git.sortByChanges | git の変更数でファイルを並べ替えるかどうかです(変更の多いファイルほど下に表示されます) | true |
output.git.sortByChangesMaxCommits | git の変更を分析するコミットの最大数 | 100 |
output.git.includeDiffs | 出力に git の差分を含めるかどうかです(作業ツリーの変更とステージ済みの変更を個別に含めます) | false |
output.git.includeLogs | 出力に git のログを含めるかどうかです(日付、メッセージ、ファイルパスを含むコミット履歴を含めます) | false |
output.git.includeLogsCount | 含める git ログのコミット数 | 50 |
include | 含めるファイルのパターン(glob パターンを使用) | [] |
ignore.useGitignore | プロジェクトの .gitignore ファイルに記載されたパターンを使用するかどうかです | true |
ignore.useDotIgnore | プロジェクトの .ignore ファイルに記載されたパターンを使用するかどうかです | true |
ignore.useDefaultPatterns | デフォルトの無視パターンを使用するかどうかです | true |
ignore.customPatterns | 追加で無視するパターン(glob パターンを使用) | [] |
security.enableSecurityCheck | ファイルのセキュリティチェックを実行するかどうかです | true |
tokenCount.encoding | OpenAI 互換のトークン化に使用するトークン数エンコーディングです(例:GPT-4o では o200k_base、GPT-4/3.5 では cl100k_base)。gpt-tokenizerを利用しています。 | "o200k_base" |
| 設定ファイルではJSON5構文がサポートされており、次の機能を利用できます。 |
- コメント(単一行と複数行の両方)
- オブジェクトや配列の末尾のカンマ
- 引用符で囲まないプロパティ名
- より柔軟な文字列構文
スキーマ検証
$schemaプロパティを追加すると、設定ファイルのスキーマ検証を有効にできます。
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"output": {
"filePath": "repomix-output.xml",
"style": "xml"
}
}
これにより、JSON Schemaに対応したエディターで自動補完と検証を利用できます。
設定例
設定例:
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"input": {
"maxFileSize": 50000000,
// Optional: transform matching files with an external command before packing (local CLI only)
// "processors": [
// { "pattern": "**/*.json", "command": "npx @toon-format/cli {file}" }
// ]
},
"output": {
"filePath": "repomix-output.xml",
"style": "xml",
"filePathStyle": "target-relative",
"parsableStyle": false,
"compress": false,
// Optional: override the inclusion level per glob (first match wins)
// "patterns": [
// { "pattern": "docs/**/*", "compress": true },
// { "pattern": "website/**/*", "directoryStructureOnly": true }
// ],
"headerText": "Custom header information for the packed file.",
"fileSummary": true,
"directoryStructure": true,
"files": true,
"removeComments": false,
"removeEmptyLines": false,
"topFilesLength": 5,
"tokenCountTree": false, // or true, or a number like 10 for minimum token threshold
// "tokenBudget": 180000, // optional: fail when the packed output exceeds this many tokens
"showLineNumbers": false,
"truncateBase64": false,
"copyToClipboard": false,
// "splitOutput": 1000000, // optional: split output into multiple ~1MB files
"includeEmptyDirectories": false,
"git": {
"sortByChanges": true,
"sortByChangesMaxCommits": 100,
"includeDiffs": false,
"includeLogs": false,
"includeLogsCount": 50
}
},
"include": ["**/*"],
"ignore": {
"useGitignore": true,
"useDefaultPatterns": true,
// Patterns can also be specified in .repomixignore
"customPatterns": [
"additional-folder",
"**/*.log"
],
},
"security": {
"enableSecurityCheck": true
},
"tokenCount": {
"encoding": "o200k_base"
}
}
グローバル設定
グローバル設定ファイルを作成するには:
repomix --init --global
グローバル設定ファイルは次の場所に作成されます。
- Windows:
%LOCALAPPDATA%\Repomix\repomix.config.json - macOS/Linux:
$XDG_CONFIG_HOME/repomix/repomix.config.jsonまたは~/.config/repomix/repomix.config.json
注:ローカル設定が存在する場合は、グローバル設定より優先されます。
含めるファイルと除外するファイル
含めるパターン
Repomixでは、globパターンを使って、含めるファイルを指定できるようになりました。これにより、より柔軟で強力なファイル選択が可能になります。
**/*.jsを使用すると、任意のディレクトリにあるすべてのJavaScriptファイルが含まれます。src/**/*を使用すると、srcディレクトリとそのサブディレクトリ内のすべてのファイルが含まれます。["src/**/*.js", "**/*.md"]のように複数のパターンを組み合わせると、src内のJavaScriptファイルとすべてのMarkdownファイルが含まれます。
除外パターン
Repomixでは、パッキング処理中に特定のファイルやディレクトリを除外するため、複数の方法で除外パターンを設定できます。
- .gitignore:デフォルトでは、プロジェクトの
.gitignoreファイルと.git/info/excludeに記載されたパターンが使用されます。この動作はignore.useGitignore設定または--no-gitignoreCLI オプションで制御できます。 - .ignore:プロジェクトのルートに
.ignoreファイルを作成し、.gitignoreと同じ形式で記述できます。このファイルはripgrepやthe silver searcherなどのツールでも使用されるため、複数の除外ファイルを管理する必要が減ります。この動作はignore.useDotIgnore設定または--no-dot-ignoreCLI オプションで制御できます。 - デフォルトパターン:Repomixには、一般的に除外されるファイルやディレクトリ(例:node_modules、.git、バイナリファイル)のデフォルトリストが含まれています。この機能は
ignore.useDefaultPatterns設定または--no-default-patternsCLI オプションで制御できます。詳しくはdefaultIgnore.tsを参照してください。 - .repomixignore:プロジェクトのルートに
.repomixignoreファイルを作成して、Repomix固有の除外パターンを定義できます。このファイルは.gitignoreと同じ形式です。 - カスタムパターン:設定ファイルの
ignore.customPatternsオプションを使って、追加の除外パターンを指定できます。この設定は、-i, --ignoreコマンドラインオプションで上書きできます。
優先順位(高い順):
- カスタムパターン(
ignore.customPatterns) - 除外ファイル(
.repomixignore、.ignore、.gitignore、.git/info/exclude):- 入れ子になったディレクトリでは、より深い階層にあるファイルが優先されます。
- 同じディレクトリにあるファイルは、特定の順序なしで統合されます。
- デフォルトパターン(
ignore.useDefaultPatternsがtrueで、--no-default-patternsが使用されていない場合)
この方法により、プロジェクトのニーズに応じて柔軟にファイルの除外設定を行えます。セキュリティ上機密性の高いファイルや大きなバイナリファイルを確実に除外し、機密情報の漏えいを防ぎながら、生成されるパックファイルのサイズを最適化できます。
注:バイナリファイルはデフォルトではパック出力に含まれませんが、そのパスは出力ファイルの「Repository Structure」セクションに記載されます。これにより、パックファイルを効率的なテキスト形式に保ちながら、リポジトリ構造の全体像を確認できます。
カスタム指示
output.instructionFilePath オプションを使用すると、プロジェクトに関する詳細な指示やコンテキストを記載した別ファイルを指定できます。これにより、AI システムがプロジェクト固有のコンテキストや要件を理解し、より関連性の高い、プロジェクトに合わせた分析や提案を行える可能性があります。
この機能の使用例を以下に示します。
- プロジェクトのルートに
repomix-instruction.mdという名前のファイルを作成します。
# Coding Guidelines
- Follow the Airbnb JavaScript Style Guide
- Suggest splitting files into smaller, focused units when appropriate
- Add comments for non-obvious logic. Keep all text in English
- All new features should have corresponding unit tests
# Generate Comprehensive Output
- Include all content without abbreviation, unless specified otherwise
- Optimize for handling large codebases while maintaining output quality
repomix.config.jsonにinstructionFilePathオプションを追加します。
{
"output": {
"instructionFilePath": "repomix-instruction.md",
// other options...
}
}
Repomix が出力を生成すると、専用のセクションに repomix-instruction.md の内容が含まれます。
注:指示の内容は出力ファイルの末尾に追加されます。この配置は、AI システムにとって特に効果的です。これが有益な理由について詳しく知りたい方は、Anthropic のドキュメントをご覧ください。
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips
長文データは先頭に配置してください。長いドキュメントや入力(約20Kトークン以上)は、クエリ、指示、例より前の、プロンプトの先頭付近に配置します。これにより、すべてのモデルで Claude の性能が大幅に向上する可能性があります。 テストでは、特に複数のドキュメントを含む複雑な入力の場合、クエリを末尾に配置すると応答の品質が最大30%向上することがあります。
コメントの削除
output.removeComments を true に設定すると、Repomix はサポート対象のファイル形式からコメントを削除しようとします。この機能により、出力ファイルのサイズを削減し、重要なコードの内容に集中できます。
サポート対象の言語は以下のとおりです。
HTML、CSS、JavaScript、TypeScript、Vue、Svelte、Python、PHP、Ruby、C、C#、Java、Go、Rust、Swift、Kotlin、Dart、Shell、YAML。
注:コメントの削除処理では、コードを誤って削除しないよう慎重に処理します。複雑なケースでは、一部のコメントが残ることがあります。
ファイルプロセッサー
input.processors は外部コマンドを実行し、ファイルの内容をパックする前に変換します。各エントリーは glob でファイルを対象にし(include/ignore と同様に照合)、一致したファイルの内容をコマンドの標準出力で置き換えます。JSON→TOON、SVG の圧縮、ノートブック→スクリプトへの変換など、トークン削減や形式変換に役立ちます。
{
"input": {
"processors": [
{ "pattern": "**/*.json", "command": "npx @toon-format/cli {file}" }
]
}
}
必須の {file} プレースホルダーは、ファイルの内容を保持する一時ファイルに置き換えられ、コマンドの標準出力が新しい内容になります。パターンは順番に評価され、最初に一致したものが適用されます(1 ファイルにつきプロセッサーは 1 つです)。各エントリーでは timeout(ミリ秒、デフォルトは 60000)と onError("fail" でパックを中止、デフォルト;"skip" で警告を出して元の内容を保持)も指定できます。
コマンドの例(それぞれ、適切な pattern と組み合わせる command の値です):
| パターン | command | 説明 |
|---|---|---|
**/*.json | jq -c . {file} | 空白を取り除いて JSON をコンパクト化します |
**/*.json | npx @toon-format/cli {file} | JSON を、トークン効率の高いコンパクトな形式である TOON に変換します |
**/*.svg | npx svgo -i {file} -o - | SVG を圧縮します |
**/*.ipynb | jupyter nbconvert --to script --stdout {file} | Jupyter ノートブックをプレーンな Python スクリプトに変換します |
各ファイルに適用するプロセッサーは 1 つだけにしてください(最初に一致したものが適用されます)。また、呼び出すツールが PATH 上にあることを確認してください(npx を使用するコマンドでは、初回実行時にツールがダウンロードされます)。
警告
ファイルプロセッサーは設定ファイルに記述された任意のコマンドを実行するため、実行はデフォルトで拒否されます。
- ローカルの CLI 実行でのみ有効です。この場合、Repomix は作業ディレクトリ内の設定をユーザー自身のものとみなします。これは npm スクリプトや Makefile と同じ信頼境界です。同様に、他者から入手したリポジトリ内で
repomixを実行すると、先にrepomix.config.jsonを確認していない場合、そのプロセッサーコマンドがマシン上で実行されます。信頼できないリポジトリをパックする前に、設定を確認してください。- ライブラリー API(
pack()/runCli())、MCP サーバー、およびホスト型サービスの repomix.com では無効です。- リモートリポジトリ(
--remote)の場合、クローンした設定とそのプロセッサーは、--remote-trust-configを明示的に渡した場合にのみ信頼されます。渡さない場合、リモート設定は読み込まれません。有効なプロセッサーは起動時とエラーメッセージに表示されるため、認証情報を直接記述するのではなく、環境変数(例:
$TOKEN)を参照してください。環境変数は展開されずにログに記録されます。タイムアウト時、Repomix はコマンドのシェルを終了しますが、コマンドが独自に長時間実行されるバックグラウンドプロセスを起動した場合、それらが実行されたままになることがあります。詳しくは設定ガイドを参照してください。
🔍 セキュリティチェック
Repomix には、Secretlint を使用してファイル内の機密情報の可能性があるものを検出する、セキュリティチェック機能が含まれています。この機能を使うと、リポジトリをパックして共有する前に、セキュリティ上の潜在的なリスクを特定できます。
セキュリティチェックの結果は、パック処理の完了後に CLI の出力に表示されます。不審なファイルが検出されると、警告メッセージとともに該当ファイルの一覧が表示されます。
出力例:
🔍 Security Check:
──────────────────
2 suspicious file(s) detected:
1. src/utils/test.txt
2. tests/utils/secretLintUtils.test.ts
Please review these files for potentially sensitive information.
デフォルトでは、Repomix のセキュリティチェック機能は有効です。設定ファイルで security.enableSecurityCheck を
false に設定すると、無効にできます。
{
"security": {
"enableSecurityCheck": false
}
}
または、コマンドラインオプション --no-security-check を使用します。
repomix --no-security-check
メモ
セキュリティチェックを無効にすると、機密情報が露出する可能性があります。このオプションは、テストファイルや認証情報の例を含むドキュメントを扱う場合など、必要なときに限り、慎重に使用してください。
リモートリポジトリの設定ファイルの信頼
repomix.config.* は単なるデータではなくコードです。.ts / .js の設定ファイルは読み込み時に実行され、input.processors は外部コマンドを実行し、パスオプションはリポジトリ外のファイルを読み込む場合があります。見慣れないリポジトリから設定ファイルを読み込むことは、そのリポジトリの Makefile を実行するのと同じようなものです。
そのため、クローンしたリポジトリの設定ファイルは、デフォルトでは読み込まれません。グローバル設定と CLI オプションは引き続き適用されます。
対話型ターミナルで --remote-trust-config(または REPOMIX_REMOTE_TRUST_CONFIG=true)を指定して許可すると、Repomix は実行予定の設定ファイルを表示し、読み込む前に確認を求めます。
- はい、今回のみ — 今回の実行に限って信頼します。
- はい、このリポジトリでは今後確認しない — この判断は内容に紐付けられます。承認した設定ファイルのハッシュが記録されるため、そのリポジトリで後に別の設定ファイルが提供された場合は再度確認されます(
direnv allowと同じ仕組みです)。 - いいえ(デフォルトの選択)— 設定ファイルを読み込まずに中止します。
表示される設定ファイルはリポジトリの作者が作成したものです。そのため、制御文字、ANSI 文字、双方向文字はエスケープされ、出力には上限が設けられ、すべての設定行にプレフィックスが付きます。また、クローン先の外を指すシンボリックリンク経由の設定ファイルは拒否されます。確認した内容がそのまま実行されます。
--force を指定した場合、CI などの非対話型シェルの場合(既存の自動化は引き続き動作します)、またはそのリポジトリを常に信頼するよう選択済みの場合は、確認はスキップされます。
重要
内容のピン留めの対象はエントリー設定ファイルのみです。.ts / .js の設定ファイルは他のファイルを
importでき、input.processorsは外部スクリプトを呼び出せます。これらはいずれもハッシュ化されません。「今後確認しない」は、確認したファイルだけでなく、リポジトリを信頼する選択として扱ってください。
信頼モデルの詳細については、セキュリティガイドをご覧ください。
🤖 GitHub Actions で Repomix を使用する
GitHub Actions のワークフローでも Repomix を使用できます。コードベースを AI 分析用にパッキングするプロセスを自動化する場合に便利です。
基本的な使い方:
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
style: xml
--style を使うと、異なる形式で出力を生成できます。
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.md
style: markdown
- name: Pack repository with Repomix (JSON format)
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.json
style: json
圧縮を使って特定のディレクトリをパッキングします。
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src tests
include: "**/*.ts,**/*.md"
ignore: "**/*.test.ts"
output: repomix-output.txt
compress: true
出力ファイルをアーティファクトとしてアップロードします。
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src
output: repomix-output.txt
compress: true
- name: Upload Repomix output
uses: actions/upload-artifact@v7
with:
name: repomix-output
path: repomix-output.txt
ワークフローの完全な例:
name: Pack repository with Repomix
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
pack-repo:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
- name: Upload Repomix output
uses: actions/upload-artifact@v7
with:
name: repomix-output.xml
path: repomix-output.xml
retention-days: 30
ワークフローの完全な例はこちらをご覧ください。
アクションの入力
| Name | Description | Default |
|---|---|---|
directories | 処理対象のディレクトリをスペース区切りで指定します(例:src tests docs) | . |
include | 対象ファイルの glob パターンをカンマ区切りで指定します(例:**/*.ts,**/*.md) | "" |
ignore | 除外するファイルの glob パターンをカンマ区切りで指定します(例:**/*.test.ts,**/node_modules/**) | "" |
output | パッキングしたファイルの相対パス(拡張子で形式が決まります:.txt、.md、.xml) | repomix-output.xml |
compress | 実装の詳細を削除して出力サイズを削減するスマート圧縮を有効にします | true |
style | 出力形式(xml、markdown、json、plain) | xml |
additional-args | repomix CLI に追加する生の引数(例:--no-file-summary --no-security-check) | "" |
repomix-version | インストールする npm パッケージのバージョン(semver 範囲、タグ、または 0.2.25 のような特定のバージョンを指定できます) | latest |
アクションの出力
| Name | Description |
|---|---|
output_file | 生成された出力ファイルのパスです。後続のステップで、アーティファクトのアップロード、LLM による処理、その他の操作に使用できます。ファイルには、指定したオプションに基づいて整形されたコードベースの表現が含まれます。 |
📚 ライブラリとして Repomix を使用する
Repomix は CLI ツールとして使用できるほか、Node.js アプリケーションのライブラリとしても使用できます。
インストール
npm install repomix
基本的な使い方
import { runCli, type CliOptions } from 'repomix';
// Process current directory with custom options
async function packProject() {
const options = {
output: 'output.xml',
style: 'xml',
compress: true,
quiet: true
} as CliOptions;
const result = await runCli(['.'], process.cwd(), options);
return result.packResult;
}
リモートリポジトリの処理
import { runCli, type CliOptions } from 'repomix';
// Clone and process a GitHub repo
async function processRemoteRepo(repoUrl) {
const options = {
remote: repoUrl,
output: 'output.xml',
compress: true
} as CliOptions;
return await runCli(['.'], process.cwd(), options);
}
コアコンポーネントの使用
より細かく制御する必要がある場合は、低レベル API を使用できます。
import { searchFiles, collectFiles, processFiles, TokenCounter } from 'repomix';
async function analyzeFiles(directory) {
// Find and collect files
const { filePaths } = await searchFiles(directory, { /* config */ });
const rawFiles = await collectFiles(filePaths, directory);
const processedFiles = await processFiles(rawFiles, { /* config */ });
// Count tokens
const tokenCounter = new TokenCounter('o200k_base');
// Return analysis results
return processedFiles.map(file => ({
path: file.path,
tokens: tokenCounter.countTokens(file.content)
}));
}
その他の例については、website/server/src/remoteRepo.ts のソースコードをご覧ください。repomix.com でこのライブラリがどのように使われているかを紹介しています。
バンドル
Rolldown や esbuild などのツールで repomix をバンドルする場合、一部の依存関係は外部のままにし、WASM ファイルをコピーする必要があります。
外部依存関係(バンドル不可):
tinypool- ファイルパスを使用してワーカースレッドを起動します
コピーが必要な WASM ファイル:
web-tree-sitter.wasm→ バンドルされた JS と同じディレクトリ(コード圧縮機能に必要)- Tree-sitter の言語ファイル →
REPOMIX_WASM_DIR環境変数で指定されたディレクトリ
動作する例については、website/server/scripts/bundle.mjs をご覧ください。
🌍 コミュニティプロジェクト
Repomix コミュニティが構築した素晴らしいプロジェクトをご覧ください!
- Repomix Runner - AI 処理用にファイルを単一の出力へまとめる VSCode 拡張機能
- Repomix Desktop - Python と CustomTkinter で構築された、Repomix 用の GUI デスクトップアプリケーション
- Python Repomix - AST ベースの圧縮機能を備えた Python 実装
- Rulefy - Claude AI を使用して GitHub リポジトリをカスタム Cursor AI ルールに変換
- Codebase MCP - AI によるコードベース分析に Repomix を使用する MCP サーバー
- vibe-tools - ウェブ検索、リポジトリ分析、ブラウザー自動化機能を備えた AI エージェント用 CLI ツールセット
詳しくは、コミュニティプロジェクトのページをご覧ください。
🤝 貢献
コミュニティからの貢献を歓迎します!始めるには、貢献ガイドをご覧ください。
貢献者
🔒 プライバシーポリシー
プライバシーポリシーをご覧ください。
📜 ライセンス
このプロジェクトはMIT ライセンスの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
