A cross-platform, Fluent-styled code editor and IDE with real language runtimes. Windows + Linux native shells, a zero-install web UI, and a lightweight C++ daemon that drives compilation and interactive shells.
- Powered by STACKS the NULLS · Developer 0xSaad
- Perplexity & Claude Code
Stacks IDE graduated from prototype to a real IDE:
- Fluent 2020s UI — acrylic / Mica surfaces, activity bar, command palette, quick-open, breadcrumbs, integrated terminal, status bar, dark + light themes.
- Real editor — Monaco with bracket colorization, minimap, indentation guides, smooth cursor, word wrap, proper tab management, dirty indicators.
- File system — real tree with folders, rename, delete, drag-drop, context menus; persistent via IndexedDB offline and the daemon online.
- Native backend (
core/) — a small C++ daemon that exposes:- file system read/write/list
- toolchain detection (Python, Node, C/C++, Java, Shell, Rust, Go)
- process execution with live streamed stdout/stderr
- an interactive PTY (ConPTY on Windows,
forkptyon Linux) so the integrated terminal is a real shell.
- Cross-platform desktop shells — WebView2 (Windows) and WebKitGTK (Linux), both spawn the daemon automatically.
- CI — GitHub Actions builds the daemon on Windows and Linux.
┌─────────────────────────────────────────────┐
│ Desktop shell (WebView2 / WebKitGTK) │
│ ┌───────────────────────────────────────┐ │
│ │ web/index.html │ │
│ │ Monaco + xterm.js + Fluent UI │ │
│ └──────────┬────────────────────────────┘ │
│ │ HTTP + WebSocket │
│ ▼ │
│ ┌───────────────────────────────────────┐ │
│ │ core/stacksd (C++17) │ │
│ │ /api/fs /api/toolchains │ │
│ │ /ws/run /ws/pty │ │
│ │ ConPTY / forkpty │ │
│ └──────────┬────────────────────────────┘ │
│ │ │
│ ▼ │
│ g++ · gcc · python3 · node · java · sh │
└─────────────────────────────────────────────┘
All traffic is loopback-only and gated by a per-user token written to
%APPDATA%/StacksIDE/token or ~/.config/stacks-ide/token.
cmake -S core -B core/build -DCMAKE_BUILD_TYPE=Release
cmake --build core/build -j
# ./core/build/stacksd (Linux)
# .\core\build\Release\stacksd.exe (Windows)sudo apt install libgtk-4-dev libwebkitgtk-6.0-dev cmake g++
cmake -S linux -B linux/build
cmake --build linux/build -j
./linux/build/stacks-ide- Install Visual Studio 2022 with the "Desktop development with C++" workload.
- Download the WebView2 SDK NuGet and extract it somewhere.
- Point
WEBVIEW2_SDKat the extracted folder and build:
$env:WEBVIEW2_SDK = "C:\path\to\Microsoft.Web.WebView2"
cmake -S windows -B windows\build -A x64
cmake --build windows\build --config Release
.\windows\build\Release\stacks-ide.execd web
python3 -m http.server 8000
# open http://localhost:8000./scripts/dev.sh # Linux / macOS
.\scripts\dev.ps1 # Windows| Shortcut | Action |
|---|---|
Ctrl+P |
Quick open files |
Ctrl+Shift+P |
Command palette |
Ctrl+S |
Save current file |
Ctrl+N |
New file |
F5 |
Run active file |
Ctrl+` |
Toggle bottom panel |
Python · JavaScript / Node · TypeScript · C · C++ · Java · Shell (bash / PowerShell) · Rust · Go · HTML preview.
New languages are a one-line addition in
core/src/runner.cpp.
Stacks-IDE/
├─ web/ # Front-end (HTML/CSS/JS, Monaco, xterm.js)
│ ├─ index.html
│ ├─ style.css # Fluent 2020s design tokens + components
│ ├─ app.js # IDE shell logic
│ └─ assets/ # vfs.js, backend.js, templates.js
├─ core/ # C++ backend daemon (stacksd)
│ ├─ include/stacks/
│ └─ src/
├─ windows/ # WebView2 desktop shell (Windows 11 Mica)
├─ linux/ # WebKitGTK desktop shell
├─ scripts/ # dev.sh / dev.ps1
├─ .github/workflows # CI
└─ CMakeLists.txt
- LSP bridge (pyright, clangd, typescript-language-server)
- Source control view (git) with diff gutter
- Remote workspace over SSH
- Extension API
- macOS shell (WKWebView)
See LICENSE.
