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/agentnpm 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."