Bahama Documentation
Bahama is cloud infrastructure for your coding agent
Your coding agent can write an application. Bahama helps it finish the job: choose compatible providers, create the resources the application needs, connect them safely, and deploy the result.
You describe the outcome. Your agent works out the architecture with you. Bahama turns that decision into a reviewable plan, waits when your approval is needed, and verifies each result against the live provider.
You can use provider accounts you already own—such as Vercel and Neon—or choose Bahama Cloud for a managed path with one account and no underlying cloud setup.
Get started with just a prompt
Open your project in Codex, Claude Code, Cursor, or another coding agent that can run terminal commands. Then paste:
Read https://bahama.ai/install.md and install Bahama for this workspace.
Tell me what you are going to install before you run the commands.The installation guide gives your agent two ordinary, inspectable commands: one installs the Bahama skill, and one installs the CLI. It does not authorize a provider login, deployment, paid resource, database migration, or destructive change.
See what the agent installs, why both pieces are needed, and how to verify the setup.
Your first Cloud projectDeploy a Vite application with the managed Bahama Cloud path.
Deploy with Vercel + NeonPut Next.js on Vercel and connect it to Postgres in accounts you own.
How Bahama worksUnderstand what the agent decides, what the CLI enforces, and where your approval fits.
Your agent decides. Bahama executes.
The Bahama CLI does not contain an AI model and does not secretly rank providers. Your coding agent inspects the application, reads the capabilities reported by the installed providers, and proposes a setup to you.
The workflow stays short: you ask for an outcome, your agent inspects the real
application and proposes compatible infrastructure, and bahama.yaml records
the decision. Bahama then produces an exact plan, waits for you when the work
is consequential, and verifies the live result.
Most projects use a small command loop:
bahama inspect --json
bahama providers --format agent
bahama plan
bahama apply plan_7f4c9b21a3d0 --approved
bahama deploy production
bahama status --jsonYour agent normally runs these commands for you and explains the decisions that matter.
What “safe for agents” means
- Planning is read-only.
bahama planmay inspect providers, but it does not create resources or publish code. - Consequential changes wait for you. Creating a resource, running a migration, selecting a new account, rewiring a secret, or making a first deployment requires review.
- Secrets stay out of the transcript. Bahama transfers supported secret values without writing them to the manifest, lock, plan, receipt, or agent output.
- Success is verified. A provider command exiting successfully is not enough. The expected live resource or deployment must also pass its postcondition.
- Interrupted work can resume. Bahama records verified steps and continues from the first unfinished operation without blindly recreating resources.
Bahama manages infrastructure; it does not sit in front of normal application traffic. A healthy deployed application continues to run at its provider even when Bahama is not being used.
Two good ways to deploy
| Bahama Cloud | Open provider ecosystem | |
|---|---|---|
| Experience | One elegant, integrated application cloud | Compose compatible services for the project |
| Best for | The shortest managed path for supported applications | Projects with a specific runtime, service, region, or provider relationship |
| Accounts | One Bahama account | An account with each selected provider |
| Authentication | Bahama OAuth | The official provider login flows |
| Production traffic | Goes directly to the managed application runtime | Goes directly to the selected providers |
| Provider setup | Application runtime and services work together by design | Your agent selects and connects capabilities through the manifest |
For a supported new application, Bahama Cloud is usually the simplest path. When the project needs a different runtime or service, your agent can compose compatible open providers through the same workflow.