Skip to content

quantmew/ripperdoc-desktop

Repository files navigation

Ripperdoc Desktop

A Claude Code desktop GUI application - 1:1 replica of OpenAI Codex Desktop, powered by Claude Code Agent SDK.

Overview

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.

Technology Stack

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

Architecture

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

Features (Matching Codex Desktop)

  • 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

Development

Prerequisites

  • Node.js 20+
  • npm 10+
  • Platform-specific build tools for native modules

Setup

# Install dependencies
npm install

# Development mode
npm run dev

# Build
npm run build

# Package for current platform
npm run package

Development Mode

The app runs with hot-reload during development:

  • Main process: TypeScript watch mode
  • Renderer: Vite dev server with HMR

Claude Code Agent SDK Integration

Ripperdoc uses the Claude Code Agent SDK to spawn and communicate with the Claude Code CLI. This provides:

  1. Streaming responses - Real-time token streaming from Claude
  2. Tool execution - File operations, terminal commands, code editing
  3. Session persistence - Resume conversations across app restarts
  4. Permission management - Granular control over agent capabilities

Building

# Windows
npm run package:win

# macOS
npm run package:mac

# Linux
npm run package:linux

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors