Write a script. Play it back as a terminal session.
take play demo.take
take is a Rust CLI for scripting and replaying terminal sessions. Describe keystrokes, timing, and output in a plain .take file. take does the rest. No screen capture, no video files. Just text in, terminal out.
Early days — the parser and playback engine are still taking shape.
take play |
In progress |
take rec |
Planned |
| GIF / video export | Planned |
cargo install --path .take play demo.take.take files are human-readable scripts that describe a terminal session. They're meant to be written by hand or generated by take rec.
# demo.take
Set Shell zsh
Set Output demo.gif
Set Pace 250ms
Sleep 1s
Type@250ms "echo hello"
Enter
Hide
Show
| Directive | Description |
|---|---|
Set Shell <shell> |
Shell to use (zsh, bash, fish, …) |
Set Output <file> |
Output file path (e.g. demo.gif) |
Set Pace <duration> |
Default typing pace between keystrokes |
Sleep <duration> |
Pause for a duration (1s, 500ms, …) |
Type@<pace> "<text>" |
Type text at an optional per-command pace |
Enter |
Press the return key |
Hide |
Hide terminal output |
Show |
Show terminal output |
Durations follow Rust's convention: ms for milliseconds, s for seconds.
- Playback engine (
take playfully working) - GIF/video export
- Recording (
take rec) — capture a live session into a.takefile
MIT