Skip to main content
--app is optional inside a directory with floo.app.toml; pass it when running commands from elsewhere. Agents can drive the same operations through the HTTP API instead of the CLI.

Ship changes

Commit and push to GitHub. The deploy triggers automatically.

Find the command

Before you connect: a human must install the floo GitHub App in a browser once per GitHub account that owns repos to deploy. An organization installation does not cover personal-account repos, or vice versa. When the App is missing, connect opens a setup link, or prints it with --no-browser (implied by --json); authorize floo with GitHub there to link the installation to your floo org. If you installed without opening a setup link, run floo apps github setup to link it.

Task recipes

Add env vars and redeploy

Add a database

Declare the database in floo.app.toml:
Preflight, commit, and push the declaration:
The next deploy provisions it and injects DATABASE_URL plus standard PG* variables. Postgres is fully isolated between dev and prod. Declare Redis with type = "redis" and Storage with type = "storage"; see Managed Services: Dev and prod isolation for the full model.

Add a custom domain

Declare the domain in floo.app.toml, naming your target service:
Commit and push the config, then wait for that commit’s dev deploy to go live. Release it to prod and read the DNS records:
Publish the traffic and certificate CNAME records printed by show at your DNS provider, then watch activation:
See Custom domains for DNS setup and troubleshooting.

Roll back a bad deploy

Debug a failing deploy

How floo works

The mental model. Config in the repo, GitHub-backed deploys, CLI or API.

Configuration

Understand floo.app.toml and how services are declared.