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는 코드베이스를 한 번 패킹한 다음, 감시 중인 파일 수를 보고합니다.
  • 변경 감지: 새로 추가되거나, 변경되거나, 삭제된 파일 모두 다시 패킹을 트리거합니다.
  • 디바운싱: 짧은 시간에 몰리는 변경(예: 브랜치 전환이나 여러 파일을 한꺼번에 저장하는 경우)은 하나로 합쳐집니다. 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.