Skip to main content
Write a floo.app.toml with your service declared inline.

Arguments

Flags

Behavior

In a terminal, floo init prompts for app name, service name, port, and type, with defaults from runtime detection. With --json or without a TTY, NAME is required and detected defaults are applied without prompts. Creates:
  • floo.app.toml: app config with your services declared inline (name, port, type, build settings). A header comment points to the git push deploy contract and shows where access_mode lives.
  • AGENTS.md: operating notes for agents working in this repo, only when none exists
floo init does not write a Dockerfile. When the project has none, it says so and links Dockerfiles, which has one to copy for each common stack.

What happens next

floo init doesn’t deploy. Next:
  1. Edit floo.app.toml and run floo preflight.
  2. Commit and git push the generated files to your default branch.
  3. Run floo apps github connect <owner/repo>. It creates the app, installs the webhook, and deploys the pushed source.
  4. Publish to production with gh release create <tag> --repo <owner/repo>. See Releases for dev validation and migration behavior.
floo redeploy --rebuild is only for an ad-hoc rebuild from connected GitHub source.

Examples

Runtime auto-detection

JSON output

When the project has no Dockerfile, data adds a suggestion with the link to Dockerfiles.

Errors