Install
Run this site in your own terminal, find a terminal that shows hotty, or write a program that uses it.
Run hotty-demo
This site is a terminal program, and it runs natively too.
-
Get hottyterm, a Ghostty fork with a hotty host built in. On macOS on Apple silicon:
brew install --cask neuroplastio/tap/hottyterm
On Arch Linux on x86_64:
yay -S hottyterm-bin
Everywhere else, its releases page has
.zipbuilds for macOS on Apple silicon and.tar.gzbuilds for Linux on x86_64. The macOS app is signed ad hoc, so open it the first time with right-click → Open. On Linux it needs GTK 4, libadwaita and gtk4-layer-shell. -
In hottyterm, run:
curl -fsSL https://hotty.neuroplast.io/run.sh | sh
The script downloads the newest hotty-demo for your OS and CPU from pkg.neuroplast.io, checks the build's signed manifest with ssh-keygen and the binary's SHA-256, installs it as ~/.local/bin/hotty-demo and starts it. Set HOTTY_DEMO_DIR to install it somewhere else. There are builds for Linux and macOS, on amd64 and arm64.
In a terminal that isn't a hotty host, hotty-demo runs all the same: it draws everything in cells, and says so.
| Command | What it opens |
|---|---|
hotty-demo |
This site, at the tour. hotty-demo what and hotty-demo install open its pages. |
hotty-demo agent |
The demo apps: an agent console, top, metrics, a design doc and a feed of 240 cards. |
hotty-demo shell |
Your $SHELL, with the tools below on PATH and their man pages on MANPATH. exit leaves. |
The tools
hotty-demo carries a set of hotty tools, with familiar jobs. Each draws surfaces in a hotty host and cells anywhere else, and writes plain data into a pipe.
| Tool | What it does |
|---|---|
showhot FILE |
Shows Markdown, HTML, CSV, JSON and images as documents. As man, it shows manual pages with links between them. |
plothot |
Charts numbers from standard input, live: seq 100 | plothot. |
tophot |
Processes, CPU, memory, pressure and power, with the last half hour. |
sheethot FILE.csv |
A spreadsheet for CSV files, with vim's keys. |
The Shell link above opens a shell in your browser with the same tools.
Other terminals
- kitty, Ghostty and other terminals with kitty graphics show surfaces through hotty-blitz's polyfill, which draws them as images:
hotty run -- hotty-demo. Build it from hotty-blitz withmise install && make release; the binary istarget/release/hotty. Images lose what a native host keeps: they blur when you zoom, and their text can't be selected. - In a browser, xterm.js with xterm-addon-hotty is a host. This site runs on it.
Write a hotty program
- Go. hotty-go has the protocol,
hottyteafor Bubble Tea programs,hottytermfor command-line tools, charts, forms, andhottytest, a host for tests.
go get github.com/neuroplastio/hotty-go@latest
- TypeScript. hotty-ts is the SDK for Node and Bun, with hotty-go's layers and names. Its package,
@neuroplastio/hotty, isn't on npm yet. - Any language. The protocol is escape sequences and base64. hotty.py is a client in one file with no dependencies, and the spec's examples use it: a card, a dashboard, a form, a large grid and a game.
- A host. To add hotty to a terminal, start from the spec and its conformance vectors. hotty-blitz's C ABI is one way in.