Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Kinetic27/claude-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

Claude Code Source - Buildable Research Fork

Build Status Bun TypeScript Lines of Code License Stars Forks

A buildable, modifiable, and runnable version of the Claude Code source.

Based on the Claude Code source snapshot publicly exposed on 2026年03月31日 via an npm source map leak. The original snapshot contained only raw TypeScript source with no build configuration — it could not be compiled or run. This fork reconstructs the full build system and fixes all missing components to make it functional.

Quick Start | Architecture | Feature Flags | Extension Guide


Quick Start

Prerequisites

  • Bun >= 1.3.x
  • Valid Anthropic authentication (OAuth via claude login or ANTHROPIC_API_KEY)

Install & Run

git clone https://github.com/beita6969/claude-code.git
cd claude-code
# Install dependencies (auto-creates bun:bundle polyfill via postinstall)
bun install
# Run directly
bun src/main.tsx -p "your prompt here" --output-format text

Build (Optional)

Run Modes

# Headless print mode (no TTY needed)
bun src/main.tsx -p "your prompt here" --output-format text
# JSON output
bun src/main.tsx -p "your prompt here" --output-format json
# Interactive REPL mode (needs TTY)
bun src/main.tsx

Note: If ANTHROPIC_API_KEY is set in your environment, it must be valid. To use OAuth instead, unset it:

unset ANTHROPIC_API_KEY

What Changed vs. the Original Snapshot

The original snapshot shipped no package.json, no tsconfig.json, no lockfile, and no build scripts. Over 100 internal/feature-gated modules were also missing from the source map.

Build System (Reconstructed)

File Purpose
package.json 60+ npm dependencies reverse-engineered from ~1,900 source files
tsconfig.json TypeScript config (ESNext + JSX + Bun bundler resolution)
bunfig.toml Bun runtime configuration
scripts/postinstall.sh Auto-creates bun:bundle runtime polyfill after bun install
.gitignore Excludes node_modules/, dist/, lockfiles

Stub Modules (Created)

The original source imports many Anthropic-internal packages and feature-gated modules that were not included in the leak. Minimal stubs were created so the build completes:

Category Count Examples
Anthropic internal packages (@ant/*) 4 computer-use-mcp, computer-use-swift, claude-for-chrome-mcp
Native addons 3 color-diff-napi, audio-capture-napi, modifiers-napi
Cloud provider SDKs 6 Bedrock/Foundry/Vertex SDK, AWS STS, Azure Identity
OpenTelemetry exporters 10 OTLP gRPC/HTTP/Proto exporters
Other optional packages 2 sharp, turndown
Feature-gated source modules ~90 Tools, commands, services, components excluded from the source map

Source Fixes

File Change
src/main.tsx Runtime MACRO constant injection (compile-time define in production)
src/main.tsx Fixed Commander.js -d2e short flag incompatibility
src/bootstrap/state.ts Added missing isReplBridgeActive() export
src/types/connectorText.ts Added isConnectorTextBlock function stub
src/tools/WorkflowTool/constants.ts Added WORKFLOW_TOOL_NAME export

Architecture Overview

src/
├── main.tsx # CLI entrypoint (Commander.js + React/Ink)
├── QueryEngine.ts # Core LLM API engine
├── query.ts # Agentic loop (async generator)
├── Tool.ts # Tool type definitions
├── tools.ts # Tool registry
├── commands.ts # Command registry
├── context.ts # System prompt context
│
├── tools/ # 40+ tool implementations
│ ├── AgentTool/ # Sub-agent spawning & coordination
│ ├── BashTool/ # Shell command execution
│ ├── FileReadTool/ # File reading
│ ├── FileEditTool/ # File editing
│ ├── GrepTool/ # ripgrep-based search
│ ├── MCPTool/ # MCP server tool invocation
│ ├── SkillTool/ # Skill execution
│ └── ...
│
├── services/ # External integrations
│ ├── api/ # Anthropic API client
│ ├── mcp/ # MCP server management
│ └── ...
│
├── memdir/ # Persistent memory system
├── skills/ # Skill system (bundled + user)
├── components/ # React/Ink terminal UI
├── hooks/ # React hooks
├── coordinator/ # Multi-agent orchestration
└── stubs/ # Stub packages for missing internals

Key Systems

System Files Description
Agentic Loop query.ts, QueryEngine.ts while(true) async generator: query -> tool calls -> results -> loop
Memory memdir/ 4-type file-based memory (user/feedback/project/reference) with MEMORY.md index
MCP services/mcp/ Model Context Protocol server management (stdio/http/sse/ws)
Skills skills/, tools/SkillTool/ Reusable workflow templates (SKILL.md format)
Agents tools/AgentTool/ Custom agent types via .claude/agents/*.md
System Prompt constants/prompts.ts Layered prompt: static -> dynamic -> memory -> agent

Extension Points (No Source Modification Needed)

Mechanism Location Format
Custom Skills .claude/skills/name/SKILL.md YAML frontmatter + Markdown
Custom Agents .claude/agents/name.md YAML frontmatter + Markdown
MCP Servers .mcp.json JSON config
Hooks ~/.claude/settings.json JSON event-action mappings

Feature Flags

The bun:bundle feature() function controls feature gating. In this build, all features default to disabled. To enable features, edit node_modules/bundle/index.js (auto-generated by bun install):

const ENABLED_FEATURES = new Set([
 // Uncomment to enable:
 // 'KAIROS', // Assistant mode
 // 'PROACTIVE', // Proactive mode
 // 'BRIDGE_MODE', // IDE bridge
 // 'VOICE_MODE', // Voice input
 // 'COORDINATOR_MODE', // Multi-agent coordinator
 // 'EXTRACT_MEMORIES', // Background memory extraction
 // 'TEAMMEM', // Team memory
])

Tech Stack

Layer Technology
Runtime Bun
Language TypeScript (strict)
Terminal UI React + Ink
CLI Commander.js
Validation Zod v4
Search ripgrep
Protocols MCP SDK, LSP
API Anthropic SDK
Telemetry OpenTelemetry

Scale

  • ~1,900 source files
  • 512,000+ lines of TypeScript
  • 40+ tools, 100+ commands, 140+ UI components
  • 20MB compiled bundle

Disclaimer

  • This repository is for educational and research purposes only.
  • The original Claude Code source is the property of Anthropic.
  • This repository is not affiliated with, endorsed by, or maintained by Anthropic.
  • Original source exposure: 2026年03月31日 via npm source map leak.

If this helps your research, please give it a ⭐!

About

Claude Code Source - Buildable Research Fork. Reverse-engineered build system, runnable with Bun.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • TypeScript 99.9%
  • Other 0.1%

AltStyle によって変換されたページ (->オリジナル) /