mirror of
https://github.com/sanbuphy/claude-code-source-code.git
synced 2026-04-03 11:34:54 +08:00
README: move Directory Reference above Architecture Overview
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
266
README.md
266
README.md
@@ -58,6 +58,139 @@ please contact the repository owner for immediate removal.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Directory Reference
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── main.tsx # REPL bootstrap, 4,683 lines
|
||||||
|
├── QueryEngine.ts # SDK/headless query lifecycle engine
|
||||||
|
├── query.ts # Main agent loop (785KB, largest file)
|
||||||
|
├── Tool.ts # Tool interface + buildTool factory
|
||||||
|
├── Task.ts # Task types, IDs, state base
|
||||||
|
├── tools.ts # Tool registry, presets, filtering
|
||||||
|
├── commands.ts # Slash command definitions
|
||||||
|
├── context.ts # User input context
|
||||||
|
├── cost-tracker.ts # API cost accumulation
|
||||||
|
├── setup.ts # First-run setup flow
|
||||||
|
│
|
||||||
|
├── bridge/ # Claude Desktop / remote bridge
|
||||||
|
│ ├── bridgeMain.ts # Session lifecycle manager
|
||||||
|
│ ├── bridgeApi.ts # HTTP client
|
||||||
|
│ ├── bridgeConfig.ts # Connection config
|
||||||
|
│ ├── bridgeMessaging.ts # Message relay
|
||||||
|
│ ├── sessionRunner.ts # Process spawning
|
||||||
|
│ ├── jwtUtils.ts # JWT refresh
|
||||||
|
│ ├── workSecret.ts # Auth tokens
|
||||||
|
│ └── capacityWake.ts # Capacity-based wakeup
|
||||||
|
│
|
||||||
|
├── cli/ # CLI infrastructure
|
||||||
|
│ ├── handlers/ # Command handlers
|
||||||
|
│ └── transports/ # I/O transports (stdio, structured)
|
||||||
|
│
|
||||||
|
├── commands/ # ~80 slash commands
|
||||||
|
│ ├── agents/ # Agent management
|
||||||
|
│ ├── compact/ # Context compaction
|
||||||
|
│ ├── config/ # Settings management
|
||||||
|
│ ├── help/ # Help display
|
||||||
|
│ ├── login/ # Authentication
|
||||||
|
│ ├── mcp/ # MCP server management
|
||||||
|
│ ├── memory/ # Memory system
|
||||||
|
│ ├── plan/ # Plan mode
|
||||||
|
│ ├── resume/ # Session resume
|
||||||
|
│ ├── review/ # Code review
|
||||||
|
│ └── ... # 70+ more commands
|
||||||
|
│
|
||||||
|
├── components/ # React/Ink terminal UI
|
||||||
|
│ ├── design-system/ # Reusable UI primitives
|
||||||
|
│ ├── messages/ # Message rendering
|
||||||
|
│ ├── permissions/ # Permission dialogs
|
||||||
|
│ ├── PromptInput/ # Input field + suggestions
|
||||||
|
│ ├── LogoV2/ # Branding + welcome screen
|
||||||
|
│ ├── Settings/ # Settings panels
|
||||||
|
│ ├── Spinner.tsx # Loading indicators
|
||||||
|
│ └── ... # 40+ component groups
|
||||||
|
│
|
||||||
|
├── entrypoints/ # Application entry points
|
||||||
|
│ ├── cli.tsx # CLI main (version, help, daemon)
|
||||||
|
│ ├── sdk/ # Agent SDK (types, sessions)
|
||||||
|
│ └── mcp.ts # MCP server entry
|
||||||
|
│
|
||||||
|
├── hooks/ # React hooks
|
||||||
|
│ ├── useCanUseTool.tsx # Permission checking
|
||||||
|
│ ├── useReplBridge.tsx # Bridge connection
|
||||||
|
│ ├── notifs/ # Notification hooks
|
||||||
|
│ └── toolPermission/ # Tool permission handlers
|
||||||
|
│
|
||||||
|
├── services/ # Business logic layer
|
||||||
|
│ ├── api/ # Claude API client
|
||||||
|
│ │ ├── claude.ts # Streaming API calls
|
||||||
|
│ │ ├── errors.ts # Error categorization
|
||||||
|
│ │ └── withRetry.ts # Retry logic
|
||||||
|
│ ├── analytics/ # Telemetry + GrowthBook
|
||||||
|
│ ├── compact/ # Context compression
|
||||||
|
│ ├── mcp/ # MCP connection management
|
||||||
|
│ ├── tools/ # Tool execution engine
|
||||||
|
│ │ ├── StreamingToolExecutor.ts # Parallel tool runner
|
||||||
|
│ │ └── toolOrchestration.ts # Batch orchestration
|
||||||
|
│ ├── plugins/ # Plugin loader
|
||||||
|
│ └── settingsSync/ # Cross-device settings
|
||||||
|
│
|
||||||
|
├── state/ # Application state
|
||||||
|
│ ├── AppStateStore.ts # Store definition
|
||||||
|
│ └── AppState.tsx # React provider + hooks
|
||||||
|
│
|
||||||
|
├── tasks/ # Task implementations
|
||||||
|
│ ├── LocalShellTask/ # Bash command execution
|
||||||
|
│ ├── LocalAgentTask/ # Sub-agent execution
|
||||||
|
│ ├── RemoteAgentTask/ # Remote agent via bridge
|
||||||
|
│ ├── InProcessTeammateTask/ # In-process teammate
|
||||||
|
│ └── DreamTask/ # Background thinking
|
||||||
|
│
|
||||||
|
├── tools/ # 40+ tool implementations
|
||||||
|
│ ├── AgentTool/ # Sub-agent spawning + fork
|
||||||
|
│ ├── BashTool/ # Shell command execution
|
||||||
|
│ ├── FileReadTool/ # File reading (PDF, image, etc)
|
||||||
|
│ ├── FileEditTool/ # String-replace editing
|
||||||
|
│ ├── FileWriteTool/ # Full file creation
|
||||||
|
│ ├── GlobTool/ # File pattern search
|
||||||
|
│ ├── GrepTool/ # Content search (ripgrep)
|
||||||
|
│ ├── WebFetchTool/ # HTTP fetching
|
||||||
|
│ ├── WebSearchTool/ # Web search
|
||||||
|
│ ├── MCPTool/ # MCP tool wrapper
|
||||||
|
│ ├── SkillTool/ # Skill invocation
|
||||||
|
│ ├── AskUserQuestionTool/ # User interaction
|
||||||
|
│ └── ... # 30+ more tools
|
||||||
|
│
|
||||||
|
├── types/ # Type definitions
|
||||||
|
│ ├── message.ts # Message discriminated unions
|
||||||
|
│ ├── permissions.ts # Permission types
|
||||||
|
│ ├── tools.ts # Tool progress types
|
||||||
|
│ └── ids.ts # Branded ID types
|
||||||
|
│
|
||||||
|
├── utils/ # Utilities (largest directory)
|
||||||
|
│ ├── permissions/ # Permission rule engine
|
||||||
|
│ ├── messages/ # Message formatting
|
||||||
|
│ ├── model/ # Model selection logic
|
||||||
|
│ ├── settings/ # Settings management
|
||||||
|
│ ├── sandbox/ # Sandbox runtime adapter
|
||||||
|
│ ├── hooks/ # Hook execution
|
||||||
|
│ ├── memory/ # Memory system utils
|
||||||
|
│ ├── git/ # Git operations
|
||||||
|
│ ├── github/ # GitHub API
|
||||||
|
│ ├── bash/ # Bash execution helpers
|
||||||
|
│ ├── swarm/ # Multi-agent swarm
|
||||||
|
│ ├── telemetry/ # Telemetry reporting
|
||||||
|
│ └── ... # 30+ more util groups
|
||||||
|
│
|
||||||
|
└── vendor/ # Native module source stubs
|
||||||
|
├── audio-capture-src/ # Audio input
|
||||||
|
├── image-processor-src/ # Image processing
|
||||||
|
├── modifiers-napi-src/ # Native modifiers
|
||||||
|
└── url-handler-src/ # URL handling
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Architecture Overview
|
## Architecture Overview
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -601,139 +734,6 @@ This source code demonstrates 12 layered mechanisms that a production AI agent h
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Directory Reference
|
|
||||||
|
|
||||||
```
|
|
||||||
src/
|
|
||||||
├── main.tsx # REPL bootstrap, 4,683 lines
|
|
||||||
├── QueryEngine.ts # SDK/headless query lifecycle engine
|
|
||||||
├── query.ts # Main agent loop (785KB, largest file)
|
|
||||||
├── Tool.ts # Tool interface + buildTool factory
|
|
||||||
├── Task.ts # Task types, IDs, state base
|
|
||||||
├── tools.ts # Tool registry, presets, filtering
|
|
||||||
├── commands.ts # Slash command definitions
|
|
||||||
├── context.ts # User input context
|
|
||||||
├── cost-tracker.ts # API cost accumulation
|
|
||||||
├── setup.ts # First-run setup flow
|
|
||||||
│
|
|
||||||
├── bridge/ # Claude Desktop / remote bridge
|
|
||||||
│ ├── bridgeMain.ts # Session lifecycle manager
|
|
||||||
│ ├── bridgeApi.ts # HTTP client
|
|
||||||
│ ├── bridgeConfig.ts # Connection config
|
|
||||||
│ ├── bridgeMessaging.ts # Message relay
|
|
||||||
│ ├── sessionRunner.ts # Process spawning
|
|
||||||
│ ├── jwtUtils.ts # JWT refresh
|
|
||||||
│ ├── workSecret.ts # Auth tokens
|
|
||||||
│ └── capacityWake.ts # Capacity-based wakeup
|
|
||||||
│
|
|
||||||
├── cli/ # CLI infrastructure
|
|
||||||
│ ├── handlers/ # Command handlers
|
|
||||||
│ └── transports/ # I/O transports (stdio, structured)
|
|
||||||
│
|
|
||||||
├── commands/ # ~80 slash commands
|
|
||||||
│ ├── agents/ # Agent management
|
|
||||||
│ ├── compact/ # Context compaction
|
|
||||||
│ ├── config/ # Settings management
|
|
||||||
│ ├── help/ # Help display
|
|
||||||
│ ├── login/ # Authentication
|
|
||||||
│ ├── mcp/ # MCP server management
|
|
||||||
│ ├── memory/ # Memory system
|
|
||||||
│ ├── plan/ # Plan mode
|
|
||||||
│ ├── resume/ # Session resume
|
|
||||||
│ ├── review/ # Code review
|
|
||||||
│ └── ... # 70+ more commands
|
|
||||||
│
|
|
||||||
├── components/ # React/Ink terminal UI
|
|
||||||
│ ├── design-system/ # Reusable UI primitives
|
|
||||||
│ ├── messages/ # Message rendering
|
|
||||||
│ ├── permissions/ # Permission dialogs
|
|
||||||
│ ├── PromptInput/ # Input field + suggestions
|
|
||||||
│ ├── LogoV2/ # Branding + welcome screen
|
|
||||||
│ ├── Settings/ # Settings panels
|
|
||||||
│ ├── Spinner.tsx # Loading indicators
|
|
||||||
│ └── ... # 40+ component groups
|
|
||||||
│
|
|
||||||
├── entrypoints/ # Application entry points
|
|
||||||
│ ├── cli.tsx # CLI main (version, help, daemon)
|
|
||||||
│ ├── sdk/ # Agent SDK (types, sessions)
|
|
||||||
│ └── mcp.ts # MCP server entry
|
|
||||||
│
|
|
||||||
├── hooks/ # React hooks
|
|
||||||
│ ├── useCanUseTool.tsx # Permission checking
|
|
||||||
│ ├── useReplBridge.tsx # Bridge connection
|
|
||||||
│ ├── notifs/ # Notification hooks
|
|
||||||
│ └── toolPermission/ # Tool permission handlers
|
|
||||||
│
|
|
||||||
├── services/ # Business logic layer
|
|
||||||
│ ├── api/ # Claude API client
|
|
||||||
│ │ ├── claude.ts # Streaming API calls
|
|
||||||
│ │ ├── errors.ts # Error categorization
|
|
||||||
│ │ └── withRetry.ts # Retry logic
|
|
||||||
│ ├── analytics/ # Telemetry + GrowthBook
|
|
||||||
│ ├── compact/ # Context compression
|
|
||||||
│ ├── mcp/ # MCP connection management
|
|
||||||
│ ├── tools/ # Tool execution engine
|
|
||||||
│ │ ├── StreamingToolExecutor.ts # Parallel tool runner
|
|
||||||
│ │ └── toolOrchestration.ts # Batch orchestration
|
|
||||||
│ ├── plugins/ # Plugin loader
|
|
||||||
│ └── settingsSync/ # Cross-device settings
|
|
||||||
│
|
|
||||||
├── state/ # Application state
|
|
||||||
│ ├── AppStateStore.ts # Store definition
|
|
||||||
│ └── AppState.tsx # React provider + hooks
|
|
||||||
│
|
|
||||||
├── tasks/ # Task implementations
|
|
||||||
│ ├── LocalShellTask/ # Bash command execution
|
|
||||||
│ ├── LocalAgentTask/ # Sub-agent execution
|
|
||||||
│ ├── RemoteAgentTask/ # Remote agent via bridge
|
|
||||||
│ ├── InProcessTeammateTask/ # In-process teammate
|
|
||||||
│ └── DreamTask/ # Background thinking
|
|
||||||
│
|
|
||||||
├── tools/ # 40+ tool implementations
|
|
||||||
│ ├── AgentTool/ # Sub-agent spawning + fork
|
|
||||||
│ ├── BashTool/ # Shell command execution
|
|
||||||
│ ├── FileReadTool/ # File reading (PDF, image, etc)
|
|
||||||
│ ├── FileEditTool/ # String-replace editing
|
|
||||||
│ ├── FileWriteTool/ # Full file creation
|
|
||||||
│ ├── GlobTool/ # File pattern search
|
|
||||||
│ ├── GrepTool/ # Content search (ripgrep)
|
|
||||||
│ ├── WebFetchTool/ # HTTP fetching
|
|
||||||
│ ├── WebSearchTool/ # Web search
|
|
||||||
│ ├── MCPTool/ # MCP tool wrapper
|
|
||||||
│ ├── SkillTool/ # Skill invocation
|
|
||||||
│ ├── AskUserQuestionTool/ # User interaction
|
|
||||||
│ └── ... # 30+ more tools
|
|
||||||
│
|
|
||||||
├── types/ # Type definitions
|
|
||||||
│ ├── message.ts # Message discriminated unions
|
|
||||||
│ ├── permissions.ts # Permission types
|
|
||||||
│ ├── tools.ts # Tool progress types
|
|
||||||
│ └── ids.ts # Branded ID types
|
|
||||||
│
|
|
||||||
├── utils/ # Utilities (largest directory)
|
|
||||||
│ ├── permissions/ # Permission rule engine
|
|
||||||
│ ├── messages/ # Message formatting
|
|
||||||
│ ├── model/ # Model selection logic
|
|
||||||
│ ├── settings/ # Settings management
|
|
||||||
│ ├── sandbox/ # Sandbox runtime adapter
|
|
||||||
│ ├── hooks/ # Hook execution
|
|
||||||
│ ├── memory/ # Memory system utils
|
|
||||||
│ ├── git/ # Git operations
|
|
||||||
│ ├── github/ # GitHub API
|
|
||||||
│ ├── bash/ # Bash execution helpers
|
|
||||||
│ ├── swarm/ # Multi-agent swarm
|
|
||||||
│ ├── telemetry/ # Telemetry reporting
|
|
||||||
│ └── ... # 30+ more util groups
|
|
||||||
│
|
|
||||||
└── vendor/ # Native module source stubs
|
|
||||||
├── audio-capture-src/ # Audio input
|
|
||||||
├── image-processor-src/ # Image processing
|
|
||||||
├── modifiers-napi-src/ # Native modifiers
|
|
||||||
└── url-handler-src/ # URL handling
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Build Notes
|
## Build Notes
|
||||||
|
|
||||||
This source is **not directly compilable** from this repo alone:
|
This source is **not directly compilable** from this repo alone:
|
||||||
|
|||||||
Reference in New Issue
Block a user