이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 3 현재 »

Claude Code 소스 코드 분석

분석 대상: src/ 디렉토리 전체
분석 일자: 2026-03-31


목차

  1. 프로젝트 개요
  2. 아키텍처 개관
  3. 최상위 핵심 모듈
  4. 주요 카테고리별 상세 분석
  5. 기술 스택 요약

1. 프로젝트 개요

Claude Code는 터미널 기반의 AI 코딩 어시스턴트이다. Anthropic의 Claude 모델을 활용하여 사용자가 터미널에서 대화형으로 코드를 작성, 편집, 검색, 실행할 수 있도록 하는 REPL(Read-Eval-Print Loop) 애플리케이션이다.

주요 특성:

  • Bun 런타임 기반 TypeScript 프로젝트 (빌드 시 bun:bundle feature flag 활용)
  • React Ink 기반 터미널 UI 렌더링
  • MCP(Model Context Protocol) 지원으로 외부 도구 통합
  • 다중 에이전트/팀(Swarm) 아키텍처 지원
  • IDE 연동 (VS Code, JetBrains 등)
  • 원격 세션(Bridge) 및 claude.ai 연동
  • 플러그인/스킬 확장 시스템

2. 아키텍처 개관

┌─────────────────────────────────────────────────────────────────┐
│                         Entrypoints                             │
│   main.tsx (CLI)  │  mcp.ts (MCP 서버)   │  sdk/ (Agent SDK)     │
└────────┬──────────┴──────────┬──────────┴──────────┬────────────┘
         │                     │                     │
         ▼                     ▼                     ▼
┌─────────────────────────────────────────────────────────────────┐
│                        Core Engine                              │
│  QueryEngine.ts  ←→  query.ts  ←→  Tool.ts / tools.ts           │
│  (메인 루프)           (API 호출)      (도구 정의/실행)                │
└────────┬──────────────────┬──────────────────┬──────────────────┘
         │                  │                  │
         ▼                  ▼                  ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────────────────┐
│  State Mgmt  │  │   Services   │  │     UI (React Ink)       │
│  AppState    │  │  API, MCP,   │  │  components/, screens/,  │
│  store.ts    │  │  Analytics,  │  │  ink/ (커스텀 렌더러)       │
│              │  │  LSP, OAuth  │  │                          │
└──────────────┘  └──────────────┘  └──────────────────────────┘
         │                  │
         ▼                  ▼
┌──────────────┐  ┌──────────────────────────────────┐
│   Bridge     │  │        Plugins / Skills          │
│  (원격 연동)   │  │  MCP 서버, 번들 스킬, 커스텀 확장      │
└──────────────┘  └──────────────────────────────────┘

3. 최상위 핵심 모듈

파일역할
main.tsx애플리케이션 진입점. Commander.js 기반 CLI 파싱, 인증, 설정 로드, GrowthBook 초기화, REPL 실행 등 전체 부트스트랩 수행
QueryEngine.ts메인 대화 루프 엔진. 사용자 입력 → API 호출 → 도구 실행 → 응답 생성의 핵심 사이클 관리. 자동 compact, context collapse, speculation 등 고급 기능 포함
query.tsClaude API 호출 계층. 메시지 정규화, 시스템 프롬프트 구성, 스트리밍 응답 처리, 에러 핸들링
Tool.ts도구 타입 정의 및 인터페이스. Tool, ToolUseContext, ToolPermissionContext 등 핵심 타입 정의
tools.ts도구 레지스트리. 사용 가능한 모든 도구(Bash, FileEdit, FileRead, Agent 등)를 등록하고 관리
commands.ts슬래시 명령어 레지스트리. /commit, /review, /mcp, /memory 등 모든 슬래시 명령을 등록
Task.ts태스크 타입 정의. 백그라운드 실행 단위(bash, agent, remote_agent, teammate 등) 정의
tasks.ts태스크 디스패칭. 태스크 타입별 spawn/kill 라우팅
setup.ts세션 초기화. 작업 디렉토리 설정, git 루트 탐색, 워크트리 생성, 세션 스토리지 초기화
cost-tracker.ts비용/토큰 추적. API 호출별 토큰 사용량, USD 비용, 모델별 사용량 집계
context.ts시스템/사용자 컨텍스트 생성. 운영체제, 셸, 프로젝트 정보를 시스템 프롬프트용 컨텍스트로 구성
replLauncher.tsxREPL 화면 실행기. App + REPL 컴포넌트를 Ink로 렌더링
ink.ts커스텀 Ink 인스턴스 생성. createInkApp과 Root 타입 export
history.ts세션 이력 관리. 과거 대화 세션의 로드/저장

4. 주요 카테고리별 상세 분석

4.1 UI / 렌더링 계층

components/ — React Ink 컴포넌트 (100+ 파일)

메인 UI를 구성하는 React 컴포넌트들의 대규모 컬렉션이다.

하위 영역주요 컴포넌트설명
앱 프레임App.tsx, FullscreenLayout.tsx전체 앱 래퍼, 레이아웃 관리
메시지 렌더링Message.tsx, Messages.tsx, MessageRow.tsx, VirtualMessageList.tsx대화 메시지 표시, 가상 스크롤 지원
프롬프트 입력PromptInput/, TextInput.tsx, VimTextInput.tsx, BaseTextInput.tsx사용자 입력 영역, Vim 모드 지원
다이얼로그BridgeDialog.tsx, CostThresholdDialog.tsx, ExportDialog.tsx, MCPServerApprovalDialog.tsx각종 모달/확인 다이얼로그
코드 표시HighlightedCode.tsx, Markdown.tsx, StructuredDiff.tsx, FileEditToolDiff.tsx코드 하이라이팅, 마크다운 렌더링, diffs
상태 표시StatusLine.tsx, Spinner.tsx, Stats.tsx, TokenWarning.tsx, MemoryUsageIndicator.tsx하단 상태바, 로딩 인디케이터, 통계
에이전트/팀agents/, teams/, CoordinatorAgentStatus.tsx다중 에이전트 관련 UI
설정Settings/, ThemePicker.tsx, OutputStylePicker.tsx, ModelPicker.tsx설정 화면, 테마/모델 선택기
온보딩Onboarding.tsx, IdeOnboardingDialog.tsx, ClaudeInChromeOnboarding.tsx최초 실행/연동 안내
MCPmcp/MCP 서버 관련 UI 컴포넌트
디자인 시스템design-system/, ui/공통 UI 프리미티브, 재사용 위젯
권한permissions/, TrustDialog/, sandbox/도구 실행 권한 확인 UI
기타Feedback.tsx, DevBar.tsx, SearchBox.tsx, LogSelector.tsx피드백, 개발자 도구, 검색

screens/ — 화면 단위 컴포넌트

파일설명
REPL.tsx메인 REPL 화면. 대화 인터페이스의 최상위 화면
Doctor.tsx진단(Doctor) 화면. 시스템 상태 점검
ResumeConversation.tsx이전 세션 재개 화면

hooks/ — React 커스텀 훅 (80+ 파일)

카테고리주요 훅설명
입력 처리useTextInput, useVimInput, useSearchInput, usePasteHandler텍스트/검색 입력, 붙여넣기 처리
세션 관리useSessionBackgrounding, useRemoteSession, useAssistantHistory세션 백그라운딩, 원격 세션
IDE 연동useIDEIntegration, useIdeConnectionStatus, useIdeSelectionIDE 상태/선택 동기화
팀/스웜useSwarmInitialization, useSwarmPermissionPoller, useMailboxBridge다중 에이전트 초기화
도구 권한useCanUseTool, toolPermission/도구 사용 가능 여부 판정
UI 상태useBlink, useElapsedTime, useTerminalSize, useVirtualScroll시각적/레이아웃 관련
외부 연동useVoice, useReplBridge, useTeleportResume음성, 원격 조종, 텔레포트
알림notifs/, useUpdateNotification, useNotifyAfterTimeout알림 관리

4.2 도구(Tool) 시스템

tools/ — 개별 도구 구현 (40+ 도구)

Claude가 사용할 수 있는 모든 도구의 구현체이다. 각 도구는 독립 디렉토리 내에 정의된다.

카테고리도구설명
파일 작업FileReadTool, FileWriteTool, FileEditTool, GlobTool, GrepTool파일 읽기/쓰기/편집, glob 검색, 텍스트 검색
셸 실행BashTool, PowerShellToolBash/PowerShell 명령 실행
에이전트AgentTool, SendMessageTool, TeamCreateTool, TeamDeleteTool서브 에이전트 생성/관리, 팀원 간 메시지
태스크 관리TaskCreateTool, TaskGetTool, TaskListTool, TaskOutputTool, TaskStopTool, TaskUpdateTool백그라운드 태스크 CRUD
계획(Plan)EnterPlanModeTool, ExitPlanModeTool계획 모드 진입/종료
워크트리EnterWorktreeTool, ExitWorktreeToolGit 워크트리 격리 작업
MCPMCPTool, McpAuthTool, ListMcpResourcesTool, ReadMcpResourceToolMCP 서버 도구 호출, 인증, 리소스
WebFetchTool, WebSearchTool웹 페이지 가져오기, 웹 검색
코드 분석LSPTool, ToolSearchToolLSP 기반 코드 분석, 도구 검색
사용자 상호작용AskUserQuestionTool, ConfigTool사용자 질문, 설정 변경
스킬SkillTool스킬 기반 코드 생성
기타TodoWriteTool, NotebookEditTool, REPLTool, SleepTool, BriefTool, SyntheticOutputToolTODO 관리, 노트북 편집, REPL 실행, 대기, 요약
스케줄링ScheduleCronTool, RemoteTriggerTool크론 작업, 원격 트리거
공유 유틸shared/, utils.ts, testing/도구 간 공통 로직, 테스트 헬퍼

4.3 명령어(Command) 시스템

commands/ — 슬래시 명령어 (90+ 명령어)

사용자가 / 접두사로 실행하는 인터랙티브 명령어들이다.

카테고리명령어설명
Git 작업commit, commit-push-pr, diff, branch/, pr_comments/커밋, PR 생성, diff 표시, 브랜치 관리
코드 리뷰review, security-review, bughunter/코드/보안 리뷰, 버그 헌팅
컨텍스트context/, compact/, add-dir/, files/컨텍스트 확인/축소, 디렉토리/파일 추가
설정config/, theme/, color/, model/, effort/, output-style/, permissions/모델, 테마, 컬러, 노력 수준, 권한 설정
세션session/, resume/, share/, export/, clear/세션 관리, 재개, 공유, 내보내기, 초기화
MCPmcp/, reload-plugins/MCP 서버 관리, 플러그인 리로드
메모리memory/메모리 파일 관리
에이전트agents/, tasks/에이전트/태스크 관리
IDEide/, desktop/, chrome/IDE/데스크톱/Chrome 연동
시스템doctor/, status/, version, help/, stats/, cost/, usage/진단, 상태, 버전, 도움말, 통계, 비용
원격bridge/, teleport/, remote-env/, remote-setup/원격 브릿지, 텔레포트, 원격 환경
계획plan/, ultraplan.tsx계획 모드, 울트라플랜
설치install.tsx, install-github-app/, install-slack-app/셸/앱 설치
기타btw/, good-claude/, feedback/, stickers/, onboarding/, voice/, vim/피드백, 온보딩, 음성/Vim 전환

4.4 서비스(Services) 계층

services/ — 핵심 비즈니스 서비스

하위 모듈설명
api/Claude API 클라이언트. 인증, 요청, 스트리밍, 에러 핸들링, 재시도 로직
mcp/MCP 클라이언트 관리. MCP 서버 연결, 도구/리소스 동기화, 채널 권한, 공식 레지스트리
analytics/분석/텔레메트리. GrowthBook 피처 플래그, Datadog 연동, 이벤트 로깅, 퍼스트파티 이벤트
lsp/LSP(Language Server Protocol) 클라이언트. 코드 분석, 심볼 탐색, 진단
oauth/OAuth 인증 플로우. 토큰 관리, 계정 정보
compact/컨텍스트 압축(Compact). 자동/수동 대화 요약으로 토큰 절약
plugins/플러그인 관리 서비스. CLI 명령어, 로드/언로드
policyLimits/정책 제한. 조직/엔터프라이즈 수준 사용 제한
remoteManagedSettings/원격 관리 설정. 관리자 배포 설정 동기화
settingsSync/설정 동기화
teamMemorySync/팀 메모리 동기화
tips/사용 팁/힌트
AgentSummary/에이전트 작업 요약
MagicDocs/문서 자동 참조
PromptSuggestion/프롬프트 제안
SessionMemory/세션 메모리 관리
extractMemories/메모리 자동 추출
toolUseSummary/도구 사용 요약 생성
autoDream/자동 Dream(백그라운드 작업)
tools/도구 관련 서비스 헬퍼
기타rateLimitMessages.ts, tokenEstimation.ts, claudeAiLimits.ts, voiceStreamSTT.ts

4.5 브릿지(Bridge) 시스템

bridge/ — 원격 세션 연동

Claude Code와 claude.ai 웹 인터페이스를 연결하는 양방향 브릿지 시스템이다.

파일설명
bridgeMain.ts브릿지 메인 루프. 세션 생성, 폴링, 재연결, 용량 조절
bridgeApi.ts브릿지 API 클라이언트. 인증, 세션 관리 REST 호출
bridgeMessaging.ts인바운드/아웃바운드 메시지 처리
bridgeConfig.ts브릿지 설정 로드/관리
bridgePermissionCallbacks.ts원격 사용자 권한 요청 콜백
bridgeUI.ts브릿지 상태 로깅/UI 표시
replBridge.ts / replBridgeHandle.tsREPL 내 브릿지 통합
sessionRunner.ts원격 세션 자식 프로세스 관리
jwtUtils.tsJWT 토큰 스케줄링/갱신
trustedDevice.ts신뢰 디바이스 토큰
workSecret.ts작업 시크릿(SDK URL) 생성/검증
inboundMessages.ts / inboundAttachments.ts수신 메시지/첨부 파일 처리
pollConfig.ts / pollConfigDefaults.ts폴링 간격 설정
capacityWake.ts용량 기반 웨이크업
flushGate.ts메시지 플러시 게이트
sessionIdCompat.ts세션 ID 호환성 변환
remoteBridgeCore.ts원격 브릿지 핵심 로직

4.6 상태 관리(State)

state/ — 앱 상태 관리

파일설명
AppState.tsxAppStateProvider React 컨텍스트 제공자. 상태 변경 감지 및 설정 배포
AppStateStore.tsAppState 타입 정의. 메시지, 도구 권한, MCP 연결, 플러그인, 태스크, 팀원, 워크트리, 알림 등 애플리케이션 전체 상태를 단일 객체로 관리
store.ts커스텀 상태 저장소 구현 (zustand 스타일 구독 패턴)
selectors.ts상태 선택자(Selector) 함수
onChangeAppState.ts상태 변경 시 사이드이펙트 처리
teammateViewHelpers.ts팀원 뷰 헬퍼

bootstrap/state.ts — 부트스트랩 전역 상태

세션 ID, 비용 카운터, 토큰 카운터, 모델 사용량 등 부트스트랩 시점에 초기화되는 전역 상태를 보관한다. AppState와는 별도로 런타임 전반에 걸쳐 사용되는 원시 카운터/플래그들이다.

4.7 태스크(Task) 시스템

tasks/ — 백그라운드 태스크 실행기

모듈설명
LocalShellTask/로컬 Bash 셸 명령 실행
LocalAgentTask/로컬 서브 에이전트 실행 (독립 컨텍스트)
RemoteAgentTask/원격 에이전트 실행
InProcessTeammateTask/인 프로세스 팀원(스웜) 에이전트
DreamTask/Dream(백그라운드 자율 작업) 태스크
LocalMainSessionTask.ts로컬 메인 세션 태스크
types.tsTaskState 통합 타입 (각 태스크 유형별 상태)
pillLabel.ts태스크 상태 표시 라벨
stopTask.ts태스크 종료 로직

태스크 유형:

  • local_bash — 셸 명령 실행
  • local_agent — 로컬 서브 에이전트
  • remote_agent — 원격 에이전트
  • in_process_teammate — 프로세스 내 팀원
  • local_workflow — 로컬 워크플로우
  • monitor_mcp — MCP 모니터링
  • dream — 자율 백그라운드 작업

4.8 CLI / 진입점(Entrypoints)

entrypoints/ — 실행 모드별 진입점

파일설명
cli.tsxCLI 모드 진입점 (대화형/비대화형)
init.ts초기화 로직. 텔레메트리, OAuth, 정책, CA 인증서, 프록시 등
mcp.tsMCP 서버 모드 진입점. Claude Code를 MCP 서버로 구동
sdk/Agent SDK 타입/스키마. SDK 메시지, 제어 메시지, 핵심 타입 정의
agentSdkTypes.tsSDK 관련 타입 (SDKMessage, SDKStatus, ModelUsage 등)
sandboxTypes.ts샌드박스 관련 타입

cli/ — CLI 인프라

파일/폴더설명
handlers/CLI 서브커맨드 핸들러 (agents, auth, autoMode, mcp, plugins)
transports/이벤트 전송 계층: WebSocketTransport, SSETransport, HybridTransport, SerialBatchEventUploader
print.tsCLI 출력 포맷팅
structuredIO.ts구조화된 NDJSON 입출력
remoteIO.ts원격 입출력
exit.ts종료 처리
update.ts자동 업데이트

4.9 유틸리티(Utils)

utils/ — 범용 유틸리티 (300+ 파일)

프로젝트 전반에서 사용되는 방대한 유틸리티 모음이다.

카테고리주요 파일/폴더설명
인증auth.ts, aws.ts, secureStorage/, authPortable.tsAPI 키, OAuth, AWS 자격증명, 키체인 스토리지
설정config.ts, settings/, configConstants.ts, managedEnv.ts전역/프로젝트 설정, MDM 관리 설정
모델model/, modelCost.ts, effort.ts, fastMode.ts, thinking.ts모델 선택, 비용 계산, 노력 수준, Fast 모드, 사고(Thinking)
Gitgit.ts, git/, gitDiff.ts, gitSettings.ts, worktree.tsGit 작업, diff, 워크트리 관리
파일 시스템file.ts, fileRead.ts, fileReadCache.ts, fsOperations.ts, filePersistence/파일 읽기/쓰기/캐싱
Shell.ts, ShellCommand.ts, bash/, shell/, powershell/셸 프로세스 관리, 명령 실행
권한permissions/, classifierApprovals.ts, autoModeDenials.ts도구 실행 권한, 자동 승인 분류기
텔레메트리telemetry/, telemetryAttributes.ts, diagLogs.tsOpenTelemetry 계측, 진단 로그
포맷팅format.ts, markdown.ts, diff.ts, cliHighlight.ts, ansiToPng.ts, ansiToSvg.ts텍스트/마크다운/diff 포맷팅, 이미지 변환
메시지messages.ts, messages/, messageQueueManager.ts, contentArray.ts메시지 생성/변환/큐 관리
컨텍스트context.ts, contextAnalysis.ts, contextSuggestions.ts, queryContext.ts컨텍스트 분석, 시스템 프롬프트 구성
프로세스process.ts, genericProcessUtils.ts, subprocessEnv.ts프로세스 관리, 환경 변수
이미지imageResizer.ts, imageStore.ts, imageValidation.ts, imagePaste.ts이미지 처리/검증
네트워크http.ts, proxy.ts, caCerts.ts, mtls.ts, mcpWebSocketTransport.tsHTTP, 프록시, CA 인증서, mTLS
MCPmcp/, mcpValidation.ts, mcpOutputStorage.tsMCP 유틸리티
플러그인plugins/플러그인 로더, 관리 유틸리티
스킬skills/스킬 변경 감지, 로더
스웜(팀)swarm/, teammate.ts, teammateContext.ts, teammateMailbox.ts다중 에이전트 스웜 인프라
텔레포트teleport/, teleport.tsx세션 텔레포트 (환경 간 이동)
IDEide.ts, idePathConversion.ts, jetbrains.ts, claudeDesktop.tsIDE 연동 유틸리티
훅(Hooks)hooks.ts, hooks/pre/post 패치 훅, 파일 변경 감지
크론cron.ts, cronScheduler.ts, cronTasks.ts크론 작업 스케줄링
메모리memory/메모리 파일 관리 유틸리티
TODOtodo/TODO 리스트 관리
태스크task/태스크 디스크 출력, 유틸리티
기타uuid.ts, sleep.ts, memoize.ts, array.ts, json.ts, xml.ts, yaml.ts, crypto.ts, semver.ts범용 헬퍼

4.10 플러그인 / 스킬 시스템

plugins/ — 플러그인 시스템

파일/폴더설명
builtinPlugins.ts빌트인 플러그인 정의
bundled/index.ts번들 플러그인 초기화

플러그인은 추가 도구와 명령어를 제공하며, MCP 서버로도 동작할 수 있다. services/plugins/에서 로딩/관리가 이루어진다.

skills/ — 스킬 시스템

파일/폴더설명
bundled/번들 스킬 정의
bundledSkills.ts번들 스킬 레지스트리
loadSkillsDir.ts스킬 디렉토리 로더
mcpSkillBuilders.tsMCP 기반 스킬 빌더

스킬은 특정 도메인의 코드 생성/작업을 위한 템플릿화된 워크플로우이다.

4.11 MCP (Model Context Protocol)

MCP 관련 코드는 여러 위치에 분산되어 있다:

  • services/mcp/ — MCP 클라이언트 매니저, 서버 연결 관리, 타입 정의 (types.tsMcpStdioServerConfig, McpSSEServerConfig 등)
  • tools/MCPTool/ — Claude가 MCP 서버 도구를 호출하는 도구
  • tools/ListMcpResourcesTool/, ReadMcpResourceTool/ — MCP 리소스 열람
  • tools/McpAuthTool/ — MCP OAuth 인증
  • commands/mcp/ — MCP 서버 관리 슬래시 명령어
  • components/mcp/ — MCP 관련 UI 컴포넌트
  • entrypoints/mcp.ts — Claude Code를 MCP 서버로 실행
  • utils/mcp/ — MCP 유틸리티

지원 전송 방식: stdio, sse, sse-ide, http, ws, sdk

4.12 Ink 터미널 렌더링 엔진

ink/ — 커스텀 React Ink 포크

표준 Ink 라이브러리를 프로젝트 내에 포크/확장한 커스텀 터미널 렌더링 엔진이다.

영역주요 파일설명
렌더링 코어reconciler.ts, renderer.ts, render-node-to-output.ts, render-to-screen.tsReact 재조정기, 노드→출력 변환
레이아웃layout/, measure-element.ts, measure-text.tsYoga 기반 Flexbox 레이아웃
텍스트 처리stringWidth.ts, wrap-text.ts, wrapAnsi.ts, squash-text-nodes.ts, tabstops.ts문자열 너비 계산, 줄바꿈, ANSI 처리
터미널 I/Otermio/, termio.ts, terminal.ts, terminal-querier.ts터미널 입출력, DEC 이스케이프 시퀀스
입력 처리parse-keypress.ts, focus.ts, events/키 입력 파싱, 포커스 관리
최적화optimizer.ts, node-cache.ts, line-width-cache.ts렌더링 최적화, 캐싱
기타colorize.ts, bidi.ts, searchHighlight.ts, selection.ts, screen.ts컬러, 양방향 텍스트, 검색 하이라이팅

4.13 키바인딩(Keybindings)

keybindings/ — 단축키 시스템

파일설명
KeybindingContext.tsx키바인딩 React 컨텍스트
defaultBindings.ts기본 단축키 정의
loadUserBindings.ts사용자 커스텀 단축키 로드
parser.ts / match.ts키 조합 파싱/매칭
resolver.ts키바인딩 해석기
schema.ts / validate.ts스키마 정의, 유효성 검증
reservedShortcuts.ts예약된 단축키 목록
template.ts키바인딩 설정 템플릿 생성

4.14 메모리(Memory) 시스템

memdir/ — 메모리 디렉토리 관리

파일설명
memdir.ts메모리 프롬프트 로드/관리
findRelevantMemories.ts관련 메모리 탐색
memoryScan.ts메모리 파일 스캔
memoryAge.ts메모리 수명 관리
memoryTypes.ts메모리 타입 정의
paths.ts메모리 파일 경로 (CLAUDE.md 등)
teamMemPaths.ts / teamMemPrompts.ts팀 메모리 경로/프롬프트

CLAUDE.md 파일을 통한 프로젝트별 지시사항, 사용자 메모리, 세션 메모리 등 다계층 메모리를 관리한다.

4.15 원격(Remote) 세션

remote/ — 원격 세션 관리

파일설명
RemoteSessionManager.ts원격 세션 매니저
SessionsWebSocket.ts세션 WebSocket 연결
remotePermissionBridge.ts원격 권한 브릿지
sdkMessageAdapter.tsSDK 메시지 어댑터

4.16 Vim 모드

vim/ — Vim 에뮬레이션

파일설명
types.tsVim 상태/모드 타입 (Normal, Insert, Visual 등)
motions.ts이동 명령 (w, b, e, 0, $, f, t 등)
operators.ts연산자 (d, c, y 등)
textObjects.ts텍스트 객체 (iw, aw, i", a( 등)
transitions.ts모드 전환 로직

4.17 음성(Voice) 모드

voice/ — 음성 입력

파일설명
voiceModeEnabled.ts음성 모드 활성화 여부

음성 관련 서비스 로직은 services/voice.ts, services/voiceStreamSTT.ts, services/voiceKeyterms.ts에 분산되어 있다. Feature flag(VOICE_MODE)로 게이트된다.

4.18 마이그레이션(Migrations)

migrations/ — 설정/상태 마이그레이션

파일설명
migrateFennecToOpus.ts모델명 마이그레이션 (Fennec → Opus)
migrateSonnet45ToSonnet46.tsSonnet 4.5 → 4.6 마이그레이션
migrateAutoUpdatesToSettings.ts자동 업데이트 설정 마이그레이션
migrateBypassPermissionsAcceptedToSettings.ts권한 우회 설정 마이그레이션
resetAutoModeOptInForDefaultOffer.ts자동 모드 옵트인 리셋
기타레거시 설정 형식 → 현재 형식 변환

4.19 기타 모듈

모듈설명
coordinator/코디네이터 모드 (coordinatorMode.ts). 다중 에이전트 오케스트레이션 (feature flag: COORDINATOR_MODE)
assistant/어시스턴트 모드 (sessionHistory.ts). 항상 실행되는 데몬 형태 (feature flag: KAIROS)
buddy/컴패니언 시스템. 감정 반응 스프라이트(CompanionSprite.tsx), 알림(useBuddyNotification.tsx)
context/ (하위)React 컨텍스트. 메시지 큐, 모달, 오버레이, FPS 메트릭, 음성, 알림, 통계
constants/상수 정의. API 제한, 베타, 에러 컴드, 시스템 프롬프트 섹션, 도구 제한, XML 태그
types/공유 타입 정의. 명령, 생성된 타입, 훅, ID, 로그, 권한, 플러그인, 메시지
schemas/Zod 스키마. 훅 설정 스키마
native-ts/네이티브 TypeScript 바인딩. color-diff/ (ANSI 색상 diff), file-index/ (파일 인덱싱), yoga-layout/ (레이아웃 엔진)
outputStyles/출력 스타일. 커스텀 출력 포맷 로더
moreright/useMoreRight 훅 (추가 우측 패널)
upstreamproxy/업스트림 프록시. relay.ts, upstreamproxy.ts — HTTP(S) 프록시 릴레이
query/쿼리 설정. config.ts, deps.ts, stopHooks.ts, tokenBudget.ts

5. 기술 스택 요약

영역기술
런타임Bun
언어TypeScript (.ts, .tsx)
UI 프레임워크React + 커스텀 Ink 포크 (터미널 렌더링)
레이아웃 엔진Yoga (Flexbox)
CLI 파싱Commander.js (@commander-js/extra-typings)
AI APIAnthropic Claude SDK (@anthropic-ai/sdk)
프로토콜MCP (Model Context Protocol, @modelcontextprotocol/sdk)
상태 관리커스텀 Store (zustand 스타일 구독 패턴)
검증Zod v4
텔레메트리OpenTelemetry, Datadog, GrowthBook (Feature Flags)
빌드bun:bundle (Feature flag 기반 Dead Code Elimination)
전송WebSocket, SSE, stdio (MCP 전송)
코드 분석LSP (Language Server Protocol)
버전 관리Git 연동 (worktree, diff, commit attribution)
인증OAuth, API Key, AWS Credentials, JWT
보안샌드박스, 권한 분류기, mTLS, CA 인증서
  • 레이블 없음