ChatGPT가 실제로 이해할 수 있도록 내 코드베이스를 번들링하는 방법

발행: (2026년 1월 19일 오후 07:21 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Problem

LLM 채팅 앱은 질문에 답하는 데는 뛰어나지만, 실제 코드베이스에 적용하면 한계가 있습니다.
프로젝트가 어느 정도 규모를 넘어가면 컨텍스트가 병목이 됩니다: 파일이 너무 많고, 잡음이 많으며, 구조가 부족합니다.

일반적인 LLM 채팅 앱은 다음과 같은 상황에서 가장 잘 작동합니다:

  • 컨텍스트가 선형적
  • 파일이 크기가 아니라 의미에 따라 그룹화
  • 참조가 정확함 (파일 + 라인)

하지만 실제 저장소는:

  • 계층적
  • 잡음이 많음
  • 모델에 필요 없는 것들로 가득함

그 결과 답변이 모호하거나 환각(Hallucination)될 수 있습니다.

Solution: srcpack

전체 레포를 그대로 전달하는 대신, LLM에 최적화된 스냅샷을 생성합니다:

  • 코드를 도메인별로 번들링 (예: web, api, docs 등)
  • 각 번들은 파일 경로 + 라인 번호와 함께 인덱싱
  • .gitignore를 기본적으로 존중
  • 시작하기 위해 별도 설정이 필요 없음

출력물은 순수 텍스트 파일이며, ChatGPT, Gemini, Claude 등에 쉽게 업로드하거나 첨부할 수 있습니다.
이 도구의 이름은 srcpack 입니다.

Workflows where srcpack shines

  • 대형 레포 탐색 – “인증 로직은 실제로 어디에 있나요?” 혹은 “청구와 관련된 코드는 어디인가요?” 같은 질문에 활용
  • 컨텍스트 제한 회피 – 파일을 일일이 복사 붙여넣는 대신, 집중된 번들을 첨부
  • 비기술 팀원과 공유 – LLM 친화적인 스냅샷을 Google Drive에 업로드하고 공유

PM이나 디자이너가 흔히 묻는 질문들:

  • “이번 주에 무엇이 배포됐나요?”
  • “아직 진행 중인 작업은 무엇인가요?”
  • “어떤 부분이 위험한가요?”

srcpack은 코드베이스에 대한 가벼운 읽기 전용 AI 인터페이스 역할을 합니다.

Usage

npx srcpack   # or bunx srcpack

기본적으로 별도 설정이 필요 없습니다.

Documentation & Source

  • Docs:
  • GitHub:

Closing Thought

LLM + 코드베이스 상호작용에 대한 최종 해답이라고 보지는 않지만, 일상 업무에서 매우 실용적인 개선을 제공했습니다. 특히 빠르게 변화하는 프로젝트에서 대형 레포 컨텍스트를 어떻게 다루고 있는지 다른 사람들의 이야기가 궁금합니다.

Back to Blog

관련 글

더 보기 »

고통과 고난. PocketBook의 파일명

문제: 저는 PocketBook e‑reader를 가지고 있는데, non‑ASCII 문자가 포함된 파일 이름을 USB를 통해 PC에서 복사하면 깨진 문자로 표시됩니다. 임시 해결 방법으로는…