Build real CLI tools — visually.
Cliflow is a visual CLI builder for Go. Stack blocks to design interactive command-line tools, test them in your browser, and download a standalone binary. No Go boilerplate.
How it works
Stack blocks — prompts, HTTP requests, conditions, outputs.
Run it instantly in an in-browser terminal. No compilation.
Get a complete Go project. Compile it into a real CLI binary.
Everything you need to ship a CLI
Notion-style vertical blocks with drag-and-drop.
Test your flow in an xterm.js terminal before compiling.
Download a complete, readable Go project — no runtime lock-in.
goreleaser config builds 6 targets: macOS, Linux, Windows × amd64/arm64.
Drive your CLI from CI with --input step_id=value.
Reference {{ env.MY_API_KEY }} — never bake secrets into the workflow.
From blocks to binary
blocks: - text_input: "GitHub username" - http_request: GET api.github.com/... - condition: status == 200 - output_table: user info
$ make build && ./my-cli ? GitHub username: torvalds +------+--------------+ | name | Linus Torv...| +------+--------------+
FAQ
No. You design and test entirely in the browser. You only need Go to compile the downloaded project.
Yes. The builder is free and the generated Go project is yours to compile, modify, and distribute however you like.
Yes. The included GitHub Action and goreleaser config cross-compile and publish GitHub Releases; a Homebrew tap example is in the docs.
Yes. Pass --input step_id=value to pre-fill prompts and run headless.