Install
npm install -g @bobbin/cli
Or run directly with npx @bobbin/cli rec
For better recording fidelity, install node-pty — bobbin falls back to Unix script automatically.
rec
Record a terminal session. Without a command, starts an interactive shell.
bobbin rec # interactive session
bobbin rec -- make build # record a specific command
bobbin rec -o my-session.cast # custom output path
bobbin rec -t "deploy fix" -- ./deploy.sh
-o, --output <file>Output file path
-t, --title <title>Recording title
--jsonJSON output for agents
play
Play back a recording. Accepts a local file, a bobbin.work URL, or a recording ID.
bobbin play session.cast # local file
bobbin play session.cast -s 3 # 3x speed
bobbin play P2fumq1n # by ID
bobbin play bobbin.work/r/P2fumq1n # by URL
-s, --speed <n>Playback speed multiplier
--server <url>Server URL for remote playback
--jsonJSON output
upload
Upload a recording and get a shareable URL. Management key saved locally.
bobbin upload session.cast
bobbin upload session.cast -t "CI failure repro"
bobbin upload session.cast --server https://my-server.com
-t, --title <title>Title for the recording
--server <url>Server URL
--jsonJSON output
download
Download a recording from a bobbin server.
bobbin download P2fumq1n
bobbin download P2fumq1n -o recording.cast
-o, --output <file>Output file path
--server <url>Server URL
--jsonJSON output
ls
List recordings — local by default, or uploaded with --remote.
bobbin ls # local recordings
bobbin ls --remote # uploaded recordings
--remoteList uploaded recordings
--jsonJSON output
Agent usage
Every command supports --json. Info goes to stderr, data to stdout.
# Record and capture result
result=$(bobbin rec --json -- npm test)
# Upload and get URL
url=$(bobbin upload --json session.cast | jq -r '.url')
# List as JSON
bobbin ls --json | jq '.[].file'
Configuration
Recordings~/.config/bobbin/recordings/
Upload metadata~/.config/bobbin/uploads.json
BOBBIN_SERVERDefault server URL
SHELLShell for interactive recording
Recording format
Asciicast v2 with extended bobbin metadata — git branch, SHA, repo. Compatible with asciinema and any asciicast v2 tool.
Requirements
Node.js 18+
Linux or macOS
Optional: node-pty for higher-fidelity recording
/·zero config·agent-first