https://github.com/ruvnet/open-claude-code
Nightly Claude Code CLI Decompile — Reverse Engineered & Rebuilt
https://github.com/ruvnet/open-claude-code
claude-code clean-room clean-room-reimplementation decompiler
Last synced: 23 days ago
JSON representation
Nightly Claude Code CLI Decompile — Reverse Engineered & Rebuilt
- Host: GitHub
- URL: https://github.com/ruvnet/open-claude-code
- Owner: ruvnet
- License: mit
- Created: 2025-02-24T20:52:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-08T04:05:50.000Z (about 1 month ago)
- Last Synced: 2026-05-08T06:13:51.016Z (about 1 month ago)
- Topics: claude-code, clean-room, clean-room-reimplementation, decompiler
- Language: JavaScript
- Homepage: https://github.com/ruvnet/RuVector
- Size: 24.1 MB
- Stars: 264
- Watchers: 3
- Forks: 109
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Open Claude Code
Open Source Claude Code CLI — Reverse Engineered & Rebuilt
A fully functional open source implementation of Anthropic's Claude Code CLI,
built from decompiled source intelligence using ruDevolution.
> **Automated Nightly Releases** — Open Claude Code automatically detects new [Claude Code](https://www.npmjs.com/package/@anthropic-ai/claude-code) releases, runs 903+ tests to verify zero regressions, and publishes verified builds with AI-powered discovery analysis. See [Releases](https://github.com/ruvnet/open-claude-code/releases) | [ADR-001](docs/adr/ADR-001-nightly-verified-release-pipeline.md) | [pi.ruv.io](https://pi.ruv.io)
---
## ⚡ Quick Start
```bash
# Run instantly (no install)
npx @ruvnet/open-claude-code "explain this codebase"
# Or install globally
npm install -g @ruvnet/open-claude-code
occ "hello"
# Interactive mode
occ
```
**Requires:** `ANTHROPIC_API_KEY` environment variable set.
```bash
export ANTHROPIC_API_KEY=sk-ant-...
npx @ruvnet/open-claude-code "what files are in this directory?"
```
---
## 🧠 What Is This?
**Open Claude Code** is a ground-up open source rebuild of Anthropic's [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code), informed by [ruDevolution's](https://github.com/ruvnet/rudevolution) AI-powered decompilation of the published npm package.
It's not a copy — it's a clean-room implementation that mirrors the actual Claude Code architecture: async generator agent loop, 25 tools, 4 MCP transports, 6 permission modes, hooks, settings chain, sessions, and more.
**1,581 tests. 61 files. 8,314 lines. 100% functional.**
---
## 📦 Installation
### npx (no install needed)
```bash
npx @ruvnet/open-claude-code "your prompt here"
```
### Global install
```bash
npm install -g @ruvnet/open-claude-code
occ "your prompt here"
```
### From source
```bash
git clone https://github.com/ruvnet/open-claude-code.git
cd open-claude-code/v2
export ANTHROPIC_API_KEY=sk-ant-...
node src/index.mjs "hello"
```
---
## 🖥️ Usage
### One-shot mode
```bash
occ "explain the auth module"
occ "fix the bug in server.js"
occ "create a REST API for user management"
occ "find all TODO comments in this project"
```
### Interactive REPL
```bash
occ
# > explain this codebase
# > /help
# > /tools
# > /model claude-opus-4-6
# > refactor the database layer
# > /cost
# > /exit
```
### CLI Options
```bash
occ [options] [prompt]
Options:
-m, --model Model to use (default: claude-sonnet-4-6)
-p, --print Print mode (non-interactive, output only)
--permission-mode Permission mode: default, auto, plan, acceptEdits,
bypassPermissions, dontAsk
--system-prompt Override system prompt
--add-dir Additional CLAUDE.md directory
--max-turns Maximum conversation turns
--allowedTools Comma-separated allowed tools
--disallowedTools Comma-separated denied tools
--output-format Output: text, json, stream-json
-v, --verbose Verbose output
-d, --debug Debug mode
--version Show version
-h, --help Show help
```
### Examples
```bash
# Use a different model
occ -m claude-opus-4-6 "design a database schema for a blog"
# Print mode (for piping)
occ -p "list all functions in src/" > functions.txt
# Plan mode (read-only, no edits)
occ --permission-mode plan "review the security of auth.js"
# Restrict tools
occ --allowedTools "Read,Glob,Grep" "find all API endpoints"
# With custom system prompt
occ --system-prompt "You are a senior Go developer" "review main.go"
```
---
## 🔧 Interactive Commands
40 slash commands available in REPL mode:
| Command | Description |
|---------|-------------|
| `/help` | Show all commands |
| `/model ` | Switch model mid-conversation |
| `/tools` | List available tools |
| `/tokens` | Show current token usage |
| `/cost` | Show session cost estimate |
| `/compact` | Compact context window |
| `/undo` | Undo last file edit |
| `/clear` | Clear conversation history |
| `/doctor` | Check API connectivity + health |
| `/fast` | Toggle fast mode (Haiku) |
| `/effort ` | Set effort: low, medium, high, max |
| `/resume [id]` | Resume a previous session |
| `/sessions` | List saved sessions |
| `/agents` | List custom agents |
| `/skills` | List available skills |
| `/hooks` | Show active hooks |
| `/config` | Show current settings |
| `/permissions` | Show permission mode |
| `/mcp` | Show MCP server status |
| `/memory` | Show memory usage |
| `/exit` | Exit |
---
## 🔨 Tools
25 built-in tools matching Claude Code's tool system:
| Tool | Description |
|------|-------------|
| **Bash** | Execute shell commands (sandboxed) |
| **Read** | Read files with line numbers |
| **Edit** | Replace strings in files |
| **Write** | Create/overwrite files |
| **Glob** | Find files by pattern |
| **Grep** | Search file contents (regex) |
| **LS** | List directory contents |
| **Agent** | Spawn sub-agents |
| **WebFetch** | Fetch URL content |
| **WebSearch** | Web search |
| **TodoWrite** | Task management |
| **NotebookEdit** | Edit Jupyter notebooks |
| **MultiEdit** | Atomic multi-file edits |
| **ToolSearch** | Discover deferred tools |
| **AskUser** | Prompt user for input |
| **Skill** | Invoke a skill |
| **SendMessage** | Agent team messaging |
| **CronCreate/Delete/List** | Scheduled tasks |
| **EnterWorktree/ExitWorktree** | Git worktree isolation |
| **RemoteTrigger** | Remote execution |
| **LSP** | Language server protocol |
| **ReadMcpResource** | Read MCP resources |
---
## ⚙️ Configuration
### Settings
Create `.claude/settings.json` in your project or `~/.claude/settings.json` globally:
```json
{
"model": "claude-sonnet-4-6",
"permissions": {
"defaultMode": "auto"
},
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "echo 'Running bash...'" }]
}]
},
"autoCompactEnabled": true,
"alwaysThinkingEnabled": true
}
```
Settings are loaded from 4 sources (in priority order):
1. `.claude/settings.local.json` (local, gitignored)
2. `.claude/settings.json` (project, shared)
3. `~/.claude/settings.json` (user global)
4. Managed policy (enterprise)
### CLAUDE.md
Create a `CLAUDE.md` in your project root to customize behavior:
```markdown
# Project Rules
- Always use TypeScript
- Follow TDD
- Keep files under 500 lines
```
CLAUDE.md files are loaded from: `~/.claude/CLAUDE.md` → parent directories → project root → `.claude/CLAUDE.md`.
### Custom Agents
Create `.claude/agents/reviewer.md`:
```markdown
---
name: reviewer
description: Code review specialist
model: claude-sonnet-4-6
tools: [Read, Glob, Grep]
---
You are a thorough code reviewer. Check for bugs, security issues, and style.
```
### Skills
Create `.claude/skills/deploy/SKILL.md`:
```markdown
---
name: deploy
description: Deploy to production
---
1. Run tests: npm test
2. Build: npm run build
3. Deploy: ./scripts/deploy.sh
```
Invoke with `/deploy` in the REPL.
---
## 🔐 Multi-Provider Support
Works with 5 AI providers:
```bash
# Anthropic (default)
ANTHROPIC_API_KEY=... occ "hello"
# OpenAI
OPENAI_API_KEY=... occ -m gpt-4o "hello"
# Google
GOOGLE_AI_API_KEY=... occ -m gemini-2.5-flash "hello"
# AWS Bedrock
AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... occ -m bedrock/claude-sonnet "hello"
# Google Vertex
GOOGLE_APPLICATION_CREDENTIALS=... occ -m vertex/claude-sonnet "hello"
```
---
## 🔗 MCP Integration
Connect to MCP servers for additional tools:
```json
// .mcp.json
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "my-mcp-server"],
"env": { "API_KEY": "..." }
}
}
}
```
Supports 4 transports: stdio, SSE, Streamable HTTP, WebSocket.
---
## 🔍 Background: The Claude Code Source Leak
On March 31, 2026, Anthropic accidentally shipped source maps in the Claude Code npm package, [exposing the full TypeScript source](https://www.sabrina.dev/p/claude-code-source-leak-analysis). This project takes a different approach — we use [ruDevolution](https://github.com/ruvnet/rudevolution) to analyze the **published npm package** legally and rebuild from that intelligence.
### What ruDevolution Found
| Discovery | Evidence |
|-----------|---------|
| 🤖 Agent Teams | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` |
| 🌙 Auto Dream Mode | `tengu_auto_dream_completed` |
| 🔮 claude-opus-4-6 | Unreleased model ID |
| 🔐 6 "amber" codenames | Internal feature gates |
| ☁️ Cloud Code Runner | BYOC compute |
| 📡 MCP Streamable HTTP | New transport |
[Download decompiled releases →](https://github.com/ruvnet/rudevolution/releases)
---
## ⚖️ Legal
This is a **clean-room implementation** — no leaked source used. Architecture informed by analysis of the published npm package, legal under US DMCA §1201(f), EU Software Directive Art. 6, UK CDPA §50B.
---
## 📚 Related
- [ruDevolution](https://github.com/ruvnet/rudevolution) — AI-Powered JavaScript Decompiler
- [Decompiled Releases](https://github.com/ruvnet/rudevolution/releases) — Every Claude Code version
- [v2 Architecture (ADR-001)](./docs/adr/ADR-001-v2-architecture.md)
- [Path to 100% (ADR-002)](./docs/adr/ADR-002-path-to-100-percent.md)
Nightly Release Pipeline
### Automated Nightly Verified Releases (ADR-001)
Open Claude Code includes an automated nightly CI/CD pipeline that:
1. **Detects** new Claude Code releases from npm registry (03:00 UTC daily)
2. **Verifies** compatibility with 903+ tests, npm audit, and smoke tests
3. **Analyzes** changes using Claude Sonnet 4.6 AI-powered discovery
4. **Publishes** verified releases with detailed notes — only if ALL gates pass
```
Cron 03:00 UTC → npm check → 903+ tests → npm audit → AI analysis → verified release
```
**Manual trigger:**
```bash
gh workflow run nightly.yml -f force_release=true
```
**Required secrets:**
- `GITHUB_TOKEN` — automatic
- `ANTHROPIC_API_KEY` — optional, for AI discovery analysis
See [ADR-001](docs/adr/ADR-001-nightly-verified-release-pipeline.md) for full architecture.
### rudevolution Integration
The [rudevolution](https://github.com/ruvnet/rudevolution) submodule provides AI-powered decompilation analysis of Claude Code releases, tracking 34,759+ functions with 95.7% name accuracy. Used by the nightly pipeline for change discovery.
## 📄 License
MIT