yamadashy/repomix

📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.

해결하는 문제

ChatGPT와 Claude 같은 AI 도구는 전체 프로젝트를 한 번에 얻을 때 가장 잘 작동하지만, 일반적인 코드베이스는 많은 파일, 폴더, 구성이 얽혀 있습니다. Repomix는 전체 저장소를 AI가 빠르게 읽고 이해할 수 있는 하나의 깔끔하고 구조화된 문서로 압축합니다. 또한 토큰을 계산하고 무시 규칙을 존중하므로 민감하거나 거대한 파일을 실수로 보내지 않습니다.

작동 방식

프로젝트 디렉토리 내에서 repomix와 같은 단일 명령을 실행합니다. Repomix는 코드베이스를 스캔하고 포함/제외 규칙(예: .gitignore 및 .repomixignore)을 적용하여 하나의 파일을 출력합니다(기본값은 XML이지만 Markdown 또는 JSON도 얻을 수 있습니다). Tree-sitter를 사용하여 핵심 코드 요소만 유지하고 토큰 수를 줄이는 --compress 옵션이 있습니다. 원격 저장소를 패킹하고, git 로그를 포함하고, 표준 입력에서 파일 목록을 받을 수도 있습니다. 출력은 도구가 파일을 읽는 방법을 알 수 있도록 AI 지향 설명으로 시작합니다.

대상 사용자

코드 검토, 리팩토링, 문서화, 테스트 생성을 위해 전체 코드베이스를 AI 어시스턴트에 제공하려는 개발자, 또는 라이브러리의 개요를 파악하려는 개발자. 작은 스크립트든 대규모 다중 디렉토리 프로젝트든 유용하며 로컬 및 원격 저장소 모두에서 작동합니다.

주요 기능

  • AI 최적화 형식: LLM이 쉽게 파싱할 수 있도록 구조화된 출력
  • 각 파일 및 전체 저장소에 대한 토큰 계산
  • Git 인식: .gitignore, .ignore, .repomixignore 존중
  • 보안 중점: Secretlint를 사용하여 자격 증명과 유사한 파일을 감지하고 제외
  • Tree-sitter를 사용한 코드 압축으로 구조를 유지하면서 토큰 수 축소
  • 여러 출력 형식: XML, Markdown, JSON
  • 원격 저장소 패킹 또는 표준 입력을 통한 파일 목록 파이프 처리
  • repomix.com의 웹 버전과 GitHub 원클릭 패킹을 위한 Chrome/Firefox 확장 프로그램

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트