How jeayeong-hong/claude-code works
Claude Code is a terminal-based software engineering assistant. The user interacts through the CLI and Ink interface; prompts enter the query engine, which communicates with Claude and coordinates tool execution, then presents results in the terminal. The graph also preserves documented command, integration, session, and configuration capabilities. Relationships are limited to explicit README descriptions or source-index references; several feature implementations were not sampled, so their connections are omitted where evidence is unavailable.
Main entry points: QueryEngine.ts Query Engine · commands.ts Slash Commands · ink.ts Ink Terminal UI · config.ts Configuration
Components 29
CLI Interaction
- Slash Commands
src/commands.ts - Ink Terminal UI
src/ink.ts
Agent Runtime
- Query Engine
src/QueryEngine.ts - Tool Contracts
src/Tool.ts - Conversation Messages
src/utils/messages.ts
Engineering Capabilities
- File Operations
src/tools - Shell and Git
src/tools - Code Search
src/tools - Agents and Tasks
src/tools - Persistent Memory
src/memdir
Integrations
- Anthropic API
src/services/api - MCP Servers
src/services/mcp/MCPConnectionManager.tsx - Language Servers
src/services/lsp/LSPServerManager.ts - IDE Bridge
src/bridge/bridgeMain.ts - Remote Sessions
src/remote/RemoteSessionManager.ts - Plugin Management
src/services/plugins/PluginInstallationManager.ts
State and Configuration
- Runtime State
src/bootstrap/state.ts - Configuration
src/utils/config.ts - Session Storage
src/utils/sessionStorage.ts - Tool Result Storage
src/utils/toolResultStorage.ts - Feature Flags
src/services/analytics/growthbook.ts - Debug Logging
src/utils/debug.ts - Application Logging
src/utils/log.ts - Environment Utilities
src/utils/envUtils.ts - File History
src/utils/fileHistory.ts - Filesystem Utilities
src/utils/fsOperations.ts - JSON Utilities
src/utils/json.ts - Slow Operation Tracking
src/utils/slowOperations.ts
Other components
- Engineer
Connections 28
- Engineer → Ink Terminal UI: enters prompts
- Engineer → Slash Commands: invokes commands
- Ink Terminal UI → Query Engine: submits requests
- Query Engine → Anthropic API: calls API
src/QueryEngine.ts - Query Engine → Tool Contracts: uses tool definitions
src/QueryEngine.ts - Query Engine → Conversation Messages: processes messages
src/QueryEngine.ts - Query Engine → File Operations: dispatches tools
src/QueryEngine.ts - Query Engine → Shell and Git: dispatches tools
src/QueryEngine.ts - Query Engine → Code Search: dispatches tools
src/QueryEngine.ts - Query Engine → Agents and Tasks: dispatches tools
src/QueryEngine.ts - Query Engine → Persistent Memory: uses memory
src/QueryEngine.ts - Slash Commands → Session Storage: manages sessions
src/utils/sessionStorage.ts - Slash Commands → MCP Servers: manages servers
src/services/mcp/MCPConnectionManager.tsx - Slash Commands → Plugin Management: manages plugins
src/services/plugins/PluginInstallationManager.ts - Slash Commands → Language Servers: configures LSP
- Slash Commands → Remote Sessions: supports handoff
- IDE Bridge → Ink Terminal UI: communicates with
- Remote Sessions → Anthropic API: uses remote services
- Runtime State → Session Storage: provides session state
src/utils/sessionStorage.ts - Configuration → Runtime State: reads runtime state
src/utils/config.ts - Query Engine → Tool Result Storage: stores tool results
- Environment Utilities → Configuration: selects config paths
src/utils/config.ts - Debug Logging → Filesystem Utilities: writes debug logs
src/utils/debug.ts - Slow Operation Tracking → Debug Logging: logs slow operations
src/utils/slowOperations.ts - Application Logging → Conversation Messages: formats log titles
src/utils/log.ts - Feature Flags → Slash Commands: gates features
- File History → Filesystem Utilities: tracks file changes
- JSON Utilities → Configuration: handles config data
src/utils/config.ts