Glossary
Every term that appears across the docs, in one place.
VibeHost uses a small set of recurring terms. Keep this page open when you're new — once you've internalized the model, you won't need it.
App
One deploy target. Has a runtime (currently static), a visibility, a set of channels, a set of grants, and a primary URL. Created with vibehost app create <name>. Name is unique within a workspace, lowercase, [a-z][a-z0-9-]*, 2–40 chars.
Not: a "project" (sometimes one product = multiple apps).
Alias URL
The URL that moves with the current deployment on a channel. Format: https://<app>-<workspace>.vibehost.space (production) or https://<app>-<channel>-<workspace>.vibehost.space (other channels). Share this with humans.
Not: the immutableUrl (which doesn't move).
Audit log
Workspace-scoped record of every mutation (grants, deletes, visibility / password changes, role updates, custom-domain attaches, self-grants). Owner / admin only. vibehost audit to read. Retention: workspace-lifetime, never deleted.
Bearer token
The auth scheme for the API. Authorization: Bearer <token> where <token> is a PAT, a device-flow token (from vibehost login), or an OAuth access token (from MCP).
Builder (server-side)
Sandboxed server-side build executed when you run vibehost deploy --build server. For agents that can't build locally. Default is --build client (your machine builds).
Channel
A named slot for deployments. Default is production. Each channel has its own alias URL. Naming rules: [a-z][a-z0-9-]*, 1–32 chars, no underscores. See channels.
Not: a git branch.
Client build
The default deploy model. The build (npm run build, etc.) runs on your machine; the server only accepts the artifact.
Counterpart: server build (--build server) — sandboxed server-side builder.
Deployment
An immutable artifact + a runtime config. Has its own permanent immutableUrl. Surviving rollback by design — old deployments aren't deleted on redeploy. Pruned by vibehost gc.
Email grant
Per-app grant attached to an email address. Works before the invitee signs up — when they first log in with the matching email, the grant resolves. See grants.
Gate
A check that a viewer request must pass. The four gates are visibility, grants, password, share link. All AND-compose — a viewer must satisfy every active gate.
immutableUrl
The permanent URL for a specific deployment. Doesn't move with rollback or promote. Format: https://<deploy-id>.vibehost.space. Link this in code review, archived demos, anywhere you need a version-pinned URL.
MCP server
VibeHost's Model Context Protocol server at https://api.vibehost.com/mcp. Lets Claude / Cursor / ChatGPT / Codex etc. drive VibeHost through tool calls instead of CLI. OAuth 2.1 + PKCE. See MCP guide.
PAT (Personal Access Token)
Long-lived bearer token for non-OAuth callers (CI, scripts). Scoped per action category, optionally restricted to specific app IDs. Workspace-bound. Managed only via the dashboard — PAT management endpoints reject PAT auth themselves, so you can't use one PAT to mint another. See PATs.
Promote
vibehost promote <deploymentId> --to-channel <channel> — move an already-uploaded deployment into another channel without re-uploading. The bytes don't change; only the channel alias moves. Key insight: the bytes you tested are the bytes that ship.
Pull
vibehost pull <app> — download a live deployment's release dir to your local machine. Static apps only. Makes deployments source-of-truth for teams sharing access.
Rollback
vibehost rollback --app <app> — point the channel alias at the previous healthy deployment. Doesn't delete anything; previous deployment keeps its immutableUrl.
Runtime
The execution model for an app. Currently static is the generally-available option; a server-rendered runtime is in private beta. Set per-app at app create. Can't be changed in place (create a new app + re-deploy). See runtimes.
Share link
A cookie-issuing URL that grants temporary access to an app without sign-up. Anyone with the URL can use it; the cookie is bound to the share link, not the visitor. Per-link revoke and expiry. See share links.
Supersede
When a new deploy lands on a channel, the previous deployment is superseded — it's no longer the alias target, but its immutableUrl still works. Old superseded deployments are pruned by vibehost gc.
Team
A sub-group of members within a workspace. Used as a grant target: "the Web team has deployer on all marketing apps" is one grant instead of N email grants. Has its own member roles (member / manager / owner). Slugs appear in URLs.
Not: a billing boundary (that's the workspace).
Tenant
A VibeHost-hosted app from a tenant's (= user's) perspective. Tenant apps run isolated from each other — no shared process with us or with other tenants.
Visibility
Per-app: public / workspace / private. The first gate. Public = anyone, workspace = any workspace member, private = explicit grant required. Composes with the other gates.
Workspace
The billing and admin boundary. Owns apps + teams. Has workspace-level member roles (owner / admin / member). A user can belong to multiple workspaces; the CLI defaults to one stored in ~/.config/vibehost/config.json.
Not: a team (a team lives inside a workspace).
Workspace member roles
owner (billing + delete + everything below), admin (manage workspace + see all apps + everything below), member (be in the workspace; access governed by app grants).
App-level roles
Granted per app, either by team or by email:
viewer— view deployments, see logs.deployer— above + push deploys, promote, rollback.admin— above + manage grants, settings, custom domains.
See also
- Concepts — the same terms with prose explanations