Analysis updated 2026-05-18
Automate testing of terminal user interface applications by scripting keystrokes and checking screen output.
Let an AI coding agent observe and interact with what a terminal program is displaying.
Record a terminal session and export it as an MP4 video for documentation or demos.
| kitlangton/cellshot | lq-259/legado_flutter | trystan-sa/rproc | |
|---|---|---|---|
| Stars | 72 | 72 | 71 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | — | easy |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Rust 1.93 or newer, video export additionally requires ffmpeg installed.
This is a command-line tool written in Rust for controlling and capturing terminal applications from the outside. You hand it a program to run, and it starts that program inside a virtual terminal, then lets you send keystrokes, read the visible text or take screenshots, and optionally record the session as a video file. The primary audiences named in the README are developers who want to automate testing of terminal user interface applications, and AI coding agents that need to observe what a terminal program is displaying. There are two modes of use. For quick, one-shot tasks, you give the tool a command to run and immediately capture its output as plain text, JSON, SVG, or a PNG image file. For longer sessions involving multiple interactions, you start a named session with a chosen terminal size, send keystrokes or typed text, wait for specific text to appear on screen, resize the viewport, capture screenshots at different moments, and stop when you are done. Scrollback logs are accessible for normal-screen programs, full-screen applications that take over the terminal are handled through visible-screen capture rather than logs. Recording a session timeline produces a file that can later be converted into an MP4 video using a separate command. The export step can trim quiet startup frames and shorten idle gaps. Recording files are described as potentially sensitive because they capture both terminal output and typed input, including any secrets. The tool also ships as a Rust library so you can drive a terminal application from Rust test code without going through the command line at all. Structured output formats like the JSON capture schema are versioned and documented with JSON Schema files for use by external tooling. The project requires Rust 1.93 or newer. Video export also requires ffmpeg.
A Rust CLI and library for driving and capturing terminal applications: send keystrokes, screenshot output, and record sessions as MP4 video.
Mainly Rust. The stack also includes Rust, ffmpeg.
The README does not state a license, so usage rights are unclear.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.