VibeAround

Internals

Documentation for debugging VibeAround and changing its code. Two complementary cuts of the same runtime:

Documentation notice: these docs are currently generated with Codex and are being actively reviewed, expanded, and refined.

Documentation for debugging VibeAround and changing its code. Two complementary cuts of the same runtime:

  • Flows follow one request through time — every hop from entry to exit, with code anchors and failure tables. Start here to trace behavior.
  • Modules describe one component in space — responsibility, key types, interactions, invariants you must not break, and known debt. Start here to modify code.

They cross-link where a flow passes through a module. The reader-level "why is it designed this way" story lives in architecture/; hard numbers live in timers and limits.

Flows

FlowPath it follows
IM messagePlatform event → plugin → sharded queue → thread → agent → streamed reply. The trunk flow — read it first
Web chatWebSocket event → session intent → the same prompt path
PermissionAgent request → oneshot registration → card → tap → agent resumes
Bridge requestClient dialect → decode → model mapping → upstream → streamed back
Native launchProfile → launch JSON → va-launch → terminal spawn
HandoverCode issued → /pickup → external session bound → route attached
Web terminalBrowser xterm ↔ WebSocket ↔ pseudo-tty

Modules

Fixed structure per page: responsibility · key types · interactions · invariants · known debt.

ModuleOne-liner
channelsMessage transport and routing between surfaces and threads
workspaceConversation state: workspaces, threads, attachments (event-sourced)
processSubprocess supervision: spawn, respawn, watchdog, cleanup
agentOne ACP connection to a coding CLI + launch preparation
profilesProvider catalog, profile store, launch rendering
ptyPseudo-terminal sessions behind the web terminal
previewsLive preview registry, owner/share URLs
tunnelsngrok / localtunnel / cloudflare publishing
authDaemon token and pairing codes
serverThe axum shell: routes, WebSockets, MCP, bridge, boot/shutdown

Subsystem deep-dives

Cross-cutting subsystems that span several modules get a dedicated page:

PageCovers
LaunchThe four launch paths, env assembly and injection per path, per-OS terminal handling, argument sources, desktop vs CLI producers
  • Known defects and planned refactors: reports/architecture-review-remediation-2026-07-04.md (module pages' "known debt" sections link to its items).
  • Rustdoc module headers in the source are the finest-grained authority; these pages are maps, not replacements.

On this page