Skip to Content
ProvidersVercel

Vercel

The Vercel provider deploys supported applications in a Vercel account you own. Its deliberately verified subset covers Next.js, Vite SPAs, Vite frontends with Hono APIs, standalone Hono APIs, and static sites.

Bahama uses Vercel’s official CLI to select the account, create or adopt the project, set declared production variables, deploy source, and verify the production URL.

Ask your agent to use Vercel

Deploy this application to my Vercel account with Bahama. Handle the setup and commands, show me any account choice, and stop before the first deployment so I can review the plan.

Your agent confirms the current provider contract before editing the manifest:

bahama providers vercel --format agent

Describe the environment

bahama.yaml
application: framework: nextjs environments: local: provider: local production: provider: vercel

The production environment may consume values from other resources. A Postgres connection from Neon, for example, can arrive as DATABASE_URL without appearing in the manifest or conversation.

Supported application shapes

Manifest frameworkVercel project preset
nextjsnextjs
vite-spavite
vite-honovite
hono-apihono
static-siteOther

Keep the portable application shape accurate. A Vite + Hono application is still vite-hono even though Vercel uses its native vite preset for the project. The repository must already expose Hono through a Vercel-compatible entry or function-routing layout; Bahama does not generate provider-specific entry files or rewrite source.

For vite-hono and hono-api, set config.healthPath on the Vercel environment to a public backend route that returns HTTP 2xx or 3xx:

environments: production: provider: vercel config: healthPath: /api/health

Bahama verifies that route after Vercel reports the deployment ready. Other Vercel shapes default to /.

Vercel itself supports more frameworks than this Bahama driver currently models. The live provider descriptor is the authoritative list of application shapes Bahama can plan, execute, and verify end to end.

Install and sign in when asked

If the official CLI is missing, Bahama returns the installation command. Your agent should ask before running it globally:

npm install --global vercel

Bahama requires Vercel CLI v51 or newer for structured deployment IDs and resumable readiness checks.

When authentication is required, the agent starts:

bahama auth login vercel

You complete Vercel’s login flow. The resulting credentials remain in Vercel’s own store; Bahama does not ask you for a token or copy it into the project.

Choose the correct account

A Vercel login can see a personal account and several teams. Bahama does not silently accept whichever account the Vercel CLI used last.

When more than one choice is available, the plan returns decision required. Your agent presents the real names and writes your selection to the exact path Bahama provides:

bahama.yaml
environments: production: provider: vercel config: scope: example-team

scope is a safe account selector. Durable account and project IDs belong in bahama.lock, not the manifest.

What Bahama manages

  • the selected Vercel account and project;
  • creation or exact-name adoption of the project;
  • declared production environment variables;
  • production deployment from the current workspace;
  • readiness polling and live URL verification; and
  • status and drift against the committed lock.

Domains, billing, previews, and the rest of the Vercel account are not currently managed by Bahama.

Deploy and iterate

The first deployment waits for your approval:

bahama deploy production

After the project and environment are verified, ordinary code-only deployments are routine. A changed vercel.json, framework mismatch, new binding, pending migration, or different provider account makes deployment consequential again.

Bahama pins the planned project and account. A stray .vercel/project.json cannot redirect the deployment, although the agent may receive a warning about the mismatch.

If the Vercel project is deleted while another resource remains healthy, keep bahama.lock and re-plan. Bahama can replace the missing application project without replacing the database.

Last updated on