Claude Code 소스코드 유출 분석 (2026-03-31)

출처

기본 정보

  • TypeScript (strict), Bun 런타임, React + Ink (터미널 UI)
  • 약 1,900파일, 512,000+ 라인

핵심 아키텍처

User Input → CLI Parser → QueryEngine → LLM API → Tool Loop → Terminal UI

숨겨진 Feature Flags (빌드 시점에 제거됨)

  • PROACTIVE — 프로액티브 에이전트 모드
  • KAIROS — 미공개 기능
  • BRIDGE_MODE — IDE 연동 모드
  • VOICE_MODE — 음성 입력
  • DAEMON — 데몬 모드 (백그라운드 서버)
  • COORDINATOR_MODE — 멀티 에이전트 코디네이터
  • WORKFLOW_SCRIPTS — 워크플로우 스크립트
  • AGENT_TRIGGERS — 에이전트 트리거
  • MONITOR_TOOL — 모니터링 도구
  • 일부 기능은 process.env.USER_TYPE === 'ant' (Anthropic 직원 전용)

전체 도구 목록 (~40개)

파일 시스템

  • FileReadTool, FileWriteTool, FileEditTool, NotebookEditTool
  • GlobTool, GrepTool (ripgrep 기반), TodoWriteTool

셸 & 실행

  • BashTool, PowerShellTool (Windows), REPLTool

에이전트 & 오케스트레이션

  • AgentTool (서브에이전트 스폰), SendMessageTool (에이전트 간 메시지)
  • TeamCreateTool / TeamDeleteTool (팀 레벨 병렬 작업)
  • EnterPlanModeTool / ExitPlanModeTool
  • EnterWorktreeTool / ExitWorktreeTool (git worktree 격리)
  • SleepTool (프로액티브 모드 대기)
  • SyntheticOutputTool (구조화된 출력 생성)

작업 관리

  • TaskCreateTool, TaskUpdateTool, TaskGetTool, TaskListTool, TaskOutputTool, TaskStopTool

  • WebFetchTool, WebSearchTool

MCP

  • MCPTool, ListMcpResourcesTool, ReadMcpResourceTool, McpAuthTool, ToolSearchTool

통합

  • LSPTool (Language Server Protocol), SkillTool

스케줄링

  • ScheduleCronTool (크론 트리거), RemoteTriggerTool

유틸리티

  • AskUserQuestionTool, BriefTool, ConfigTool

전체 커맨드 목록 (~85개)

Git & 버전 관리

  • /commit, /commit-push-pr, /branch, /diff, /pr_comments, /rewind

코드 품질

  • /review, /security-review, /advisor, /bughunter

세션 & 컨텍스트

  • /compact, /context, /resume, /session, /share, /export, /summary, /clear

설정

  • /config, /permissions, /theme, /output-style, /color, /keybindings, /vim
  • /effort (응답 노력 레벨), /model (모델 전환), /fast, /brief

메모리 & 지식

  • /memory, /add-dir, /files

MCP & 플러그인

  • /mcp, /plugin, /reload-plugins, /skills

인증

  • /login, /logout, /oauth-refresh

작업 & 에이전트

  • /tasks, /agents, /ultraplan, /plan

진단 & 상태

  • /doctor, /status, /stats, /cost, /version, /usage, /extra-usage, /rate-limit-options

설치 & 설정

  • /install, /upgrade, /init, /init-verifiers, /onboarding, /terminalSetup

IDE & 데스크톱

  • /bridge, /bridge-kick, /desktop, /mobile

기타

  • /voice (음성 입력), /loop (반복 실행), /schedule (스케줄)
  • /statusline (상태바 커스텀), /techdebt (기술 부채), /babysit (자동 모니터링)

Claude Code를 잘 사용하는 핵심 인사이트

  1. QueryEngine이 핵심 (46K 라인) — 스트리밍, 도구 호출 루프, thinking mode, 재시도 로직 전부 여기
  2. 도구는 독립 모듈 — 각 도구가 자체 스키마(Zod), 권한 모델, 실행 로직, UI 컴포넌트를 가짐
  3. Permission 시스템이 보안의 핵심 — 4가지 모드 (default/plan/bypass/auto)
  4. Skill = 프롬프트 + 도구 구성 — 재사용 가능한 워크플로우 번들
  5. Plugin = 확장 아키텍처 — 마켓플레이스 + 번들 플러그인
  6. Bridge = IDE 연동 — JWT 인증, 양방향 메시징, 권한 프록시
  7. Memory = CLAUDE.md 기반 — 자동 메모리 추출, 팀 메모리 동기화
  8. Feature Flag로 기능 게이팅 — 빌드 시점에 불필요한 코드 제거 (번들 크기 최적화)
  9. React + Ink로 터미널 UI — hooks, components, state management 전부 React 패턴
  10. Parallel Prefetch — 시작 시 MDM, Keychain, API 프리커넥트를 병렬로 실행

실전 활용 팁 (소스코드 기반)

  • /effort로 응답 품질 vs 비용 조절 가능
  • /statusline로 컨텍스트 사용량 실시간 모니터링
  • .claude/agents/에 에이전트 정의 → 자동으로 감지되어 사용
  • ToolSearchTool로 MCP 도구를 런타임에 디스커버리 (지연 로딩)
  • EnterWorktreeTool / ExitWorktreeTool로 git worktree 격리 작업
  • ScheduleCronTool로 스케줄된 작업 설정 가능
  • SyntheticOutputTool로 구조화된 출력 생성

Sources