Note

This page covers the architectural decisions and design rationale behind flow. For a deep technical reference, see the architecture docs on DeepWiki.

Last updated: August 2026 · Current release: v2.1.1

Flow is a workflow manager for developers who work across many projects. One interface for all your scripts, secrets, and automation, no matter the stack. This document covers the core architectural decisions and how the pieces fit together.

Why Flow

Most projects come with their own Makefile, npm scripts, or shell scripts, each with different conventions, flags and undocumented quirks. AI-generated tools and side projects have made this worse. The real cost isn’t running the scripts; it’s remembering how everything works every time you switch contexts.

Flow sits above your projects, not inside them. One place to see, run, and compose everything, regardless of what’s underneath.

Design Philosophy

System Overview

Flow’s architecture centers on a CLI-first design where the Go-based CLI engine handles all business logic, with other interfaces acting as presentation or integration layers.

Flow System Overview

The desktop app and other interfaces communicate with the CLI through process execution, with each user action spawning a discrete CLI command. Because of this, it’s important that CLI operations are fast and efficient, which is achieved through caching and optimized data integrations.

Technical Stack

Core Languages

User Interface

Core Libraries

The interface, over time

flow started as a terminal UI and the shape of it has changed a lot. These are the same browse view roughly a year apart.

v1 · flow library
The v1 flow library TUI
Three panes: workspaces on the left, every executable in the middle, the selected definition on the right. It showed everything at once, which stopped scaling somewhere around the fourth workspace.
v2 · browse
The v2 browse TUI
One table, filterable, with the flowfile and tags as columns. Detail moved behind a keypress instead of occupying a third of the screen.

The terminal UI is built on Bubble Tea and Glamour, with most views defined in the tuikit component library. The desktop experience is Mochi, which drives the same binary as a sidecar rather than reimplementing anything.

Resources

Install with brew install flowexec/tap/flow, or:

curl -sSL https://install.flowexec.io | bash