Sidenai/sidex: VS Code rebuilt on Tauri. Same architecture, 96% smaller. Early release. ยท GitHub

๐Ÿ’ฅ Read this awesome post from Hacker News ๐Ÿ“–

๐Ÿ“‚ **Category**:

๐Ÿ’ก **What Youโ€™ll Learn**:

A Tauri-based port of Visual Studio Code. Same architecture, native performance, fraction of the size.

Early Release โ€” This project is in active development. Many features are not fully working yet. We’re releasing early because a lot of people wanted to help build this out. If you’re into open source and want to help make a lightweight, native code editor a reality, you’re in the right place.

SideX is a 1:1 architectural port (HEAVILY STRIPPED) of VSCode that replaces Electron with Tauri (Rust backend + native webview). The entire VSCode workbench – editor, terminal, extensions, themes, keybindings โ€” ported to run on a native shell.

  • 5,600+ TypeScript files from VSCode’s source, ported and adapted
  • Rust backend replacing Electron’s main process
  • Zero Electron imports remaining in the codebase
  • Lightweight โ€” fraction of VSCode’s install size

Goal: 200mb RAM usage.

This is an early release. Here’s an honest look at where things stand:

Working:

  • Core editor (Monaco) with syntax highlighting, IntelliSense basics
  • File explorer โ€” open folders, create/edit/delete files
  • Integrated terminal (PTY via Rust)
  • Basic Git integration
  • Theme support
  • Native menus
  • Extension loading from Open VSX

In Progress / Unstable:

  • Many workbench features are stubbed or partially implemented
  • Extension host is early-stage โ€” not all extensions will work
  • Debugging support is scaffolded but incomplete
  • Settings/keybindings UI may have rough edges
  • Some platform services are placeholder implementations
  • Multi-window support is limited

We need help across the board. See Contributing below.

# Clone the repo
git clone https://github.com/Sidenai/sidex.git
cd sidex

# Install dependencies
npm install

# Start dev server with hot reload
npm run tauri dev

Building from source (not distributing pre-built binaries yet):

# Install dependencies (if not already done)
npm install

# Build the frontend (increase memory for large codebase)
# macOS / Linux:
NODE_OPTIONS="--max-old-space-size=12288" npm run build

# Windows (PowerShell):
$env:NODE_OPTIONS="--max-old-space-size=12288"
npm run build

# Build the Tauri app (takes 5-10 minutes)
npx tauri build

Linux blank screen: If you get a blank/white screen on Linux, run with:

WEBKIT_DISABLE_DMABUF_RENDERER=1 npm run tauri dev

SideX preserves VSCode’s layered architecture and replaces the Electron runtime with Tauri:

VSCode (Electron)                    SideX (Tauri)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Electron Main Process            โ†’   Tauri Rust Backend
  BrowserWindow                  โ†’   WebviewWindow
  ipcMain / ipcRenderer          โ†’   invoke() + events
  Node.js APIs (fs, pty, etc.)   โ†’   Rust commands (std::fs, portable-pty)
  Menu / Dialog / Clipboard      โ†’   Tauri plugins

Renderer (DOM + TypeScript)      โ†’   Same (runs in native webview)
Extension Host                   โ†’   Sidecar process (in progress)
sidex/
โ”œโ”€โ”€ src/                    # TypeScript frontend (VSCode workbench)
โ”‚   โ”œโ”€โ”€ vs/
โ”‚   โ”‚   โ”œโ”€โ”€ base/           # Foundation utilities
โ”‚   โ”‚   โ”œโ”€โ”€ platform/       # Platform services (DI)
โ”‚   โ”‚   โ”œโ”€โ”€ editor/         # Monaco editor
โ”‚   โ”‚   โ”œโ”€โ”€ workbench/      # IDE shell, features, services
โ”‚   โ”‚   โ””โ”€โ”€ code/           # Application entry
โ”‚   โ””โ”€โ”€ main.ts             # Frontend entry point
โ”œโ”€โ”€ src-tauri/              # Rust backend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ commands/       # fs, terminal, search, git, window, etc.
โ”‚   โ”‚   โ”œโ”€โ”€ lib.rs          # App setup, menu, command registration
โ”‚   โ”‚   โ””โ”€โ”€ main.rs         # Entry point
โ”‚   โ””โ”€โ”€ Cargo.toml
โ”œโ”€โ”€ index.html              # HTML shell
โ”œโ”€โ”€ vite.config.ts          # Vite config (port 1420)
โ””โ”€โ”€ package.json

For a deep dive into the architecture, see ARCHITECTURE.md.

We want your help. Seriously.

This project was released early specifically so the community can help build it out. There’s a ton of work to do โ€” from fixing bugs to implementing entire subsystems.

  1. Fork the repo and create a branch for your work
  2. Pick something โ€” check the Issues tab, or just find something broken and fix it
  3. Submit a PR โ€” we’ll review it, and if it gets merged, you’ll be added as a contributor
  • Terminal โ€” Shell integration, profile detection, stability
  • Extensions โ€” Extension host compatibility, API coverage
  • File System โ€” Watcher reliability, large file handling
  • Editor โ€” IntelliSense integration, language services
  • Debugging โ€” Debug adapter protocol implementation
  • Settings โ€” Settings UI, keybinding editor
  • Search โ€” Workspace search reliability and performance
  • Platform โ€” Windows and Linux testing and fixes
  • UI Polish โ€” Layout issues, theming gaps, accessibility
  • The codebase follows VSCode’s patterns โ€” if you’ve worked on VSCode, you’ll feel right at home
  • TypeScript imports use .js extensions (ES modules)
  • Services use VSCode’s dependency injection with @inject decorators
  • Rust commands are in src-tauri/src/commands/ โ€” add new ones and register in lib.rs
  • See AGENTS.md for a detailed guide to the codebase (useful for AI-assisted development too)

Layer Technology
Frontend TypeScript, Vite 6, Monaco Editor, xterm.js
Backend Rust, Tauri 2, portable-pty, rusqlite, tokio
Editor Monaco (from VSCode source)
Terminal xterm.js + Rust PTY via portable-pty
Extensions Open VSX registry
Storage SQLite (via rusqlite)

MIT – This project is a port of Visual Studio Code (Code – OSS), which is licensed under the MIT License. See LICENSE for details.

๐Ÿ”ฅ **Whatโ€™s your take?**
Share your thoughts in the comments below!

#๏ธโƒฃ **#Sidenaisidex #Code #rebuilt #Tauri #architecture #smaller #Early #release #GitHub**

๐Ÿ•’ **Posted on**: 1775460785

๐ŸŒŸ **Want more?** Click here for more info! ๐ŸŒŸ

By

Leave a Reply

Your email address will not be published. Required fields are marked *