Repomix

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

📦 Repomix は、リポジトリ全体を 1 つの AI 対応ファイルにまとめる強力なツールです。
これは、コードベースを大規模言語モデル (LLM) や、Claude、ChatGPT、DeepSeek、Perplexity、Gemini、Gemma、Llama、Grok などの他の AI ツールにフィードする必要がある場合に最適です。

🎉 新機能: Repomix ウェブサイトと Discord コミュニティ!

  • repomix.comでブラウザから Repomix をお試しください
  • サポートとディスカッションのためにDiscord サーバーに参加してください

皆様にお会いできるのを楽しみにしております!

🌟 特徴

  • AI 最適化: AI が理解して処理しやすい方法でコードベースをフォーマットします。
  • トークン カウント: 各ファイルとリポジトリ全体のトークン カウントを提供します。LLM コンテキスト制限に役立ちます。
  • 使い方は簡単: リポジトリ全体をパックするには、コマンドを 1 つだけ実行します。
  • カスタマイズ可能: 何を含めるか、何を除外するかを簡単に設定できます。
  • Git 対応: .gitignoreファイルと.git/info/exclude自動的に尊重します。
  • セキュリティ重視: 強力なセキュリティ チェックを実現するSecretlintを組み込んでおり、機密情報の混入を検出して防止します。
  • コード圧縮: --compressオプションはTree-sitterを使用して主要なコード要素を抽出し、構造を維持しながらトークン数を削減します。

🚀 クイックスタート

CLIツールの使用>_

インストールせずにプロジェクト ディレクトリで Repomix をすぐに試すことができます。

npx repomix

または、繰り返し使用するためにグローバルにインストールします。

# Install using npm npm install -g repomix # Alternatively using yarn yarn global add repomix # Alternatively using Homebrew (macOS/Linux) brew install repomix # Then run in any project directory repomix

これで完了です。Repomix は、リポジトリ全体を AI 対応形式で含むrepomix-output.xmlファイルを現在のディレクトリに生成します。

次に、次のようなプロンプトを使用して、このファイルを 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's Artifactsのような機能を使えば、複数のファイルを出力し、相互に依存する複数のコードを生成することも可能になります。

楽しいコーディングを!🚀

ウェブサイトの使用🌐

すぐに試してみたい方は、公式ウェブサイトrepomix.comにアクセスしてください。リポジトリ名を入力し、必要に応じて詳細を入力し、 **「Pack」**ボタンをクリックするだけで、生成された出力を確認できます。

利用可能なオプション

ウェブサイトには便利な機能がいくつか用意されています:

  • カスタマイズ可能な出力形式(XML、Markdown、またはプレーンテキスト)
  • トークン数の即時推定
  • その他にも多数!

VSCode拡張機能の使用⚡️

コミュニティによってメンテナンスされているVSCode拡張機能「Repomix Runner 」( massdo氏作成)を使えば、わずか数クリックでエディター内でRepomixを実行できます。任意のフォルダーで実行でき、出力をシームレスに管理し、VSCodeの直感的なインターフェースからすべてを制御できます。

出力をファイルとして保存したいですか?それともコンテンツだけを残したいですか?自動クリーンアップが必要ですか?この拡張機能がお手伝いします。さらに、既存のrepomix.config.jsonとスムーズに連携します。

VSCode マーケットプレイスで今すぐお試しください。ソースコードは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

出力を圧縮するには:

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 などの Generative 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ツール
  • 彼らが発見した効果的なプロンプト
  • レポミックスがどのように彼らを助けたか
  • 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タグは大きな効果を発揮します。XMLタグはClaudeがプロンプトをより正確に解析するのに役立ち、より高品質な出力を実現します。

つまり、Repomix からの XML 出力は単なる異なる形式ではなく、コードベースを AI システムに送り込んで分析やコードレビューなどのタスクを行うための、より効果的な方法となる可能性があります。

マークダウン形式

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 システムによって簡単に解析できる、クリーンで読みやすい構造を提供します。

プレーンテキスト形式

プレーンテキスト形式で出力を生成するには、 --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 : ツールのバージョンを表示

出力オプション

  • -o, --output <file> : 出力ファイル名を指定する
  • --style <style> : 出力スタイルを指定する ( xmlmarkdownplain )
  • --parsable-style : 選択したスタイルスキーマに基づいて解析可能な出力を有効にします。トークン数が増加する可能性があることに注意してください。
  • --compress : 重要な関数とクラスのシグネチャに焦点を当ててインテリジェントなコード抽出を実行し、トークン数を削減します。
  • --output-show-line-numbers : 出力に行番号を表示する
  • --copy : 生成された出力をシステムクリップボードにコピーします
  • --no-file-summary : ファイルサマリーセクションの出力を無効にする
  • --no-directory-structure : ディレクトリ構造セクションの出力を無効にする
  • --remove-comments : サポートされているファイルタイプからコメントを削除します
  • --remove-empty-lines : 出力から空行を削除する
  • --header-text <text> : ファイルヘッダーに含めるカスタムテキスト
  • --instruction-file-path <path> : 詳細なカスタム指示を含むファイルへのパス
  • --include-empty-directories : 出力に空のディレクトリを含める
  • --no-git-sort-by-changes : Gitの変更数によるファイルのソートを無効にする(デフォルトで有効)

フィルターオプション

  • --include <patterns> : インクルードパターンのリスト(カンマ区切り)
  • -i, --ignore <patterns> : 追加の無視パターン(カンマ区切り)
  • --no-gitignore : .gitignore ファイルの使用を無効にする
  • --no-default-patterns : デフォルトのパターンを無効にする

リモートリポジトリオプション

  • --remote <url> : リモートGitリポジトリを処理する
  • --remote-branch <name> : リモートブランチ名、タグ、またはコミットハッシュを指定します(デフォルトはリポジトリのデフォルトブランチ)

設定オプション

  • -c, --config <path> : カスタム設定ファイルへのパス
  • --init : 設定ファイルを作成する
  • --global : グローバル設定を使用する

セキュリティオプション

  • --no-security-check : セキュリティチェックを無効にする

トークンカウントオプション

  • --token-count-encoding <encoding> : OpenAIのtiktokenトークナイザーで使用されるトークンカウントエンコーディングを指定します(例:GPT-4oの場合はo200k_base 、GPT-4/3.5の場合はcl100k_base )。エンコーディングの詳細については、 tiktoken model.pyを参照してください。

MCP

その他のオプション

  • --top-files-len <number> : サマリーに表示する上位ファイルの数
  • --verbose : 詳細なログを有効にする
  • --quiet : 標準出力へのすべての出力を無効にする

例:

repomix -o custom-output.txt repomix -i "*.log,tmp" -v repomix -c ./custom-config.json repomix --style xml repomix --remote https://github.com/user/repo npx repomix src

Repomix の更新

グローバルにインストールされた Repomix を更新するには:

# Using npm npm update -g repomix # Using yarn yarn global upgrade repomix

常に最新バージョンが使用されるため、 npx repomix使用する方が通常は便利です。

リモートリポジトリ処理

Repomix は、手動でクローンを作成することなく、リモート Git リポジトリの処理をサポートします。この機能により、単一のコマンドで、あらゆるパブリック Git リポジトリを迅速に分析できます。

リモート リポジトリを処理するには、 --remoteオプションに続けてリポジトリ URL を指定します。

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

コード圧縮

--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; }

[!NOTE] これは実験的な機能であり、ユーザーからのフィードバックと実際の使用状況に基づいて積極的に改善していきます。

MCP サーバー統合

Repomixはモデルコンテキストプロトコル(MCP)をサポートしており、AIアシスタントがコードベースに直接アクセスできるようにします。MCPサーバーとして実行すると、RepomixはAIアシスタントがローカルまたはリモートのリポジトリをパッケージ化して分析できるようにするツールを提供します。これらのツールにより、手動でファイルを準備する必要はありません。

repomix --mcp

MCP サーバーの構成

Claude のような AI アシスタントを備えた MCP サーバーとして Repomix を使用するには、MCP 設定を構成する必要があります。

VS Codeの場合:

次のいずれかの方法を使用して、VS Code に Repomix MCP サーバーをインストールできます。

  1. インストールバッジの使用:
  2. コマンドラインの使用:
    code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
    VS Code Insider 向け:
    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 Settings > MCP > + Add new global MCP serverます。

Claude Desktopの場合:

Cline の設定と同様の設定でclaude_desktop_config.jsonファイルを編集します。

設定が完了すると、AI アシスタントは Repomix の機能を直接使用して、手動でファイルを準備することなくコードベースを分析できるようになり、コード分析ワークフローがより効率的になります。

利用可能なMCPツール

MCP サーバーとして実行する場合、Repomix は次のツールを提供します。

  1. pack_codebase : ローカルコードディレクトリをAI分析用の統合ファイルにパッケージ化します
  • パラメータ:
    • directory : パックするディレクトリへの絶対パス
    • compress : (オプション、デフォルト: true) インテリジェントコード抽出を実行するかどうか
    • includePatterns : (オプション) カンマ区切りの include パターンのリスト
    • ignorePatterns : (オプション) 無視パターンのコンマ区切りリスト
  1. pack_remote_repository : GitHub リポジトリを取得、クローン、パッケージ化する
  • パラメータ:
    • remote : GitHubリポジトリのURLまたはユーザー/リポジトリ形式(例:yamadashy/repomix)
    • compress : (オプション、デフォルト: true) インテリジェントコード抽出を実行するかどうか
    • includePatterns : (オプション) カンマ区切りの include パターンのリスト
    • ignorePatterns : (オプション) 無視パターンのコンマ区切りリスト
  1. read_repomix_output : 直接ファイルにアクセスできない環境でRepomix出力ファイルの内容を読み取ります
  • パラメータ:
    • outputId : 読み取るRepomix出力ファイルのID
  • 特徴:
    • Webベースの環境やサンドボックスアプリケーション向けに特別に設計されています
    • IDを使用して、以前に生成された出力の内容を取得します。
    • ファイルシステムへのアクセスを必要とせずに、パックされたコードベースへの安全なアクセスを提供します。
  1. file_system_read_file : セキュリティ検証付きの絶対パスを使用してファイルを読み取る
  • パラメータ:
    • path : 読み込むファイルへの絶対パス
  • セキュリティ機能:
    • Secretlintを使用してセキュリティ検証を実装する
    • 機密情報を含むファイルへのアクセスを防止します
    • ディレクトリトラバーサル攻撃を防ぐために絶対パスを検証します
  1. file_system_read_directory : 絶対パスを使用してディレクトリの内容を一覧表示する
  • パラメータ:
    • path : リストするディレクトリへの絶対パス
  • 特徴:
    • ファイルとディレクトリを明確なインジケータで表示します( [FILE]または[DIR]
    • 適切なエラー処理による安全なディレクトリトラバーサルを提供します
    • パスを検証し、絶対パスであることを確認します

⚙️ 構成

カスタム構成用に、プロジェクト ルートにrepomix.config.jsonファイルを作成します。

repomix --init

設定オプションの説明は次のとおりです。

オプション説明デフォルト
output.filePath出力ファイルの名前"repomix-output.xml"
output.style出力のスタイル( xmlmarkdownplain"xml"
output.parsableStyle選択したスタイルスキーマに基づいて出力をエスケープするかどうか。これによりトークン数が増加する可能性があることに注意してください。false
output.compressトークン数を減らすためにインテリジェントコード抽出を実行するかどうかfalse
output.headerTextファイルヘッダーに含めるカスタムテキストnull
output.instructionFilePath詳細なカスタム指示を含むファイルへのパスnull
output.fileSummary出力の先頭に要約セクションを含めるかどうかtrue
output.directoryStructure出力にディレクトリ構造を含めるかどうかtrue
output.removeCommentsサポートされているファイル形式からコメントを削除するかどうかfalse
output.removeEmptyLines出力から空行を削除するかどうかfalse
output.showLineNumbers出力の各行に行番号を追加するかどうかfalse
output.copyToClipboardファイルを保存するだけでなく、出力をシステムクリップボードにコピーするかどうかfalse
output.topFilesLengthサマリーに表示する上位ファイルの数。0に設定するとサマリーは表示されません。5
output.includeEmptyDirectoriesリポジトリ構造に空のディレクトリを含めるかどうかfalse
output.git.sortByChangesgit の変更数でファイルを並べ替えるかどうか(変更の多いファイルは下に表示されます)true
output.git.sortByChangesMaxCommitsGit の変更を分析するコミットの最大数100
include含めるファイルのパターン( globパターンを使用)[]
ignore.useGitignoreプロジェクトの.gitignoreファイルのパターンを使用するかどうかtrue
ignore.useDefaultPatternsデフォルトの無視パターンを使用するかどうかtrue
ignore.customPatterns無視する追加パターン( globパターンを使用)[]
security.enableSecurityCheckファイルのセキュリティチェックを実行するかどうかtrue
tokenCount.encodingOpenAIのtiktokenトークナイザーで使用されるトークンカウントエンコーディング(例:GPT-4oの場合はo200k_base 、GPT-4/3.5の場合はcl100k_base )。エンコーディングの詳細については、 tiktoken model.pyを参照してください。"o200k_base"

構成ファイルはJSON5構文をサポートしており、次のことが可能です。

  • コメント(1行と複数行の両方)
  • オブジェクトと配列の末尾のカンマ
  • 引用符で囲まれていないプロパティ名
  • より緩和された文字列構文

構成例:

{ "output": { "filePath": "repomix-output.xml", "style": "xml", "parsableStyle": true, "compress": false, "headerText": "Custom header information for the packed file.", "fileSummary": true, "directoryStructure": true, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "copyToClipboard": true, "topFilesLength": 5, "includeEmptyDirectories": false, "git": { "sortByChanges": true, "sortByChangesMaxCommits": 100 } }, "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-gitignore CLI オプションで制御できます。
  • デフォルトパターン:Repomix には、一般的に除外されるファイルとディレクトリ(例:node_modules、.git、バイナリファイル)のデフォルトリストが含まれています。この機能は、 ignore.useDefaultPatterns設定または CLI オプション--no-default-patternsで制御できます。詳細はdefaultIgnore.tsをご覧ください。
  • .repomixignore : プロジェクトルートに.repomixignoreファイルを作成して、Repomix 固有の無視パターンを定義できます。このファイルは.gitignoreと同じ形式です。
  • カスタムパターン: 設定ファイルのignore.customPatternsオプションを使用して、追加の無視パターンを指定できます。この設定は、コマンドラインオプション-i, --ignoreで上書きできます。

優先順位(最高から最低の順):

  1. カスタムパターンignore.customPatterns
  2. .repomixignore
  3. .gitignoreおよび.git/info/exclude ( ignore.useGitignoreが true で、 --no-gitignoreが使用されていない場合)
  4. デフォルトのパターン( ignore.useDefaultPatternsがtrueで、 --no-default-patternsが使用されていない場合)

このアプローチにより、プロジェクトのニーズに応じて柔軟なファイル除外設定が可能になります。セキュリティ上重要なファイルや大きなバイナリファイルを除外することで、生成されるパックファイルのサイズを最適化し、機密情報の漏洩を防ぎます。

注: デフォルトではバイナリファイルはパックされた出力に含まれませんが、出力ファイルの「リポジトリ構造」セクションにそのパスがリストされます。これにより、パックされたファイルは効率的でテキストベースの形式を維持しながら、リポジトリ構造の全体像を把握できます。

カスタム指示

output.instructionFilePathオプションを使用すると、プロジェクトに関する詳細な指示やコンテキストを含む別のファイルを指定できます。これにより、AIシステムはプロジェクトの具体的なコンテキストと要件を理解し、より適切でカスタマイズされた分析や提案を行えるようになります。

この機能の使用方法の例を次に示します。

  1. プロジェクト ルートに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
  1. repomix.config.jsoninstructionFilePathオプションを追加します。
{ "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

長文データを先頭に配置する:長文のドキュメントや入力(約2万トークン以上)は、プロンプトの上部、クエリ、説明、例の上に配置してください。これにより、Claude のすべてのモデルのパフォーマンスが大幅に向上します。クエリを末尾に配置すると、特に複雑な複数ドキュメントの入力の場合、テストでの応答品質が最大30%向上します。

コメントの削除

output.removeCommentstrueに設定されている場合、Repomix はサポートされているファイル形式からコメントを削除しようとします。この機能により、出力ファイルのサイズを縮小し、重要なコードコンテンツに集中できるようになります。

サポートされている言語は次のとおりです:
HTML、CSS、JavaScript、TypeScript、Vue、Svelte、Python、PHP、Ruby、C、C#、Java、Go、Rust、Swift、Kotlin、Dart、Shell、YAML。

注: コメントの削除プロセスは、誤ってコードを削除してしまうのを防ぐため、慎重に行われます。複雑なケースでは、一部のコメントが残されることがあります。

🔍 セキュリティチェック

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.enableSecurityCheckfalseに設定することで無効にできます。

{ "security": { "enableSecurityCheck": false } }

または、 --no-security-checkコマンドライン オプションを使用します。

repomix --no-security-check

[!NOTE] セキュリティチェックを無効にすると、機密情報が漏洩する可能性があります。このオプションは慎重に使用し、必要な場合にのみ使用してください。例えば、テストファイルやサンプルの資格情報を含むドキュメントを扱う場合などです。

🤝 貢献

コミュニティからの貢献を歓迎します。始めるには、貢献ガイドを参照してください。

寄稿者

🔒 プライバシーポリシー

Repomix CLI ツール

  • データ収集: Repomix CLI ツールは、ユーザー データ、テレメトリ、リポジトリ情報を収集、送信、または保存しません
  • ネットワークの使用:Repomix CLIはインストール後、完全にオフラインで動作します。インターネット接続が必要なのは、以下の場合のみです。
    • npm/yarn 経由でインストールします。
    • --remoteフラグを使用してリモート リポジトリを処理します。
    • 更新を確認しています (手動でトリガー)。
  • セキュリティに関する考慮事項: すべての処理はローカルで行われるため、Repomix CLI はプライベート リポジトリや内部リポジトリでも安全に使用できます。

レポミックスウェブサイト( repomix.com

  • データ収集:Repomixウェブサイトでは、 Google Analyticsを使用して、ページビューやユーザーインタラクションなどの使用状況データを収集しています。これは、ウェブサイトの利用状況を把握し、ユーザーエクスペリエンスを向上させるために役立てられています。

免責事項

Repomix (CLI ツールと Web サイトの両方) は、いかなる保証も保証もなく「現状のまま」提供されます。
当社は、生成された出力の使用方法(その正確性、合法性、またはその使用から生じる可能性のある結果を含みますが、これらに限定されません)については責任を負いません。

📜 ライセンス

このプロジェクトはMIT ライセンスに基づいてライセンスされています。

-
security - not tested
A
license - permissive license
-
quality - not tested

Repomix MCP Server を使用すると、ローカルまたはリモートのリポジトリを最適化された単一ファイルにパッケージ化し、Tree-sitter によるインテリジェントな圧縮によりコード構造と重要な署名を保持しながらトークンの使用を大幅に削減することで、AI モデルがコードベースを効率的に分析できるようになります。

  1. 🌟 Features
    1. 🚀 Quick Start
      1. Using the CLI Tool >_
      2. Using The Website 🌐
      3. Using The VSCode Extension ⚡️
      4. Alternative Tools 🛠️
    2. 📊 Usage
      1. Docker Usage 🐳
      2. Prompt Examples
      3. Community Discussion
      4. Output File Format
      5. Command Line Options
      6. Updating Repomix
      7. Remote Repository Processing
      8. Code Compression
      9. MCP Server Integration
    3. ⚙️ Configuration
      1. Global Configuration
      2. Include and Ignore
      3. Custom Instruction
      4. Comment Removal
    4. 🔍 Security Check
      1. 🤝 Contribution
        1. Contributors
      2. 🔒 Privacy Policy
        1. Repomix CLI Tool
        2. Repomix Website (repomix.com)
        3. Liability Disclaimer
      3. 📜 License
        ID: lczqcx54uv