sourcebook
sourcebook
AI는 당신의 코드를 읽을 수 있습니다. 하지만 여전히 당신의 프로젝트가 어떻게 작동하는지는 모릅니다.
sourcebook은 팀이 머릿속에 가지고 있는 프로젝트 지식(컨벤션, 패턴, 함정, 실제 파일 위치 등)을 캡처하여 코딩 에이전트가 사용할 수 있는 컨텍스트로 변환합니다.
npx sourcebook initRepomix와 같은 도구는 AI에게 전체 코드베이스를 제공합니다. sourcebook은 AI에게 당신의 프로젝트 지식을 제공합니다.
왜 필요한가
AI 코딩 에이전트는 컨텍스트 윈도우의 대부분을 상황 파악에 소비합니다. 즉, 실제 작업을 시작하기 전에 정신적 모델을 구축하기 위해 파일을 읽는 데 시간을 씁니다. 대부분의 컨텍스트 파일(CLAUDE.md, .cursorrules)은 일반적이며 금방 구식이 됩니다.
연구에 따르면 당연한 정보를 다시 나열하는 자동 생성 컨텍스트는 오히려 에이전트의 성능을 2-3% 저하시킵니다. 도움이 되는 유일한 컨텍스트는 발견하기 어려운 정보입니다. 즉, 에이전트가 코드만 읽어서는 파악할 수 없는 프로젝트 지식입니다.
sourcebook은 에이전트가 계속 놓치는 정보, 즉 코드에는 없지만 팀의 머릿속에만 존재하는 컨벤션, 숨겨진 의존성, 취약한 영역, 지배적인 패턴만을 추출합니다.
탐지 항목
임포트 그래프 + PageRank — 구조적 중요도에 따라 파일 순위를 매기고, 영향 범위가 가장 넓은 허브 파일을 식별합니다.
Git 기록 포렌식 — 되돌린 커밋("이렇게 하지 마시오" 신호), 코드 변경 결합도(보이지 않는 의존성), 잦은 재수정(작성하기 어려웠던 코드), 버려진 접근 방식에서 나타나는 안티 패턴.
컨벤션 탐지 — 명명 패턴, export 스타일, import 구성, 배럴(barrel) export, 경로 별칭(path alias), 타입 힌트 사용법, 에러 처리 스타일.
프레임워크 탐지 — Next.js, Expo, Supabase, Tailwind, Express, TypeScript, Django, FastAPI, Flask, Go (Gin, Echo, Fiber).
컨텍스트 노후화 방지 포맷팅 — 상단에는 중요한 제약 사항, 중간에는 참조 정보, 하단에는 작업 프롬프트를 배치(LLM의 주의 집중 패턴에 최적화).
스마트 예산 집행 — 컨텍스트가 토큰 예산을 초과하면 우선순위가 낮은 섹션부터 제거(중요한 제약 사항은 항상 유지).
빠른 시작
# Generate CLAUDE.md + AGENTS.md for your project
npx sourcebook init
# Generate for a specific tool
npx sourcebook init --format claude,agents # CLAUDE.md + AGENTS.md (default)
npx sourcebook init --format cursor # .cursor/rules/sourcebook.mdc + .cursorrules
npx sourcebook init --format copilot # .github/copilot-instructions.md
npx sourcebook init --format agents # AGENTS.md only
npx sourcebook init --format all # All of the above
# Re-analyze while preserving your manual edits
npx sourcebook update
# See what changed since last generation (exit code 1 = changes found)
npx sourcebook diff
# Limit output to a token budget (drops low-priority sections first)
npx sourcebook init --budget 1000명령어
명령어 | 기능 |
| 코드베이스를 분석하고 컨텍스트 파일 생성 (기본값: CLAUDE.md + AGENTS.md) |
| 수동으로 추가한 섹션을 유지하면서 재분석 |
| 파일 쓰기 없이 변경 사항 미리보기 (변경 사항 발견 시 종료 코드 1 반환 — CI에 유용) |
| 자연어로 코드베이스 지식 질문 |
| 소스 변경 시 컨텍스트 파일 자동 재생성 |
| 실시간 코드베이스 인텔리전스를 노출하는 MCP 서버 시작 |
옵션
플래그 | 설명 | 기본값 |
| 대상 디렉토리 |
|
| 출력 형식: |
|
| 출력 최대 토큰 예산 |
|
| 파일 쓰기 없이 결과 미리보기 | — |
언어 지원
언어 | 프레임워크 탐지 | 컨벤션 탐지 | 임포트 그래프 | Git 분석 |
TypeScript/JavaScript | Next.js, Expo, Vite, React, Express, Tailwind, Supabase | 배럴 export, 경로 별칭, export 스타일, 에러 처리 | 전체 | 전체 |
Python | Django, FastAPI, Flask, pytest | 타입 힌트, | 전체 | 전체 |
Go | Gin, Echo, Fiber | 모듈 경로, cmd/pkg/internal 레이아웃, 에러 래핑, 인터페이스 | 전체 | 전체 |
GitHub Action
모든 병합 시 컨텍스트 파일 자동 업데이트:
# .github/workflows/sourcebook.yml
name: Update context files
on:
push:
branches: [main]
jobs:
sourcebook:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: maroondlabs/sourcebook@main
with:
format: all출력 예시
cal.com (10,456개 파일)에서 실행 시:
sourcebook
Extracting repo truths...
✓ Scanned project structure
10,456 files, 3 frameworks detected
✓ Extracted 11 findings
● Core modules: types.ts imported by 183 files — widest blast radius
● Circular deps: bookingScenario.ts ↔ getMockRequestData.ts
● Co-change: auth/provider.ts ↔ middleware/session.ts (88% correlation)
● Dead code: 1,907 orphan files detected
● Conventions: named exports preferred (26:2 ratio)
● Barrel exports: 40 index.ts re-export files
● Commit style: Conventional Commits (feat/fix/docs)
✓ Wrote CLAUDE.md
✓ Wrote AGENTS.md작동 원리
sourcebook은 5단계의 분석 과정을 거치며, 모두 결정론적이고 로컬에서 수행됩니다. LLM, API 키, 네트워크 호출이 필요 없습니다:
정적 분석 — 프레임워크 탐지, 빌드 명령어, 프로젝트 구조, 환경 변수.
임포트 그래프 — 모든 임포트의 방향성 그래프를 구축하고 PageRank를 실행하여 구조적으로 가장 중요한 파일을 찾습니다.
Git 포렌식 — 커밋 기록에서 되돌리기, 안티 패턴, 코드 변경 결합도, 변경이 잦은 핫스팟, 버려진 접근 방식을 추출합니다.
컨벤션 추론 — 소스 파일을 샘플링하여 명명, import, export, 에러 처리 및 타입 주석 패턴을 탐지합니다.
예산 집행 — 출력이 토큰 예산을 초과하면 우선순위가 낮은 섹션을 지능적으로 제거합니다(보조적인 발견 사항부터 제거, 중요한 제약 사항은 절대 제거 안 함).
그 후 발견 가능성 필터를 적용합니다. 모든 발견 사항에 대해 "에이전트가 코드를 읽어서 스스로 알아낼 수 있는가?"를 묻고, 그렇다면 제거합니다. 발견하기 어려운 정보만 출력에 포함됩니다.
출력물은 컨텍스트 노후화 방지를 위해 포맷팅됩니다. 중요한 제약 사항은 파일의 상단과 하단(LLM이 가장 주의를 기울이는 곳)에 배치하고, 가벼운 참조 정보는 중간에 배치합니다.
MCP 서버
sourcebook serve는 로컬 MCP(Model Context Protocol) 서버를 시작하여 Claude Desktop, Cursor 등 MCP 호환 AI 클라이언트에 실시간 코드베이스 인텔리전스를 노출합니다.
정적인 컨텍스트 파일 대신, AI 에이전트가 필요할 때마다 프로젝트 아키텍처를 쿼리할 수 있습니다. 수정 전 영향 범위를 확인하고, 코드를 작성하기 전 컨벤션을 확인하며, Git 기록에서 안티 패턴을 찾아낼 수 있습니다.
설치
MCP 클라이언트 설정에 sourcebook을 추가하세요:
{
"mcpServers": {
"sourcebook": {
"command": "npx",
"args": ["-y", "sourcebook", "serve", "--dir", "/path/to/your/project"]
}
}
}Claude Code — 터미널에서 실행:
claude mcp add sourcebook -- npx -y sourcebook serve --dir /path/to/your/project또는 ~/.claude/claude_desktop_config.json에 수동으로 추가하세요.
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json에 추가하세요.
Cursor — 프로젝트의 .cursor/mcp.json 또는 전역 ~/.cursor/mcp.json에 추가하세요.
기타 MCP 클라이언트 — STDIO 전송을 지원하는 모든 클라이언트는 위와 동일한 설정 블록으로 작동합니다.
설정 업데이트 후 클라이언트를 재시작하세요.
사용 가능한 도구
도구 | 기능 |
| 전체 분석: 언어, 프레임워크, 발견 사항, PageRank 중요도별 상위 파일 |
| 파일 수준 컨텍스트: 중요도 점수, 허브 상태, 함께 변경되는 파트너, 적용 가능한 컨벤션 |
| 파일 수정 시 위험 평가: 의존성, 코드 변경 결합도, 취약성, 순환 의존성 |
| 탐지된 모든 프로젝트 컨벤션: import 스타일, 에러 처리, 명명, 커밋 형식 |
| 의존성 아키텍처: 허브 파일, 순환 의존성, 죽은 코드, PageRank 순위 |
| Git 기록 마이닝: 취약한 파일, 되돌린 커밋, 안티 패턴, 활발한 개발 영역 |
| 수정 전 브리핑: 특정 파일을 건드리기 전에 알아야 할 모든 중요한 정보 |
| 모든 발견 사항, 컨벤션, 구조 및 프레임워크에 대한 키워드 검색 |
서버는 스캔 결과를 메모리에 캐시하므로 후속 도구 호출은 빠릅니다. 재스캔을 강제하려면 analyze_codebase에 refresh: true를 전달하세요.
로드맵
[x]
.cursor/rules/sourcebook.mdc+ 기존.cursorrules출력[x]
.github/copilot-instructions.md출력[x]
sourcebook update— 수동 편집 내용을 유지하며 재분석[x]
sourcebook diff— 변경 사항 표시 (CI 친화적 종료 코드)[x]
--budget <tokens>— PageRank 기반 스마트 우선순위 지정[x] 되돌린 커밋 및 삭제된 파일로부터 안티 패턴 탐지
[x] Python 지원 (Django, FastAPI, Flask, pytest)
[x] Go 지원 (Gin, Echo, Fiber, 모듈 레이아웃)
[x] CI를 위한 GitHub Action
[x]
sourcebook serve— MCP 서버 모드[ ] 프레임워크 지식 팩 (커뮤니티 기여)
[ ] 더 깊은 컨벤션 탐지를 위한 Tree-sitter AST 파싱
[ ] 컨텍스트 품질 점수가 포함된 호스팅 대시보드
연구 기반
다음 연구 결과를 바탕으로 구축되었습니다:
ETH Zurich AGENTS.md 연구 — 자동 생성된 당연한 컨텍스트는 에이전트 성능을 저하시킴
Karpathy의 autoresearch — 큐레이팅된 컨텍스트(
program.md)는 에이전트 효율성을 높이는 가장 중요한 요소Aider의 repo-map — 구조적 중요도를 위한 임포트 그래프의 PageRank
Chroma의 컨텍스트 노후화 연구 — LLM은 컨텍스트 중간 부분의 정보에 대해 30% 이상의 정확도 저하를 보임
라이선스
BSL-1.1 — 소스 공개, 무료 사용 가능, 호스팅 서비스로 제공 불가. 2030년 3월 25일에 MIT 라이선스로 전환됩니다. 자세한 내용은 LICENSE를 참조하세요.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/maroondlabs/sourcebook'
If you have feedback or need assistance with the MCP directory API, please join our Discord server