Skip to main content

Documentation Index

Fetch the complete documentation index at: https://getfloo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

The floo CLI is the primary operational surface for the deployment platform. Use this page to understand how the binary behaves before you dive into command-specific reference pages.

Output Contract

Every command supports two modes:

Human mode

  • human-oriented output goes to stderr
  • tables, progress, warnings, and success messages stay readable in a terminal
  • stdout is kept clean unless a command intentionally prints raw data

JSON mode

floo apps list --json
  • JSON goes to stdout
  • human-oriented progress still goes to stderr
  • success responses use { "success": true, "data": ... }
  • failures use { "success": false, "error": { "code": "...", "message": "...", "suggestion": "..." } }
This split is why floo ... --json 2>/dev/null works well for agents.

App Inference

Most app-scoped commands can infer the app from local config. The shipped CLI resolves app context in this order:
  1. --app <name>
  2. nearest floo.service.toml
  3. nearest floo.app.toml
If you are outside the repo, targeting a different app, or dealing with multiple configs, pass --app explicitly.

Dry Run

Use --dry-run when you want to validate without mutating anything.
floo preflight --json
The current binary supports dry run for:
  • redeploy
  • preflight
  • env set
  • env unset
  • env import
  • apps delete
  • domains add
  • domains remove
  • cron run
  • deploys rollback
  • update (preview the release that would be installed without overwriting the binary)

Self-Discovery

Use the CLI itself when you want the most accurate picture of the shipped surface:
floo --help
floo <command> --help
floo docs
floo commands --json
Built-in doc topics: floo docs services, floo docs config, floo docs cron, floo docs deploy. Use floo commands --json for the full machine-readable command tree.

Configuration Files

The CLI reads these files:
  • floo.app.toml — primary app-shape config file. Services are declared inline under [services.<name>]; managed service credential attachments live under service env blocks.
  • .floo/services.lock — generated record of managed-service mutations. Commit it, but do not hand-edit it.
  • floo.service.toml — optional per-service file used only in the delegated multi-service layout.
  • ~/.floo/config.json — auth and API settings.
See Configuration for config shapes and Config File Spec for resolution rules.

Most-Used Command Families

Deploy Flow

Pushing to GitHub triggers a deploy automatically. Watch it with floo deploys watch:
git push origin main
floo deploys watch --app my-app
Use floo redeploy only to force a redeploy without a code change — for example, after updating env vars:
floo env set API_KEY=new-value --app my-app
floo redeploy --app my-app

Agent Pattern

The most common agent flow is:
floo commands --json 2>/dev/null | jq '.data.commands'
git push origin main && floo deploys watch --app my-app --json 2>/dev/null
Use the command tree for capability discovery, then push and watch in JSON mode.