VibeHost
Reference

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.

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

On this page