명령행 옵션
기본 옵션
-v, --version: 도구 버전 표시
CLI 입출력 옵션
| 옵션 | 설명 |
|---|---|
--verbose | 상세 디버그 로깅 활성화 (파일 처리, 토큰 수, 구성 세부사항 표시) |
--quiet | 오류를 제외한 모든 콘솔 출력 억제 (스크립팅에 유용) |
--stdout | 파일 대신 표준 출력으로 패키징 결과 직접 출력 (모든 로깅 억제) |
--stdin | 표준 입력에서 파일 경로를 한 줄씩 읽기 (지정된 파일이 직접 처리됨) |
--copy | 처리 후 생성된 출력을 시스템 클립보드에 복사 |
--token-count-tree [threshold] | 토큰 수가 포함된 파일 트리 표시; 선택적 임계값으로 ≥N 토큰 파일만 표시 (예: --token-count-tree 100) |
--top-files-len <number> | 요약에 표시할 가장 큰 파일 수 (기본값: 5) |
Repomix 출력 옵션
| 옵션 | 설명 |
|---|---|
-o, --output <file> | 출력 파일 경로 (기본값: repomix-output.xml, 표준출력은 "-" 사용) |
--style <style> | 출력 형식: xml, markdown, json, 또는 plain (기본값: xml) |
--parsable-style | 유효한 XML/Markdown을 보장하기 위해 특수 문자 이스케이프 (출력에 서식을 깨는 코드가 포함된 경우 필요) |
--compress | Tree-sitter 파싱을 사용하여 핵심 코드 구조 추출 (클래스, 함수, 인터페이스) |
--output-show-line-numbers | 출력의 각 줄에 줄 번호 접두사 추가 |
--no-file-summary | 출력에서 파일 요약 섹션 생략 |
--no-directory-structure | 출력에서 디렉토리 트리 시각화 생략 |
--no-files | 파일 내용 없이 메타데이터만 생성 (저장소 분석에 유용) |
--remove-comments | 패키징 전 모든 코드 주석 제거 |
--remove-empty-lines | 모든 파일에서 빈 줄 제거 |
--truncate-base64 | 긴 base64 데이터 문자열을 잘라 출력 크기 축소 |
--header-text <text> | 출력 시작 부분에 포함할 사용자 정의 텍스트 |
--instruction-file-path <path> | 출력에 포함할 사용자 정의 지침이 있는 파일 경로 |
--split-output <size> | 출력을 여러 번호가 매겨진 파일로 분할 (예: repomix-output.1.xml); 500kb, 2mb, 1.5mb 등의 크기 지정 |
--include-empty-directories | 디렉토리 구조에 파일이 없는 폴더 포함 |
--include-full-directory-structure | --include 패턴 사용 시에도 디렉토리 구조 섹션에 전체 저장소 트리 표시 |
--no-git-sort-by-changes | git 변경 빈도별 파일 정렬 비활성화 (기본값: 가장 자주 변경된 파일 우선) |
--include-diffs | 작업 트리와 스테이징된 변경사항을 보여주는 git diff 섹션 추가 |
--include-logs | 메시지와 변경 파일이 포함된 git 커밋 히스토리 추가 |
--include-logs-count <count> | --include-logs와 함께 포함할 최근 커밋 수 (기본값: 50) |
파일 선택 옵션
| 옵션 | 설명 |
|---|---|
--include <patterns> | 이 glob 패턴과 일치하는 파일만 포함 (쉼표로 구분, 예: "src/**/*.js,*.md") |
-i, --ignore <patterns> | 제외할 추가 패턴 (쉼표로 구분, 예: "*.test.js,docs/**") |
--no-gitignore | .gitignore 규칙을 파일 필터링에 사용하지 않음 |
--no-dot-ignore | .ignore 규칙을 파일 필터링에 사용하지 않음 |
--no-default-patterns | 내장 무시 패턴 적용하지 않음 (node_modules, .git, 빌드 디렉토리 등) |
원격 저장소 옵션
| 옵션 | 설명 |
|---|---|
--remote <url> | 원격 저장소 클론 및 패키징 (GitHub URL 또는 user/repo 형식) |
--remote-branch <name> | 사용할 특정 브랜치, 태그 또는 커밋 (기본값: 저장소의 기본 브랜치) |
--remote-trust-config | 원격 저장소의 설정 파일을 신뢰하고 로드 (보안상 기본적으로 비활성화) |
구성 옵션
| 옵션 | 설명 |
|---|---|
-c, --config <path> | repomix.config.json 대신 사용자 정의 구성 파일 사용 |
--init | 기본 설정으로 새 repomix.config.json 파일 생성 |
--global | --init과 함께 사용하여 현재 디렉토리 대신 홈 디렉토리에 구성 생성 |
보안 옵션
--no-security-check: API 키와 암호 같은 민감한 데이터 스캔 건너뛰기
토큰 수 옵션
--token-count-encoding <encoding>: 카운팅용 토크나이저 모델: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4) 등 (기본값: o200k_base)--token-budget <number>: 패키징된 출력이 N개의 토큰을 초과하면 0이 아닌 종료 코드로 실패합니다. CI 파이프라인과 에이전트 워크플로에서 출력을 대상 모델의 컨텍스트 윈도우 내로 유지하기 위한 가드로 유용합니다. 출력은 여전히 생성되며, 종료 코드만 오버플로를 알립니다
MCP 옵션
--mcp: AI 도구 통합을 위한 Model Context Protocol 서버로 실행
Agent Skills 생성 옵션
| 옵션 | 설명 |
|---|---|
--skill-generate [name] | Claude Agent Skills 형식 출력을 .claude/skills/<name>/ 디렉토리에 생성 (이름 생략 시 자동 생성) |
--skill-output <path> | 스킬 출력 디렉토리 경로를 직접 지정 (위치 선택 프롬프트 건너뜀) |
-f, --force | 모든 확인 프롬프트 건너뜀 (예: 스킬 디렉토리 덮어쓰기) |
관련 리소스
- 설정 - CLI 플래그 대신 설정 파일로 옵션 지정
- 출력 형식 - XML, Markdown, JSON, 일반 텍스트 형식 상세 정보
- 코드 압축 -
--compress와 Tree-sitter의 작동 방식 - 보안 -
--no-security-check로 비활성화되는 기능
예시
bash
# 기본 사용법
repomix
# 사용자 정의 출력 파일과 형식
repomix -o my-output.xml --style xml
# 표준 출력으로 출력
repomix --stdout > custom-output.txt
# 표준 출력으로 출력한 후 다른 명령으로 파이프 (예: simonw/llm)
repomix --stdout | llm "이 코드가 무엇을 하는지 설명해주세요."
# 압축을 사용한 사용자 정의 출력
repomix --compress
# Git 통합 기능
repomix --include-logs # git 로그 포함 (기본 50개 커밋)
repomix --include-logs --include-logs-count 10 # 최근 10개 커밋 포함
repomix --include-diffs --include-logs # 차이점과 로그 모두 포함
# 패턴으로 특정 파일 처리
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"
# 브랜치가 있는 원격 저장소
repomix --remote https://github.com/user/repo/tree/main
# 커밋이 있는 원격 저장소
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
# 축약형을 사용한 원격 저장소
repomix --remote user/repo
# stdin을 사용한 파일 목록
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
# 토큰 수 분석
repomix --token-count-tree
repomix --token-count-tree 1000 # 1000개 이상의 토큰을 가진 파일/디렉토리만 표시