A fast, lightweight agentic code editor built with Tauri, React, and Monaco.
Rocket keeps coding fast and focused while bringing agents directly into the editor. Agent changes are designed to be visible, reviewable, and recoverable instead of happening inside a disconnected chat window. Today, Rocket's supported agent runtime is the local OpenAI Codex CLI. The longer-term direction is a runtime-neutral editor that can support multiple coding agents through the Agent Client Protocol (ACP).
Important
Rocket is under active development. Native Codex is the only agent runtime that currently executes end to end. ACP profiles, additional agents, and several daily-driver editor features remain roadmap work.
- Multiple independent agent chat tabs with streaming messages, reasoning, tool activity, approvals, interruption, and queued follow-up prompts.
- Automatic context from the active file, cursor or selection, and TypeScript/JavaScript diagnostics.
- Composer completion for host commands (
/), workspace files (@), other agent tabs ($), and workspace skills (#). - Persistent transcripts and tool state backed by SQLite. Restored transcripts are clearly marked when the original agent runtime is no longer connected.
- Codex model selection and executable probing from the agent picker.
- Per-session change tracking that keeps agent edits separate from changes already present in the workspace.
- Unified diffs with Keep File, Revert File, Keep All, and Revert All actions.
- Conflict warnings when a tracked file changes outside the agent session.
- Automatic pre-turn checkpoints and manual checkpoint commands for listing, restoring, and deleting safe points.
- Monaco-based editor with syntax highlighting, tabs, file creation, folder navigation, image previews, and configurable panel placement.
- Integrated PTY terminal with tabs and splits.
- Workspace-wide text search powered by
ripgrep, including cancellation, hidden-file control, grouped results, and exact-range navigation. - TypeScript/JavaScript language intelligence with diagnostics, completion, hover, definitions, references, rename, code actions, formatting, and a Problems panel.
- Git status, staging, unstaging, commits, history graph, and diff review.
- Native filesystem, terminal, Git, search, LSP, and agent operations are confined to the active workspace.
- Workspace paths are canonicalized and checked to prevent traversal and unsafe symlink escapes.
- The TypeScript language server starts with a cleared environment and a small system-variable allowlist, so provider credentials are not inherited.
- Rocket state is stored locally under
~/.rocket; sensitive JSON files use user-only permissions on Unix.
Rocket's published builds currently target macOS on Apple Silicon and Intel.
-
Install and authenticate the Codex CLI.
-
Confirm that Rocket will be able to find it:
codex --version
-
Download the latest macOS build from GitHub Releases.
-
Open the DMG, drag Rocket into Applications, and launch it.
-
Open a project folder, open the Agent panel, and use Check agent setup to verify the runtime.
macOS says Rocket cannot be opened or the developer cannot be verified
Rocket's current builds are not notarized with an Apple Developer ID. After attempting to open Rocket:
- Open System Settings → Privacy & Security.
- Scroll to the security notice for Rocket.
- Click Open Anyway, then confirm Open.
Only bypass Gatekeeper for a build you downloaded from this repository's release page.
- macOS with the Xcode Command Line Tools
- Bun 1.3.14 or newer
- Rust 1.77.2 or newer
- Git and
ripgrepavailable onPATH - The Codex CLI available on
PATHfor agent features
git clone https://github.com/Rahuletto/rocket.git
cd rocket
bun install --frozen-lockfile
bun run appbun run app starts the full Tauri desktop application. bun run dev starts only the Vite frontend; native filesystem, terminal, Git, LSP, search, and agent commands require the Tauri host.
| Command | Purpose |
|---|---|
bun run app |
Run Rocket in Tauri development mode |
bun run dev |
Run the Vite frontend only |
bun run test |
Run the Vitest suite once |
bun run build |
Type-check and build the frontend |
cargo test --manifest-path src-tauri/Cargo.toml |
Run the Rust test suite |
bun run bundle |
Build an Apple Silicon macOS bundle |
Rocket starts codex app-server --stdio inside the open workspace. Tool requests that require confirmation appear directly in the transcript, and file activity is reconciled into the session review after each turn.
| Prefix | Purpose | Example |
|---|---|---|
/ |
Run a Rocket host command | /help, /checkpoint, /checkpoints |
@ |
Reference a workspace file | Explain @src/App.tsx |
$ |
Include context from another Rocket agent tab | Continue from $session |
# |
Reference a skill discovered under .agents/skills |
Use #refactor |
Use /help in the composer for the current command list. File, tab, and skill references are converted into bounded prompt context where supported; they are not a general-purpose extension system.
Rocket keeps application state on your machine:
| Path | Contents |
|---|---|
~/.rocket/state.sqlite3 |
Agent sessions and transcript state |
~/.rocket/checkpoints/ |
Deduplicated checkpoint blobs |
~/.rocket/config.json |
Agent and provider preferences |
~/.rocket/credentials.json |
Credentials entered through provider connection forms |
Credential files are permission-restricted on Unix but are not currently stored in the macOS Keychain. The additional provider forms are configuration groundwork; those providers do not execute agent turns in the current build. Codex authentication remains owned by the Codex CLI.
- Native Codex is the only supported agent runtime; ACP and other provider entries are not yet executable.
- Release artifacts are currently produced for macOS only.
- Language-server integration currently targets TypeScript and JavaScript.
- Git support covers local status, review, staging, history, and commits, but not the full branch/fetch/pull/push/stash workflow.
- There is no extension marketplace, integrated debugger, remote workspace support, or built-in browser yet.
- Rocket is not yet positioned as a stable replacement for a mature daily-driver IDE.
Rocket is evolving into a lightweight, open-protocol, local-first agent editor with:
- trustworthy change ownership, review, and checkpoints;
- durable sessions behind a runtime-neutral agent model;
- ACP-based support for multiple coding agents;
- worktree isolation for parallel write-capable sessions;
- structured context attachments and common Rocket-owned workspace tools; and
- stronger search, language intelligence, Git workflows, and settings.
The detailed architecture, milestone gates, acceptance criteria, and immediate backlog live in PLAN.md. That document is the source of truth for planned work; this README describes shipped behavior.
┌─────────────────────────────────────────────────────────────┐
│ React workbench │
│ Explorer │ Monaco │ Agent │ Review │ Terminal │ Git │ LSP │
└────────────────────────────┬────────────────────────────────┘
│ Tauri commands and events
┌────────────────────────────▼────────────────────────────────┐
│ Rust host services │
│ Workspace guard │ Sessions │ Checkpoints │ Search │ PTY │
│ Git │ LSP │ Change tracking │
└────────────────────────────┬────────────────────────────────┘
│ JSON-RPC over stdio
┌────────▼─────────┐
│ Codex app-server │
└──────────────────┘
The frontend consumes session-aware Rocket events rather than talking to the Codex process directly. Native services enforce the workspace boundary and own durable state, review baselines, and checkpoints.
Issues, design feedback, and pull requests are welcome.
- Fork the repository and create a focused branch.
- Keep changes small and consistent with the existing Tauri/React boundaries.
- Add or update focused tests for behavioral changes.
- Run the relevant frontend and Rust checks.
- Open a pull request that explains the user-visible outcome and any known limitations.
For roadmap-sized changes, please open a GitHub Discussion before implementation so the approach can be aligned with the current plan.
Rocket is source-available under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International license. Review the license before redistributing or reusing the project.
