Skip to content

Latest commit

 

History

History
86 lines (58 loc) · 2.37 KB

File metadata and controls

86 lines (58 loc) · 2.37 KB

Whats Coder

License: MIT

A cross-platform client for OpenAI Codex CLI — connecting to a running Codex app-server via WebSocket JSON-RPC. Includes a React Native / Expo mobile app and a Tauri desktop app, sharing a common TypeScript library.

Project Structure

whats-coder/
├── apps/
│   ├── mobile/          # React Native (Expo) app for iOS & Android
│   └── desktop/         # Tauri desktop app (Windows / macOS / Linux)
├── packages/
│   └── shared/          # Shared TypeScript types, WebSocket client, theme
├── scripts/             # 根目录辅助脚本(按需添加)
├── turbo.json           # Turborepo task configuration
├── pnpm-workspace.yaml  # pnpm monorepo workspace
└── package.json

Requirements

Getting Started

Install dependencies

pnpm install

Run the mobile app

pnpm dev:mobile

This starts the Expo development server. Use the Expo Go app or an emulator to open it.

Run the desktop app

pnpm dev:desktop

This starts the Tauri + Vite development server.

If Rust is already installed but your current terminal session does not include cargo in PATH, the desktop scripts will automatically try the default Cargo install location such as ~/.cargo/bin.

Build

Build all packages

pnpm build

Build desktop app (release)

pnpm build:desktop

How It Works

The apps connect to a locally running Codex CLI app-server via WebSocket using a custom JSON-RPC 2.0 protocol. The @whats-coder/shared package provides:

  • CodexClient — WebSocket client with automatic reconnection and request/response tracking
  • Types — Full TypeScript type definitions for all protocol messages
  • Theme — Shared design tokens used across apps

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT