Written in Rust
Native code, drawn on the GPU with GPUI. No Electron, no web view.
Fast
169 MB of memory with a repo and ten tabs open. 50 MB on disk.
Minimal
A file tree, tabs, a terminal and your git changes. VS Code's keys and settings.json.
No AI inside
No chat panel, no ghost text, no telemetry, no account. Your agent does the writing.
Fast, measured from the outside.
Three editors on the same machine, timed the same way: by capturing the screen, not by asking each app for its own numbers. Shorter bars are better.
Show as a table
| Metric | Lucerna | Zed | VS Code |
|---|---|---|---|
| Idle memory, 10 tabs | 169 MB (p90 179) | 235 MB (p90 236), 1.4× | 879 MB (p90 879), 5.2× |
| Idle CPU | 1.40 % (p90 1.42) | 2.20 % (p90 2.23), 1.6× | 3.01 % (p90 3.18), 2.1× |
| App size | 50 MB | 177 MB, 3.5× | 1604 MB, 31.9× |
Median of 10 runs on an Apple M4 with 16 GB of RAM, macOS 26, 15 November 2026. Lucerna 0.1.0, Zed 1.28.1, VS Code 1.146.0, no language server, warm caches. Ratios are each editor's median divided by Lucerna's. Lucerna does less than the other two, so read these as one machine's numbers, not a ranking. Method, raw data and limits
Rust, drawn on the GPU.
Lucerna is native code from end to end. Its window is drawn by GPUI, the GPU-accelerated UI framework from the Zed project, so opening a repo or reloading a file never waits on a browser engine.
- The app
- One native app of 50 MB, with the
luccommand beside it. - Rendering
- GPUI on Metal. Linux and Windows are planned, and GPUI already supports both.
- License
- MIT or Apache-2.0. No GPL dependencies, checked by
cargo denyon every change.
Minimal, and it already knows your keys.
A file tree, tabs, a terminal and your git changes, and little else on screen. Shortcuts, settings.json and keybindings.json work the way they do in VS Code, so there is nothing new to learn.
{ "editor.fontSize": 14, "editor.wordWrap": "off", "editor.minimap.enabled": false, "files.autoSave": "afterDelay", "files.exclude": { "**/dist": true }, "workbench.preferredDarkColorTheme": "Lucerna Dark", "[go]": { "editor.tabSize": 8 }, "vim.enabled": false }
No AI inside. Bring your own agent.
You already have an agent that writes code. Lucerna doesn't add a second one. It gives you a quiet place to check the work.
Your agent writes
Claude Code, Codex or a desktop app edits files in your repo.
Lucerna shows
Open files reload in place. Changed files light up in the tree and the gutter marks every changed line.
You review
Read the diff, fix a line by hand, run the tests in the built-in terminal.
Why not VS Code?
VS Code runs on Electron. Lucerna keeps its shortcuts and setting names, without a browser engine underneath.
Why not Zed?
Zed is fast too, and it is AI-first, with its own agent panel, edit predictions and sign-in. Lucerna has no AI features and needs no account, so the agent stays the tool you already use.
Free, open source, and almost ready.
The first release for macOS on Apple silicon is coming to GitHub Releases. Until then, you can build it yourself with Rust and the Xcode Command Line Tools.
git clone https://github.com/khanhbuiswe/lucerna && cd lucerna && scripts/bundle-app.sh --installQuestions
Can I edit code in Lucerna?
Yes. Typing, undo, save, auto-closing brackets and Vim keys if you want them. When your agent writes to a file you have unsaved changes in, Lucerna merges the two and asks only when they overlap. Multi-cursor and completion come later.
Is it related to Zed?
Lucerna uses GPUI, Zed's Apache-licensed UI framework, and can install themes, icon themes and languages from Zed's extension registry. Everything else is written from scratch, with no GPL code.
Does Lucerna collect any data?
No. There is no telemetry and no account. Logs stay on your machine in ~/Library/Logs/Lucerna.