bobbin/docs

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