저장소(repo)를 프롬프트로 패킹하는 빠르고 효율적인 Rust CLI/TUI 도구 소개
요약
본 글은 로컬/API 모델에 코드베이스를 입력할 때 발생하는 '프롬프트 오염' 문제를 해결하는 Rust 기반 CLI/TUI 도구인 repOx를 소개합니다. 이 도구는 빠른 속도와 Lazygit 스타일의 사용자 인터페이스를 제공하며, 토큰 게이지 확인 및 불필요한 파일 제거 기능을 갖추고 있습니다.
핵심 포인트
- Rust로 작성되어 3천 개 파일 규모 저장소를 14ms 만에 처리하는 고속 도구입니다.
- Lazygit 스타일 TUI를 통해 실시간 토큰 게이지와 폴더 탐색이 가능합니다.
- Git NUL-byte 휴리스틱을 사용하여 Lockfiles나 바이너리 등 불필요한 파일을 자동으로 제거합니다.
- Claude, GPT 등 주요 LLM의 컨텍스트 토큰 예산을 미리 확인할 수 있습니다.
제가 로컬 모델(Qwen, DeepSeek R1)이나 API 모델에 코드베이스를 입력할 때 가장 짜증나는 점은 '프롬프트 오염(prompt pollution)'입니다:
- 이유 없이 30,000 토큰 이상을 소모하는 Lockfiles (
Cargo.lock,package-lock.json). - 컨텍스트에 포함되는 SVG, 바이너리 파일 또는 빌드 아티팩트.
- 프롬프트 생성 자체에만 3~4초가 걸리는 기존 패커들.
이 문제를 해결하기 위해 제 워크플로우를 위해 repOx라는 작은 도구를 만들었습니다.
GitHub: https://github.com/WVDYC/repOx
주요 기능:
- 속도(Speed): Rust로 작성되어 3천 개 파일 규모의 저장소를 약 14ms 만에 처리합니다.
- Lazygit 스타일 TUI (
repox -i): 빠르고 터미널 기반의 UI가 열리며, Space 키로 폴더를 체크 해제하고, 파일을 미리 보고,/로 검색하며, 복사하기 전에 실시간 토큰 게이지를 확인할 수 있습니다. - 깔끔한 출력(Clean output): Git NUL-byte 휴리스틱을 사용하여 기본적으로 Lockfiles와 바이너리를 제거합니다. 클립보드로 바로 덤프할 수 있습니다 (
repox -c). - 오프라인 토크나이저(Offline Tokenizer): Claude, GPT, Gemini, DeepSeek, Llama 컨텍스트의 토큰 예산을 지원하여, 창 크기를 초과하는지 미리 알 수 있게 해줍니다.
(macOS / Linux) 한 줄 설치 명령어:
curl -fsSL https://raw.githubusercontent.com/WVDYC/repOx/main/install.sh | sh
코드는 오픈 소스(MIT / Apache)입니다. 여러분은 현재 LLM에 코드를 입력하기 위해 무엇을 사용하고 계신지, 그리고 추가되었으면 하는 특정 프롬프트 템플릿이 있는지 궁금합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기