๐ฅ 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.
- Fork the repo and create a branch for your work
- Pick something โ check the Issues tab, or just find something broken and fix it
- 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
.jsextensions (ES modules) - Services use VSCode’s dependency injection with
@injectdecorators - Rust commands are in
src-tauri/src/commands/โ add new ones and register inlib.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! ๐
