基本的な使い方
クイックスタート
リポジトリ全体をパッケージ化:
bash
repomix
一般的な使用例
特定のディレクトリをパッケージ化
bash
repomix path/to/directory
特定のファイルを含める
glob パターンを使用:
bash
repomix --include "src/**/*.ts,**/*.md"
ファイルを除外
bash
repomix --ignore "**/*.log,tmp/"
リモートリポジトリ
bash
# GitHub URLを使用
repomix --remote https://github.com/user/repo
# ショートハンドを使用
repomix --remote user/repo
# 特定のブランチ/タグ/コミット
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695
ファイルリスト入力(stdin)
究極の柔軟性でファイルパスをstdin経由で渡します:
bash
# findコマンドを使用
find src -name "*.ts" -type f | repomix --stdin
# gitを使用してトラッキングされているファイルを取得
git ls-files "*.ts" | repomix --stdin
# ripgrep (rg) を使用してファイルを検索
rg --files --type ts | repomix --stdin
# grepを使用して特定の内容を含むファイルを検索
grep -l "TODO" **/*.ts | repomix --stdin
# ripgrepを使用して特定の内容を含むファイルを検索
rg -l "TODO|FIXME" --type ts | repomix --stdin
# sharkdp/fd を使用してファイルを検索
fd -e ts | repomix --stdin
# fzfを使用してすべてのファイルから選択
fzf -m | repomix --stdin
# fzfを使用したインタラクティブなファイル選択
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# globパターンを使用したls
ls src/**/*.ts | repomix --stdin
# ファイルパスが含まれるファイルから
cat file-list.txt | repomix --stdin
# echoで直接入力
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
--stdin
オプションを使用すると、Repomixにファイルパスのリストをパイプできるため、どのファイルをパッケージ化するかの選択において究極の柔軟性が得られます。
--stdin
で指定されたファイルは、実質的にincludeパターンに追加されます。つまり、通常のincludeおよびignoreの動作と同じで、stdinで指定したファイルもignoreパターンに一致する場合は除外されます。
NOTE
--stdin
を使用する場合、ファイルパスは相対パスまたは絶対パスのどちらでも指定でき、Repomixが自動的にパス解決と重複除去を処理します。
コード圧縮
bash
repomix --compress
# リモートリポジトリでも使用可能:
repomix --remote yamadashy/repomix --compress
トークン数最適化
コードベースのトークン分布を理解することは、AIとの対話を最適化するために重要です。--token-count-tree
オプションを使用して、プロジェクト全体のトークン使用量を視覚化できます:
bash
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)
最小トークン閾値を設定して、大きなファイルに焦点を当てることもできます:
bash
repomix --token-count-tree 1000 # 1000以上のトークンを持つファイル/ディレクトリのみを表示
これにより以下のことが可能になります:
- トークンの多いファイルを特定 - AIのコンテキスト制限を超える可能性があるファイルを発見
- ファイル選択を最適化 -
--include
と--ignore
パターンを使用した最適化 - 圧縮戦略を計画 - 最大の要因をターゲットにした戦略立案
- コンテンツとコンテキストのバランス - AI分析用のコード準備時のバランス調整
出力形式
XML(デフォルト)
bash
repomix --style xml
Markdown
bash
repomix --style markdown
プレーンテキスト
bash
repomix --style plain
その他のオプション
コメントを削除
bash
repomix --remove-comments
行番号を表示
bash
repomix --output-show-line-numbers
クリップボードにコピー
bash
repomix --copy
セキュリティチェックを無効化
bash
repomix --no-security-check
設定
設定ファイルを初期化:
bash
repomix --init
詳細なオプションについては設定ガイドを参照してください。