khromov/ai-digest
A CLI tool to aggregate your codebase into a single Markdown file for use with Claude Projects or custom ChatGPTs.
ai‑digest
기능
- 프로젝트 파일을 탐색하고, 무시/압축 규칙으로 필터링하며, 선택적으로 공백을 제거하여 모든 내용을 단일 Markdown 문서(
codebase.md)로 작성하는 명령줄 도구(및 Node 라이브러리)입니다. - 생성된 Markdown은 Claude Projects나 맞춤형 ChatGPT에 업로드하여 모델이 전체 코드베이스를 "인식"하고 분석, 디버깅 또는 검토할 수 있도록 합니다.
사용 방법
npx ai-digest로 CLI를 설치/실행합니다(또는npm i ai-digest를 설치하고 스크립트에서 호출합니다).- 다음과 같은 옵션을 선택합니다:
-i/--input: 하나 이상의 디렉토리를 지정합니다.-o: 출력 파일 이름을 지정합니다.--whitespace-removal: 텍스트 크기를 줄입니다.--ignore-file/--minify-file:.aidigestignore및.aidigestminify패턴 파일을 제공합니다.--watch: 편집하는 동안 Markdown을 최신 상태로 유지합니다.--show-output-files: 각 파일의 크기를 막대 그래프로 확인합니다.
- 이 도구는 각 소스 파일을 코드 블록으로 감싼 Markdown 파일을 생성하며, 압축된(목록에는 있지만 완전히 포함되지 않은) 파일에 대해서는 자리 표시자를 제공합니다.
- 해당 Markdown을 Claude나 맞춤형 GPT의 지식 베이스에 업로드한 후 대화를 시작합니다.
주요 특징
- 기본 무시 패턴(빌드 산출물, 설정 파일) 및 사용자 지정
.aidigestignore지원. - 압축 패턴(
.aidigestminify): 큰 파일을 짧은 자리 표시자로 대체합니다. 라이브러리 사용 시 콜백을 통해 자리 표시자를 사용자 지정할 수 있습니다. - 공백 제거(Python/YAML 등 공백에 민감한 언어는 자동 제외)를 통한 토큰 수 절감.
- 파일 크기 통계: 시각적 막대 그래프 제공 및 크기별 정렬 가능.
- 감시 모드(Watch mode): 파일 변경 시 자동으로 Markdown 재구축.
- 라이브러리 API: 모든 CLI 기능이 비동기 함수(
generateDigest,generateDigestFiles,getFileStats등)로 노출되어 프로그래밍 방식으로 사용 가능.
대상 사용자
- 수동으로 파일을 압축하거나 복사하지 않고 LLM에게 코드베이스의 전체적인 뷰를 제공하려는 개발자.
- 간결하고 토큰 효율적인 소스 코드 표현이 필요한 맞춤형 ChatGPT 에이전트나 Claude Projects를 구축하는 팀.
일반적인 워크플로우
# 저장소 루트에서 실행
npx ai-digest # codebase.md 생성
# Claude UI → New Project → codebase.md 업로드
# 또는 ChatGPT → Custom GPT → 동일 파일 업로드
제한 사항
- 텍스트 파일만 집계합니다. 바이너리/SVG 파일은 주석으로 표시되지만 포함되지는 않습니다.
- 공백 제거는 의미가 변할 수 있는 언어에서는 건너뜁니다.
- 토큰 추정치가 제공되지만 실제 모델 제한 사항이 적용됩니다.
라이선스
- MIT 라이선스로 자유롭게 사용하거나 수정할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트