Like Playwright, but for terminal apps — headless testing across xterm.js, Ghostty, Alacritty, WezTerm, and more
https://termless.dev ↗// readme
Termless
Headless terminal testing library. Like Playwright, but for terminal apps.
Terminal apps are hard to test because the terminal is a black box — you can see text on screen but can’t programmatically inspect colors, cursor position, scrollback history, terminal modes, or cell attributes. Termless opens up the entire terminal buffer for structured testing, and runs the same tests against multiple terminal emulators to catch cross-terminal compatibility issues.
Two audiences use termless. Most people are here to test a TUI app — that’s the Playwright-for-terminals pitch above, and it stays the headline. A second, growing audience builds terminal emulators and uses termless’s differential conformance corpus to grade a new backend against the field; see Conformance corpus.
Built alongside silvery, a React TUI framework, but works with any terminal app.
- Full terminal internals — access scrollback, cursor state, cell colors, terminal modes, alt screen, resize behavior — everything that’s invisible to string matching
- Cross-terminal conformance — run the same tests against 12 backends — xterm.js, Ghostty,…