Record and replay terminal sessions for debugging, documentation, or sharing procedures with teammates.
A CLI tool to record, replay, and export terminal sessions. Captures commands, outputs, and timing for later review, documentation, or sharing with teammates. Wraps the standard script command with a simpler interface and additional features.
Key features:
./scripts/main.py record --output session1
./scripts/main.py replay --input session1
./scripts/main.py export --input session1 --output session1.md
./scripts/main.py list
./scripts/main.py help
record: Start recording a terminal session
--output: Session name (default: timestamp-based)--title: Session title for metadata--desc: Session description--tags: Comma-separated tagsreplay: Replay a recorded session
--input: Session name to replay--speed: Playback speed multiplier (default: 1.0)--no-timing: Skip timing, display immediatelyexport: Export session to markdown
--input: Session name to export--output: Output markdown file (default: session_name.md)--include-timing: Include timing information in exportlist: List all recorded sessions
--filter-tags: Filter by tagsinfo: Show session metadata
--input: Session namedelete: Delete a session
--input: Session name to deleteSessions are stored in ~/.terminal-sessions/ by default:
session_name.typescript: Raw terminal recording (script output)session_name.timing: Timing data for replaysession_name.meta.json: Metadata (title, description, tags, timestamp)Export produces markdown like:
# Terminal Session: Setting up Project
**Recorded:** 2026-03-11 10:30:00
**Duration:** 2 minutes 15 seconds
```bash
$ git clone https://github.com/example/project
Cloning into 'project'...
remote: Enumerating objects: 100, done.
remote: Counting objects: 100% (100/100), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 100 (delta 20), reused 80 (delta 15), pack-reused 0
Receiving objects: 100% (100/100), 1.5 MiB | 3.5 MiB/s, done.
Resolving deltas: 100% (20/20), done.
$ cd project
$ npm install
...
script command (available on Linux/macOS, not on Windows without WSL/Cygwin)Record a debugging session:
./scripts/main.py record --output debug-session --title "Debugging API issue" --tags "debug,api"
# ... work in terminal ...
exit # or Ctrl+D to end recording
Replay at 2x speed:
./scripts/main.py replay --input debug-session --speed 2.0
Export for documentation:
./scripts/main.py export --input debug-session --output DEBUGGING.md
The script command is typically pre-installed on Linux and macOS systems. On Windows, use WSL or Cygwin.
The tool creates ~/.terminal-sessions/ directory to store recordings.
ZIP package — ready to use