Configuration

DemoTape works without configuration. Everything below is optional.

CLI flags

FlagWhat it does
--prRun the reviewer-focused PR flow: detect PR context, prepare a comment, and keep the session open for feedback
--no-openDon't open the PR or live session in a browser automatically
--port <port>Override port detection
--cmd "..."Override startup command detection
-p, --project <slug>Use a specific project instead of auto-selecting
--no-recordShare without recording the session
--no-rewrite-cookiesDon't rewrite Set-Cookie domain attributes
--no-rewrite-absolute-urlsDon't rewrite localhost URLs in response bodies
--no-rewrite-locationDon't rewrite redirect Location headers
--no-normalize-responsesDon't decompress gzip/brotli responses
--no-websocketsDisable WebSocket proxying
--debugLog proxy connections, rewrites, and tunnel activity
--debug-recordingLog rrweb injection and recording activity

Commands

CommandWhat it does
demotape --prRun the reviewer-focused PR flow
demotape [port]Share your app directly (auto-detect or specify a port)
demotape loginAuthenticate with your DemoTape account
demotape logoutRemove saved credentials
demotape doctorInspect port detection and output diagnostics as JSON
demotape uninstallRemove the downloaded tunnel binary

Config file

Credentials, linked projects, and saved startup commands are stored in ~/.demotape/config.json with 0600 permissions (user-only read/write).

The tunnel binary is downloaded to ~/.demotape/bin/ on first run and verified with SHA256.

You generally don't need to touch these files. Use demotape login, demotape logout, and demotape uninstall to manage them.

Examples

See these flags in action with the working examples. The docker-compose example shows multi-port configuration, and the cookie-session example demonstrates when you might use --no-rewrite-cookies.