Режим наблюдения
Repomix может наблюдать за вашей кодовой базой и автоматически переупаковывать её при каждом изменении файлов. Это поддерживает выходной файл в актуальном состоянии во время работы, что удобно, когда вы хотите передавать ИИ-ассистенту постоянно обновляемый снимок.
Использование
Запустите режим наблюдения с помощью флага -w (или --watch):
repomix --watchRepomix выполняет первоначальную упаковку, затем продолжает работать и переупаковывает при каждом изменении. Вы можете сочетать режим наблюдения с обычными опциями:
# Наблюдать за определённым набором файлов
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 завершит работу с ошибкой, объясняющей конфликт.
Связанные ресурсы
- Параметры командной строки - Полный справочник по CLI, включая
--watch - Базовое использование - Другие способы запуска Repomix
- Конфигурация - Установка выходных опций по умолчанию в файле конфигурации