DEV Community

Cover image for I didn't like any terminal, so I built one in 3 days
Fabrizio La Rosa
Fabrizio La Rosa

Posted on

I didn't like any terminal, so I built one in 3 days

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
Enter fullscreen mode Exit fullscreen mode

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.

terminale — the cross-platform terminal that doesn't suck | Stackbyte

Native, GPU-accelerated, cross-platform terminal in Rust. Multi-tab, split panes, inline AI, Quake mode. No Electron. No telemetry. Open source.

favicon stackbyte.dev

If you build a theme you love, send it. The rainbow always has room for more.


Tags: rust, terminal, opensource, devtools

Top comments (0)