Skip to content

ウォッチモード

Repomix はコードベースを監視し、ファイルが変更されるたびに自動的に再パックできます。作業中も出力ファイルを最新に保てるため、継続的に更新されるスナップショットを AI アシスタントに渡したい場合に便利です。

使い方

-w(または --watch)フラグでウォッチモードを開始します。

bash
repomix --watch

Repomix はまず一度パックし、その後も実行を続けて変更のたびに再パックします。通常のオプションと組み合わせることもできます。

bash
# 特定のファイルだけを監視
repomix -w --include "src/**/*.ts"

# 出力ファイルと形式を指定して監視
repomix --watch -o output.md --style markdown

監視を停止するには Ctrl+C を押します。

動作の仕組み

  • 初回パック: Repomix はコードベースを一度パックし、監視中のファイル数を表示します。
  • 変更検出: 新規・変更・削除されたファイルがいずれも再パックのトリガーになります。
  • デバウンス: 短時間に連続する変更(ブランチの切り替えや一括保存など)はまとめられます。最後の変更から 300 ms 待ってから再パックするため、立て続けの編集でも再構築は1回にまとまります。
  • タイムスタンプ: 再構築のたびに Repomix はタイムスタンプ(Rebuilt at HH:MM:SS)を表示するので、出力が最後に更新された時刻が分かります。

無視されるファイル

ウォッチモードは通常実行と同じ無視ルールに従います。.gitignore.repomixignore、組み込みのデフォルトパターン(node_modules.git など)、および --ignore で渡したパターンを尊重します。無視されるディレクトリは監視対象から外れるため、大規模プロジェクトでもウォッチモードは効率的に動作します。

オプションの互換性

ウォッチモードはローカルディレクトリでのみ動作するため、次のオプションとは併用できません(コマンドラインで指定した場合でも設定ファイルで指定した場合でも同様です)。

  • --remote および引数として渡すリモートリポジトリ URL — ウォッチモードはローカル専用です
  • --stdout および --stdin — ストリーミングモードには更新対象となる永続的な出力ファイルがありません
  • --split-output
  • --skill-generate
  • --copy — 変更のたびに再パックするとクリップボードを繰り返し上書きしてしまいます

これらのいずれかを --watch と併用すると、Repomix は競合を説明するエラーを表示して終了します。

関連リソース

Released under the MIT License.