AI-native development toolchain

Plan. Implement.
Ship with confidence.

flow bridges GitHub, a Memory knowledge graph, and OpenCode AI sessions to drive a structured scenario-based software development lifecycle.

Terminal
$ curl -fsSL https://getflow.dev/install | bash
$ flow next --plan --top 5
# → READY s-cases-archive-restore "Archive and restore cases"
# → NEEDS CONTEXT s-billing-pdf-export
What flow gives you

The full lifecycle,
in one toolchain.

From scenario planning to merged PR — every step has a command, every decision is tracked in the graph.

Plan

Knowledge Graph Planning

Every scenario, step, context, and component lives in a Memory graph. Plan full implementation blueprints before writing a single line of code.

Implement

Three-Branch Model

Memory main tracks shipped reality. plan/next-gen holds your blueprint. execute/<key> branches track live implementation — fully isolated per scenario.

Automate

AI Session Orchestration

Launch OpenCode sessions per scenario stage — plan, implement, audit. Agents receive context-specific skill packs and work inside dedicated git worktrees.

Verify

Component Verification

flow verify checks every SQLQuery, ServiceMethod, APIEndpoint, and UIComponent against your actual codebase — file existence, function signatures, routes.

Audit

Constitution Audits

Encode your team's conventions as Rules. flow audit enforces naming patterns, required properties, and planning-phase constraints before any branch is opened.

Ship

Automated Promotion

When implementation passes verification, flow promote merges the execute branch into Memory main and opens a GitHub PR — all from a single command.

The loop

Six commands.
Feature shipped.

Every scenario follows the same structured path. No guesswork, no forgotten steps.

PLAN

01

Plan the scenario

An AI agent reads the graph, researches the codebase, and creates a full implementation blueprint: Scenario → Steps → Contexts → Components.

$ flow-operator session start --stage plan --key s-cases-archive
AUDIT

02

Audit against the constitution

flow checks every graph object against your team's Rules — naming conventions, required properties, planning-phase patterns. Must pass before branching.

$ flow audit --key s-cases-archive
BRANCH

03

Open execution branches

flow creates a Memory execute/<key> branch and a git scenario/<key> branch with an isolated worktree at /tmp/lp-work/<key>.

$ flow verify --key s-cases-archive --init-branch
CODE

04

Implement bottom-up

AI writes migrations → SQL queries → service methods → API endpoints → UI components, following the component dependency graph exactly.

$ flow-operator session start --stage implement --key s-cases-archive
VERIFY

05

Verify against the codebase

flow checks each component: file existence, SQLC query functions, service signatures, HTTP handler registrations, Templ component files.

$ flow verify --key s-cases-archive
SHIP

06

Promote to main

Execute branch merges into Memory main. A GitHub PR is opened automatically. Done.

$ flow verify --key s-cases-archive --promote --execute
flow-operator

Command the loop.
From your terminal.

Operators schedule sessions, review results, and track findings — without touching agent internals.

flow-operator session start

Schedule an AI session

$ flow-operator session start --stage plan --key s-cases-archive
$ flow-operator session start --stage implement --key s-cases-archive
$ flow-operator session start --stage audit --key s-cases-archive

session ses_abc123 started

stage: implement → dispatched skill

flow-operator sessions

Review session history

$ flow-operator sessions
$ flow-operator sessions --key s-cases-archive
$ flow-operator session status ses_abc123
$ flow-operator session logs ses_abc123 --text

ses_abc123 implement s-cases-archive done

ses_def456 plan s-billing-export running

flow-operator sync

Sync sessions to the graph

$ flow-operator sync
$ flow-operator sync --include-subsessions
$ flow-operator sync --json

upserted AgentSession asa-cases-archive-implement

linked PR #142 → s-cases-archive

flow-operator analyze

Analyze a session

$ flow-operator analyze ses_abc123 --auto
$ flow-operator analyze ses_abc123 --type implementation \
$ --notes "Implemented archive flow" \
$ --findings "missing index|no error handling"

analysis recorded: asa-cases-archive-implement

feedback items: 2 created

Graph object model

Every decision is
a node in the graph.

Scenarios, steps, contexts, actions, API endpoints, service methods, SQL queries, UI components — all live in the Memory knowledge graph. Not docs. Not tickets. Live, queryable, verifiable data.

Semantic search across all objects

flow query "how is archive implemented?"

Typed relationships between every component

requires, calls, uses, tested_by

Branch-per-scenario isolation

plan/next-gen · execute/<key> · main

flow graph tree s-cases-archive

Scenario s-cases-archive

├── has ScenarioStep s-cases-archive-step-attorney-clicks

├── occurs_in Context ctx-cases-list

├── requires UIComponent ui-cases-list-page

└── requires APIEndpoint ep-cases-archive

└── calls ServiceMethod sm-cases-archive

└── uses SQLQuery sq-soft-delete-case

└── uses SourceFile sf-migration-archive-cases

└── has_action Action act-cases-click-archive

✓ SourceFile migrations/0042_archive_cases.sql

✓ SQLQuery SoftDeleteCase

✓ ServiceMethod ArchiveCase

✓ APIEndpoint ArchiveCaseHandler

✓ UIComponent cases/list.templ

Session providers

Plug in any AI backend.
Your choice of agent.

flow routes sessions to whichever backend fits your setup — local, containerised, or fully managed.

managed

Memory Agent

type: memory

Dispatches sessions to an Emergent Memory agent. Branch overrides are injected per scenario key so the agent always checks out the right implementation branch.

.flow.yml

provider:

default: memory

providers:

- name: my-memory

type: memory

token: your-token-here

Early access open

Ready to ship features
the right way?

Join the early access list. Be the first team to bring graph-driven, AI-assisted development to your codebase.