Repomix
저장소 전체를 AI 가 읽을 파일 하나로 묶는 도구
npx repomix저장소를 AI 가 읽기 좋은 파일 하나로 묶는 도구입니다. 무시 규칙과 토큰 집계, 비밀값 검사까지 함께 돌려 붙여넣을 분량을 가늠하게 해 줍니다. MCP 서버 모드도 있어 에이전트가 직접 호출할 수 있습니다.
판단
이럴 때 씁니다
- 저장소 전체를 모델에 한 번에 읽히고 싶을 때
- 붙여넣기 전에 토큰 분량을 미리 가늠해야 할 때
- 비밀값이 섞여 들어가지 않았는지 확인하고 싶을 때
- 에이전트가 MCP 로 코드베이스를 직접 묶어 읽게 하고 싶을 때
이럴 땐 쓰지 마세요
- 저장소가 너무 커서 어차피 한 번에 넣을 수 없을 때. 이 경우 검색형 도구가 맞습니다
- 에이전트가 이미 파일 탐색 도구를 잘 쓰고 있을 때
- 특정 파일 몇 개만 필요한 작업일 때
차별점
- 토큰 집계를 함께 내어 넣을 분량을 판단하게 해 줍니다.
- 비밀값 검사를 기본 흐름에 포함합니다.
- MCP 서버 모드와 샌드박스 제한을 제공합니다.
- npx, 전역 설치, Homebrew, Docker 로 설치 경로가 넓습니다.
워크플로
- 01프로젝트 폴더에서 npx repomix 를 실행합니다.
- 02출력 파일의 토큰 집계를 보고 넣을 범위를 조정합니다.
- 03무시 규칙으로 빌드 산출물과 대용량 파일을 걷어냅니다.
- 04에이전트가 직접 쓰게 하려면 MCP 모드로 띄우고 sandbox 플래그로 작업 폴더를 묶습니다.
주요 명령
| 명령 | 설명 |
|---|---|
npx repomix | 현재 폴더를 하나의 출력 파일로 묶습니다. |
npm install -g repomix | 전역 설치합니다. |
repomix --mcp --sandbox | MCP 서버로 띄우고 작업 폴더 밖 접근을 막습니다. |
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix | 설치 없이 컨테이너로 실행합니다. |
함정
설치 전에 확인하세요
- MCP 모드는 기본적으로 호스트 사용자가 읽을 수 있는 모든 경로를 읽습니다. 노출된 환경이라면 --sandbox 를 반드시 켜야 합니다.
- 비밀값 검사는 보조 수단입니다. 검사를 통과했다고 안전하다고 단정하면 안 됩니다.
- 출력 파일이 커지면 그대로 붙여넣기 어려우니 무시 규칙을 먼저 다듬는 편이 좋습니다.
비교
코드베이스를 통째로 넘기는 접근은 컨텍스트가 넉넉할 때 잘 듣습니다. 반대로 저장소가 크면 검색과 인덱스를 쓰는 도구가 맞습니다. Repomix 의 값어치는 묶기 자체보다 토큰 집계와 비밀값 검사를 같은 명령에 붙여 둔 데 있습니다.
최근 변경
v1.18.0 에서 MCP 서버에 샌드박스 모드를 넣었습니다. --sandbox 를 켜면 모든 경로가 작업 루트 기준 상대 경로로 해석되고 절대 경로와 상위 참조, 윈도 드라이브 표기가 거부됩니다. 결과와 오류 메시지에서 호스트 경로가 드러나지 않도록 가상화하며 읽기 전용 도구만 등록합니다.