A Claude Code desktop GUI application - 1:1 replica of OpenAI Codex Desktop, powered by Claude Code Agent SDK.
Ripperdoc Desktop wraps the Claude Code CLI into a native desktop experience, providing a rich GUI for interacting with Claude's coding agent capabilities. Built with the same architecture as OpenAI's Codex Desktop (Electron + Node.js), but leveraging the Claude Code Agent SDK as the AI backend.
| Component | Technology | Notes |
|---|---|---|
| Desktop Framework | Electron 32+ | Same as Codex Desktop |
| Frontend | React 18 + TypeScript | UI rendering |
| Terminal | xterm.js + node-pty | Embedded terminal |
| Styling | Tailwind CSS | Dark theme matching Codex |
| Database | LevelDB (classic-level) + SQLite | Session/chat persistence |
| AI Backend | Claude Code Agent SDK | Claude Code CLI integration |
| Auto-update | electron-updater | Cross-platform updates |
| Build | electron-builder | Multi-platform packaging |
ripperdoc-desktop/
├── src/
│ ├── main/ # Electron main process
│ │ ├── main.ts # Entry point, window management
│ │ ├── ipc/ # IPC handlers
│ │ ├── claude/ # Claude Code Agent SDK integration
│ │ └── store/ # Persistent storage
│ ├── renderer/ # React frontend (Vite)
│ │ ├── components/ # UI components
│ │ ├── hooks/ # React hooks
│ │ ├── styles/ # CSS/Tailwind
│ │ └── utils/ # Helpers
│ ├── preload/ # Electron preload bridge
│ └── claude-sdk/ # Claude SDK wrapper
├── resources/ # Icons, skills, configs
├── scripts/ # Build scripts
└── dist/ # Compiled output
- Agent Chat Panel - Interactive conversation with Claude coding agent
- Embedded Terminal - Full PTY terminal with xterm.js for command output
- Session Management - Create, resume, and manage coding sessions
- File Diff View - View code changes proposed by Claude
- Skill System - Built-in skills and custom skill support
- MCP Integration - Model Context Protocol for tool extensibility
- Multi-language - i18n support (lproj-style localization)
- Auto-update - Seamless updates via electron-updater
- Node.js 20+
- npm 10+
- Platform-specific build tools for native modules
# Install dependencies
npm install
# Development mode
npm run dev
# Build
npm run build
# Package for current platform
npm run packageThe app runs with hot-reload during development:
- Main process: TypeScript watch mode
- Renderer: Vite dev server with HMR
Ripperdoc uses the Claude Code Agent SDK to spawn and communicate with the Claude Code CLI. This provides:
- Streaming responses - Real-time token streaming from Claude
- Tool execution - File operations, terminal commands, code editing
- Session persistence - Resume conversations across app restarts
- Permission management - Granular control over agent capabilities
# Windows
npm run package:win
# macOS
npm run package:mac
# Linux
npm run package:linuxMIT