This document keeps the details that were trimmed from README.md.
interface BridgeOptions {
url?: string; // default ws://localhost:9876
port?: number; // used if url not provided
secret?: string;
projectId?: string;
enabled?: boolean; // force on/off; otherwise auto-dev
enableNavigation?: boolean; // default true (web/RN)
enablePageview?: boolean; // default false (opt-in)
enableNetwork?: boolean; // default true (web/Node)
enableScreenshot?: boolean; // default false (opt-in, dev-only)
enableControl?: boolean; // default false (dev-only)
throttleMs?: number; maxBreadcrumbs?: number;
screenshotProvider?: () => Promise<{ mime: string; data: string }>;
}CODE_BRIDGE=1→ force enableenabled: false→ force disableenabled: true→ force enable- Dev mode + (
urlorsecretpresent) → enable (default) - Otherwise disabled (production default, tree-shakeable)
Dev mode checks: NODE_ENV === 'development', import.meta.env.DEV, or __DEV__ (React Native).
- Default:
error,console,navigation,network - Optional:
pageview(enablePageview),screenshot(enableScreenshot),control(enableControl) - Bridges advertise capabilities in the
helloframe; consumers subscribe per capability.
Opt-in via enablePageview: true, then bridge.trackPageview({ route?, url? }). Web defaults route/url when omitted.
Opt-in via enableScreenshot: true and provide screenshotProvider that returns { mime, data } (base64). The SDK does not capture images itself; it just transports what you provide.
- CLI:
npx code-bridge-host [workspace] [--port=9876] - Writes
.code/code-bridge.jsonwithurl,port,secret,workspacePath,startedAt - Auth: first frame
auth { secret, role: 'bridge'|'consumer' } - Bridges send
hello { capabilities, platform, projectId, route, url } - Consumers can filter via
subscribe { levels, capabilities, llm_filter }
- Heartbeat default: ping every 15s, timeout 30s (JS/TS reference)
- Network capture flags 4xx/5xx as
errorlevel (JS/TS, Node/web) - Control channel: bridge replies with
control_resultmatching incomingcontrol_requestid
- Per-language quickstarts:
docs/clients/README.md - Status matrix and roadmap:
docs/clients/status.md - Roblox / Lua specifics:
docs/clients/roblox.md