Configuration
DemoTape works without configuration. Everything below is optional.
CLI flags
| Flag | What it does |
|---|---|
--pr | Run the reviewer-focused PR flow: detect PR context, prepare a comment, and keep the session open for feedback |
--no-open | Don'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-record | Share without recording the session |
--no-rewrite-cookies | Don't rewrite Set-Cookie domain attributes |
--no-rewrite-absolute-urls | Don't rewrite localhost URLs in response bodies |
--no-rewrite-location | Don't rewrite redirect Location headers |
--no-normalize-responses | Don't decompress gzip/brotli responses |
--no-websockets | Disable WebSocket proxying |
--debug | Log proxy connections, rewrites, and tunnel activity |
--debug-recording | Log rrweb injection and recording activity |
Commands
| Command | What it does |
|---|---|
demotape --pr | Run the reviewer-focused PR flow |
demotape [port] | Share your app directly (auto-detect or specify a port) |
demotape login | Authenticate with your DemoTape account |
demotape logout | Remove saved credentials |
demotape doctor | Inspect port detection and output diagnostics as JSON |
demotape uninstall | Remove 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.