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에 업로드하여 모델이 전체 코드베이스를 "인식"하고 분석, 디버깅 또는 검토할 수 있도록 합니다.

사용 방법

  1. npx ai-digest로 CLI를 설치/실행합니다(또는 npm i ai-digest를 설치하고 스크립트에서 호출합니다).
  2. 다음과 같은 옵션을 선택합니다:
    • -i / --input: 하나 이상의 디렉토리를 지정합니다.
    • -o: 출력 파일 이름을 지정합니다.
    • --whitespace-removal: 텍스트 크기를 줄입니다.
    • --ignore-file / --minify-file: .aidigestignore 및 .aidigestminify 패턴 파일을 제공합니다.
    • --watch: 편집하는 동안 Markdown을 최신 상태로 유지합니다.
    • --show-output-files: 각 파일의 크기를 막대 그래프로 확인합니다.
  3. 이 도구는 각 소스 파일을 코드 블록으로 감싼 Markdown 파일을 생성하며, 압축된(목록에는 있지만 완전히 포함되지 않은) 파일에 대해서는 자리 표시자를 제공합니다.
  4. 해당 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 라이선스로 자유롭게 사용하거나 수정할 수 있습니다.

관련

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