Skip to content

Режим наблюдения

Repomix может наблюдать за вашей кодовой базой и автоматически переупаковывать её при каждом изменении файлов. Это поддерживает выходной файл в актуальном состоянии во время работы, что удобно, когда вы хотите передавать ИИ-ассистенту постоянно обновляемый снимок.

Использование

Запустите режим наблюдения с помощью флага -w (или --watch):

bash
repomix --watch

Repomix выполняет первоначальную упаковку, затем продолжает работать и переупаковывает при каждом изменении. Вы можете сочетать режим наблюдения с обычными опциями:

bash
# Наблюдать за определённым набором файлов
repomix -w --include "src/**/*.ts"

# Наблюдать с указанием выходного файла и формата
repomix --watch -o output.md --style markdown

Нажмите Ctrl+C, чтобы остановить наблюдение.

Как это работает

  • Первоначальная упаковка: Repomix один раз упаковывает кодовую базу, затем сообщает, за сколькими файлами он наблюдает.
  • Обнаружение изменений: новые, изменённые и удалённые файлы вызывают переупаковку.
  • Дебаунсинг: быстрые серии изменений (например, переключение веток или сохранение множества файлов сразу) объединяются. Repomix ждёт 300 ms после последнего изменения перед переупаковкой, поэтому множество правок приводит к единственной пересборке.
  • Временные метки: после каждой пересборки 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.