Skip to content

コマンドラインオプション

基本オプション

  • -v, --version: バージョン情報を表示して終了

CLI入出力オプション

  • --verbose: 詳細なデバッグログを有効化(ファイル処理、トークン数、設定詳細を表示)
  • --quiet: エラー以外のすべてのコンソール出力を抑制(スクリプト実行時に有用)
  • --stdout: パックした出力をファイルではなく標準出力に直接出力(すべてのログを抑制)
  • --stdin: Stdinから1行ずつファイルパスを読み取り(指定されたファイルを直接処理)
  • --copy: 処理後に生成された出力をシステムクリップボードにコピー
  • --token-count-tree [threshold]: トークン数付きファイルツリーを表示;オプションでN以上のトークンを持つファイルのみ表示(例:--token-count-tree 100)
  • --top-files-len <number>: サマリーに表示する最大ファイル数(デフォルト:5、例:--top-files-len 20)

Repomix出力オプション

  • -o, --output <file>: 出力ファイルパス(デフォルト:repomix-output.xml、標準出力には「-」を使用)
  • --style <type>: 出力形式:xml、markdown、json、またはplain(デフォルト:xml)
  • --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>: 出力に含めるカスタム指示を含むファイルのパス
  • --include-empty-directories: ディレクトリ構造にファイルのないフォルダを含める
  • --no-git-sort-by-changes: Git変更頻度によるファイルのソートをしない(デフォルト:最も変更の多いファイルを優先)
  • --include-diffs: ワークツリーとステージングされた変更を示すgit diffセクションを追加
  • --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-default-patterns: 組み込みの無視パターンを適用しない(node_modules、.git、buildディレクトリなど)

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

  • --remote <url>: リモートリポジトリをクローンしてパック(GitHub URLまたはuser/repo形式)
  • --remote-branch <name>: 使用する特定のブランチ、タグ、またはコミット(デフォルト:リポジトリのデフォルトブランチ)

設定オプション

  • -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)

MCPオプション

  • --mcp: AI ツール統合用のModel Context Protocolサーバーとして実行

使用例

bash
# 基本的な使用方法
repomix

# カスタム出力ファイルと形式
repomix -o my-output.xml --style xml

# 標準出力への出力
repomix --stdout > custom-output.txt

# 標準出力への出力後、他のコマンドへパイプ(例:simonw/llm)
repomix --stdout | llm "このコードについて説明してください"

# 圧縮を使用したカスタム出力
repomix --compress

# Git統合機能
repomix --include-logs   # Gitログを含める(デフォルトで50コミット)
repomix --include-logs --include-logs-count 10  # 最新10コミットを含める
repomix --include-diffs --include-logs  # 差分とログの両方を含める

# パターンを使用して特定のファイルを処理
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"

# ブランチを指定したリモートリポジトリ
repomix --remote https://github.com/user/repo/tree/main

# コミットを指定したリモートリポジトリ
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1

# ショートハンドを使用したリモートリポジトリ
repomix --remote user/repo

# stdinを使用したファイルリスト
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

# トークン数分析
repomix --token-count-tree
repomix --token-count-tree 1000  # 1000以上のトークンを持つファイル/ディレクトリのみを表示

Released under the MIT License.