@anthropic-ai/claude-code 의 난독화 해제된 소스 코드
v2.1.76.
이 저장소는 Anthropic의 Claude Code CLI 도구에서 역공학(Reverse-engineered)한 TypeScript 소스 코드를 포함하고 있습니다. 공식 npm 패키지는 단일화된 압축(minified) cli.js 번들(~12MB) 형태로 제공되지만, 이 저장소는 읽기 가능한 이름, 주석 및 타입 어노테이션(Type annotations)과 함께 원래의 모듈 구조를 복원합니다.
1,884개의 TypeScript/TSX 소스 파일 | 35MB | 5,066개의 번들링된 모듈
├── package.json # 의존성(Dependencies) 및 빌드 스크립트
├── tsconfig.json # TypeScript 설정
├── src/ # 소스 코드 (난독화 해제됨)
...
- Bun bundler로 빌드됨 — 컴파일 타임 데드 코드 제거 (DCE)를 위해
bun:bundle의 feature()를 사용함
MACRO.* 빌드 타임 상수 (VERSION, BUILD_TIME 등)는 --define을 통해 주입됨
- 최적화된 컴포넌트 렌더링을 위한 React Compiler (
react/compiler-runtime) 사용
- 단일 파일 출력: 5,066개의 모든 모듈이 하나의
cli.js로 번들링됨
내부 기능 플래그(Feature flags)는 bun:bundle의 feature()를 통해 기능을 제어합니다:
PROACTIVE / KAIROS — 선제적 에이전트(Proactive agent) 기능
AGENT_TRIGGERS / AGENT_TRIGGERS_REMOTE — 예약된/원격 에이전트 실행
MONITOR_TOOL — 라이브 모니터링 도구
ABLATION_BASELINE — A/B 테스트 베이스라인
KAIROS_GITHUB_WEBHOOKS — GitHub 웹훅 구독
일부 도구/패키지는 Anthropic 직원으로 제한됩니다 (USER_TYPE === 'ant'):
-
REPLTool — 대화형 REPL 실행
-
SuggestBackgroundPRTool — 백그라운드 PR 제안
-
@ant/claude-for-chrome-mcp — Chrome 브라우저 통합
-
@anthropic-ai/sandbox-runtime — 샌드박스 격리 런타임
-
모든 도구는 공통 인터페이스 (Tool.ts의 Tool)를 구현함
-
지연 초기화(Deferred initialization)를 위한 lazySchema()를 포함한 Zod를 통한 입력 검증(Input validation)
-
권한 시스템: 캐싱 기능이 있는 canUseTool() 훅(Hooks)
-
타임스탬프 + 콘텐츠 변경 감지를 통한 동시 파일 편집 보호
-
ToolSearchTool은 지연된 도구 발견(Lazy tool discovery, 지연된 도구 로딩)을 가능하게 함
AppStateStore— TUI(Text User Interface)를 위한 Zustand 스타일의 반응형 상태(Reactive state)
QueryEngine— 대화 세션, 메시지 기록, 압축(Compaction) 관리
Session persistence— 붙여넣기 저장 기능이 포함된 JSONL 기반 기록
# 의존성 설치
bun install
# 빌드 (내부 @ant/* 패키지에 대한 스텁(stubs)을 생성해야 합니다)
...
참고: 이 디오브퓨스케이션(Deobfuscation, 코드 난독화 해제) 과정에서 약 10개의 소스 파일(내부 도구, 일부 타입 정의)이 누락되었습니다. 다음 패키지들에 대한 스텁(Stubs)이 필요합니다:
@ant/* 패키지, @anthropic-ai/sandbox-runtime, REPLTool, TungstenTool, color-diff-napi, modifiers-napi.
| 파일 | 설명 |
|---|
tools/REPLTool/ | 대화형 REPL (ant 전용) |
tools/TungstenTool/ | 내부 모니터링 도구 |
tools/SuggestBackgroundPRTool/ | 백그라운드 PR 도구 (ant 전용) |
tools/VerifyPlanExecutionTool/ | 계획 검증 도구 |
keybindings/types.ts | 키 바인딩(Keybinding) 타입 정의 |
utils/filePersistence/types.ts | 파일 영속성(File persistence) 타입 |
services/compact/cachedMicrocompact.ts | 캐시된 마이크로 압축(Micro-compaction) |
services/contextCollapse/ | 컨텍스트 붕괴(Context collapse) 서비스 |
types/connectorText.ts | 커넥터 텍스트 블록 타입 |
이 저장소는 교육 및 연구 목적으로만 사용됩니다. 모든 권리는 Anthropic PBC에 있습니다. 원본 소스는 Anthropic의 법적 계약을 따릅니다.
Package: @anthropic-ai/claude-code
Version: 2.1.76
Date: 2026-03-26