Skip to main content
Deploy the committed code in a local git repository with one command. The first run creates a floo-hosted project, later runs push to it, and every run waits until the commit is live at https://<app>-dev.getfloo.app.
Requires floo CLI v2026.11.01 or later (floo update).

Arguments

Flags

What it does

  1. Reads [app] name from floo.app.toml.
  2. Checks the folder: it must be the root of a git repository with at least one commit and no uncommitted changes. floo deploys commits, so uncommitted edits would be left out.
  3. Finds the project:
    • The folder has a floo git remote: pushes to it after checking it belongs to the app named in floo.app.toml.
    • A floo-hosted project with that name exists: adds the floo remote and pushes.
    • Neither: creates a floo-hosted project with that name (the same as floo projects create), adds the floo remote, and replaces the project’s starter commit with yours.
  4. Pushes HEAD to the project’s default branch with a short-lived credential. Nothing is stored in your git config or keychain except the floo remote.
  5. Waits for that commit’s dev deploy, like floo deploys watch --commit.
It deploys to dev only. To publish to production, run floo releases promote.

When the folder isn’t ready

floo deploy stops and prints the command that fixes it: If the first push fails after the project was created, run floo deploy again. It remembers that the starter commit still has to be replaced.

Examples

With --json, the wait prints one JSON object per line on stdout as the deploy moves, and errors use the standard success: false shape with error.code and error.suggestion.