Reda IDE hero
Beta Started 2026

Reda IDE

A lightweight desktop IDE built to replace Cursor and VS Code for daily editing: fast startup and a tiny footprint, with no AI chat, no extension host, and no telemetry.

  • Rust
  • Tauri v2
  • Svelte 5
  • CodeMirror 6
  • TypeScript
Started
2026
Status
beta
Platforms
macOS · Windows

Reda (pronounced read-uh) is a desktop IDE built around the idea that an editor should not cost a gigabyte of RAM to open a folder. The complete visible product runs on macOS and Windows: workspace shell, ⌘K palette, markdown source/rendered/split, bookmarks, a first-class git surface with file and hunk staging, an integrated terminal, and workspace search with previewed replace. Packaged, it measures around 410 ms to a ready frontend and about 108 MB idle on macOS.

Why it exists

Two things pushed me into building it. The first is footprint: Cursor, VS Code, and IntelliJ all sit open on my machine all day, and none of them behave like a text editor anymore. The second is that most of my editing time is now spent reading: reviewing what a coding agent changed, hunk by hunk, before it lands. That makes the git and review surface the primary interface, not a side panel, and it makes an AI chat pane inside the editor redundant. Reda deliberately has no AI features, no extension host, and no telemetry; the agents live outside it, and a native bridge is how they will drive it.

Highlights

  • Budgets are enforced, not aspirational. Startup under 1.5 s, idle under 175 MB, keystroke-to-paint under 16 ms. The smoke gate packages the app, launches it with an isolated profile, and measures the whole process tree against those numbers, coming in at ~410 ms and ~108 MB on macOS, ~1.3–1.5 s and ~111 MB on Windows.
  • A git surface you can’t hurt yourself with. Staging works at file and hunk level, branch switching is safe-checkout-only and offers stash-and-switch on a dirty tree, and every destructive action shows a plain-English card naming the repository, the branch, what will happen, and whether it can be undone. Hunk mutations validate the current patch bytes before applying, so a stale preview fails safely instead of corrupting a file.
  • Built for reviewing agent output. Gutter marks diff against HEAD with hunk peek and revert, a review shuttle jumps next/previous hunk and changed file with mark-reviewed state, blame is available on demand, and the file tree badges agent artifacts (.claude/, .codex/, AGENTS.md) so it’s obvious what a session touched.
  • Every action is a registry command. Commands carry an id, typed arguments, and a confirmation tier; the ⌘K palette, the toolbar, and the keybindings all dispatch the same ids, and the palette also covers files across roots, @ symbols, # bookmarks, and :42 line jumps. Every user-facing string goes through a typed catalog that CI checks for missing keys.
  • It does not lose work. The file layer detects encoding and line endings, writes atomically, notices external changes, and restores the session after a kill -9 from recovery snapshots. Files up to 50 MB open through a chunked degraded mode rather than freezing the window.

Technical approach

The shell is Tauri v2 with a Rust backend: git2 for index, patch, branch, stash, and blame work, portable-pty for terminals, notify and ignore for the bounded watcher and tree walk, sysinfo for the live footprint meter. The frontend is a static SvelteKit SPA on Svelte 5 runes with CodeMirror 6 and lazily loaded languages, styled entirely from Aurora Core tokens. Rather than starting from zero, I recomposed proven modules from two earlier projects (AuroraPad’s CM6 editing stack, encoding and atomic-write layer, and session/recovery discipline, and AuroraExplorer’s git2 status plumbing, file tree, PTY, and filesystem watcher), copying functions rather than files so no dependency tails came along.

Verification is deterministic by policy: just ci runs the frontend and Rust test suites, lints, and test-count floors, and just smoke measures the packaged app; there is no UI-driving automation, because a previous accessibility harness cost far more in maintenance than it caught in bugs. Currently 213 frontend tests across 49 files plus 89 Rust tests, and every git2 write operation is proven against the system git CLI on a temporary repository; the application may use git2, but git2 doesn’t get to grade itself. Next up are the MCP agent bridge, which exposes the same command registry to agents with confirmation tiers intact, and on-demand LSP.