Skip to main content

Core Concepts

The vocabulary. Read once and the rest of the docs make sense.

The hierarchy

Target          (a destination: local machine, SSH host, RDP, or VNC)
└── Agent (the @vibecontrols/agent process — connects target to the platform)
└── Vibe (a project context: repo path, env vars, status, type)
└── Session (a live terminal: tmux, wezterm, zellij, ssh, terminal, script, or custom)
  • Target — a connection destination. Types: DIRECT (local), SSH, RDP, VNC.
  • Agent — the @vibecontrols/agent npm package running on a target. Connects to the backend via outbound tunnel + REST + WebSocket.
  • Vibe — a project context. Types: PROJECT, WORKSPACE, REPOSITORY, MONOREPO, PACKAGE, CUSTOM. Vibes are database records, not files — create them via the CLI or GraphQL.
  • Session — a running terminal multiplexer or shell. Types: TMUX, WEZTERM, ZELLIJ, SSH, TERMINAL, SCRIPT, CUSTOM. Browser access via ttyd.
  • VibeDeck — a Stream-Deck-style grid of action buttons (COMMAND, SCRIPT, or WEBHOOK). Customizable grid columns, rows, color theme. Not a "bundle of vibes."

Other concepts

  • Tunnels — outbound HTTP tunnels for sharing localhost ports. Two providers: Cloudflare quick tunnels (*.trycloudflare.com) and VibeTunnels (frp-based, self-hosted).
  • Health — agent / session / tunnel health signals.
  • Glossary