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.
The full lifecycle,
in one toolchain.
From scenario planning to merged PR — every step has a command, every decision is tracked in the graph.
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.
Three-Branch Model
Memory main tracks shipped reality. plan/next-gen holds your blueprint. execute/<key> branches track live implementation — fully isolated per scenario.
AI Session Orchestration
Launch OpenCode sessions per scenario stage — plan, implement, audit. Agents receive context-specific skill packs and work inside dedicated git worktrees.
Component Verification
flow verify checks every SQLQuery, ServiceMethod, APIEndpoint, and UIComponent against your actual codebase — file existence, function signatures, routes.
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.
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.
Six commands.
Feature shipped.
Every scenario follows the same structured path. No guesswork, no forgotten steps.
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-archive02
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-archive03
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-branch04
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-archive05
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-archive06
Promote to main
Execute branch merges into Memory main. A GitHub PR is opened automatically. Done.
flow verify --key s-cases-archive --promote --executeCommand 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
session ses_abc123 started
stage: implement → dispatched skill
flow-operator sessions
Review session history
ses_abc123 implement s-cases-archive done
ses_def456 plan s-billing-export running
flow-operator sync
Sync sessions to the graph
upserted AgentSession asa-cases-archive-implement
linked PR #142 → s-cases-archive
flow-operator analyze
Analyze a session
analysis recorded: asa-cases-archive-implement
feedback items: 2 created
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
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
Plug in any AI backend.
Your choice of agent.
flow routes sessions to whichever backend fits your setup — local, containerised, or fully 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.
provider:
default: memory
providers:
- name: my-memory
type: memory
token: your-token-here
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.