Let me get the confession out of the way first: I'm picky, and I'm a bit of a
clown about it. I spend my whole day in a terminal, and none of them made me
happy.
Here's the trap every terminal walks you into:
the Electron ones .......... gorgeous, but ~200 MB idle and laggy
the hyper-minimal ones ..... blazing fast, but no tabs, no plugins
the power-user ones ........ endless config, dated UX you fight
the slick modern ones ...... closed-source, account-walled, telemetry
the deeply-integrated ones . great, but locked to one OS
The Rust ones are genuinely fast, and I love that, but the UI tends to feel like
you're editing a config file that happens to have a blinking cursor. The
good-looking ones? Half of them are Electron, or some other webview contraption
that boots a whole browser to render a grid of characters. No thanks.
So I did the unreasonable thing and built my own. It's called terminale.
What it is
A native, GPU-accelerated terminal written in Rust, the same on Windows, macOS
and Linux. One codebase, three OSes, identical behaviour. No Electron, no
webview, no telemetry. It draws through wgpu (Vulkan / Metal / DX12 / GL) with
a glyph atlas, ligatures, and a custom borderless title bar.
What already works and is covered by tests:
- Cross-platform PTY shell (ConPTY on Windows, openpty on Unix)
- Multi-tab, reopen-closed-tab, drag-around, Chrome-style tab groups
- Split panes (horizontal/vertical, nestable), with the inactive ones dimmed
- A proactive AI suggestion bar that reads recent output and proposes the next command, with an Inject button (it never auto-runs anything)
- A command palette and an inline AI assistant (Claude, OpenAI, or local Ollama)
- 12 built-in themes with live switching, plus your own in TOML
- Full-scrollback search, clickable links (OSC 8 / URLs / file:line:col)
- Quake drop-down mode and window snapping
- A sandboxed Lua plugin host
- A native settings window where every tunable thing actually has a control
- And the newest toy: a pixel-art CPU/RAM/GPU strip tucked into the dead space at the bottom of the window, so it never steals a single row from your shell
The look
The identity is on purpose: a pixel-art mark, a wide rainbow of loud themes
(Matrix, Tokyo Night, Dracula, and friends), and a borderless custom chrome. It
looks like a terminal from a game that should exist, with a serious
GPU-accelerated emulator under the hood. Fast and feature-rich, but also fun to
look at. I refuse to apologize for that.
The part people will ask about
I built it in three days.
Not because I'm a wizard, but because I had a very fast, very patient pair:
I wrote the whole thing on Claude Code. Every line was prompt-engineered, not
typed by hand. I drove the design, the trade-offs, the "no, do it this way";
the model did the heavy lifting at a pace I could never match solo. Three days
from "I'm annoyed at my terminal" to installers for three operating systems,
green CI, and a real release pipeline.
It is genuinely strange to watch an idea become a shippable cross-platform app
that quickly. I'm still a little suspicious of it. In a good way.
Try it
Open source, dual MIT/Apache. Installers for Windows, macOS and Linux are out,
plus a Homebrew tap and one-line installers. Grab it, theme it, break it, and
tell me what's wrong with it — I want the brutal feedback.
If you build a theme you love, send it. The rainbow always has room for more.
Tags: rust, terminal, opensource, devtools
Top comments (0)