FBPX · flow-based programming

Applications as graphs

Describe your application as a flow: plain-text .fbp files that connect reusable npm packages. FBPX runs the graph on the CLI, in a server, or in a browser — and inspects it live over the FBP protocol.

hello_world.fbp
provider ./{ns}.{name}.yml

"http://rss.cnn.com/rss/edition_world.rss" -> url Rss(network/rss)

Rss out -> msg Log(console/log) out -> msg SayIt(console/say)
the flow
fbpx run
$ fbpx run hello_world.fbp
CNN.com - RSS Channel - World
Why FBPX

Programs you can read

A flow is a graph: plain text you can version, review, and diff like any other source.

Flow-as-code

Every application is a .fbp file — a declarative graph of connected nodes. Read, review, and version your architecture like source code.

One runtime

A single @fbpx/flow runtime executes every graph identically on the CLI, in a server, or in a browser. No separate execution models.

npm is your library

Nodes are plain npm packages behind a tiny protocol — declare dependencies, and compose the ecosystem instead of writing glue code.

FBP protocol

Flows speak FBP. Drive and inspect a running graph from any client, and build tools that see the flow as it executes.

Deploy & share

Push flows to the registry and reference nodes by URL. fbpx deploy tags a release your projects can consume.

>_

Terminal-first

A CLI for the whole lifecycle — run, inspect, convert, compile, install. Scriptable, pipeable, and testable.