Skip to content

基本的な使い方

クイックスタート

リポジトリ全体をパッケージ化:

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

詳細なオプションについては設定ガイドを参照してください。

Released under the MIT License.