Repomix 소개 및 사용법
개요
Repomix는 코드베이스 전체를 AI가 이해하기 쉬운 포맷(XML, 마크다운, 플레인 텍스트 등)으로 패킹해주는 오픈소스 도구입니다. 대규모 코드베이스를 LLM(예: ChatGPT, Claude, Gemini 등)에 입력하거나, 코드 리뷰·리팩터링·분석을 자동화할 때 유용하게 활용할 수 있습니다.
주요 특징
- AI 최적화: 코드, 디렉터리 구조, 파일 요약 등을 AI가 쉽게 파싱할 수 있도록 변환
- .gitignore 자동 인식: 불필요한 파일 자동 제외
- 보안 강화: Secretlint 내장, 민감 정보 포함 방지
- 토큰 카운팅: 각 파일 및 전체 리포지토리의 토큰 수 제공
- 다양한 출력 포맷: XML(기본), 마크다운, 플레인 텍스트 등
- 커스텀 설정: repomix.config.json 파일로 출력 옵션, 무시 패턴 등 세부 설정 가능
설치 및 사용법
1. 빠른 실행
설치 없이 바로 실행:
npx repomix
글로벌 설치:
npm install -g repomix
# 또는
yarn global add repomix
# 또는 (macOS/Linux)
brew install repomix
설치 후 프로젝트 디렉터리에서 실행:
repomix
2. 주요 옵션
- 특정 디렉터리만 패킹:
repomix path/to/directory
- 특정 파일/디렉터리만 포함:
repomix --include "src/**/*.ts,**/*.md"
- 특정 파일/디렉터리 제외:
repomix --ignore "**/*.log,tmp/"
- 원격 저장소 패킹:
npx repomix --remote https://github.com/사용자/저장소
3. 출력 포맷 지정
- XML(기본):
repomix --style xml
- 마크다운:
repomix --style markdown
- 플레인 텍스트:
repomix --style plain
4. 고급 설정
repomix.config.json 예시:
{
"output": {
"style": "markdown",
"filePath": "custom-output.md",
"removeComments": true,
"showLineNumbers": true,
"topFilesLength": 10
},
"ignore": {
"customPatterns": ["*.test.ts", "docs/**"]
}
}
5. Docker로 실행
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix
활용 예시
- 코드베이스 전체를 하나의 파일로 패킹 후, LLM에게 전달해 리팩터링, 리뷰, 문서화 등 다양한 작업을 요청할 수 있습니다.
- Claude의 Artifacts 등과 연동해 여러 파일을 동시에 생성·수정하는 것도 가능합니다.
참고 및 출처
- 공식 사이트: https://repomix.com/
- GitHub: https://github.com/yamadashy/repomix
반응형