Documentation · pre-release

Pipelines you can read like code.

FlowWright is a local-first, TypeScript-native pipeline engine. Author one typed pipeline.ts and run it on your laptop, inside your existing CI, or on a server you host.

  • MIT licensed
  • Node 24+
  • No YAML
  • Self-hosted
localhost:4317 — acme-api #10
A FlowWright run detail page: five stages, four succeeded and the fifth still running, with the run's log output streaming below.A FlowWright run detail page: five stages, four succeeded and the fifth still running, with the run's log output streaming below.

Start here

three paths through the same engine

Every section

56 pages · English
Authoring

A stage is a function. Nothing more.

Dependencies, matrices, conditions, containers and caches are all typed arguments — so your editor autocompletes your pipeline and tsc catches the mistake before a runner does.

  • Real control flow — needs, when and matrix expansion, in TypeScript.
  • The same file runs locally, in GitHub Actions, GitLab CI or Jenkins.
  • Every run emits a typed event stream you can replay and audit.
Read the authoring guide
pipeline.ts
import { pipeline, stage, sh } from "@flowwright/core";

export default pipeline({
name: "acme-api",
stages: [
stage("Install", async () => {
await sh(["npm", "ci"]);
}),
stage("Test", {
needs: ["install"],
run: async () => {
await sh(["npm", "test"]);
},
}),
],
});
flow explain
Pipeline: acme-api

install
$ npm ci
test ← install
$ npm test

Official plugins

Plugin overview →
Reference

Flat lookup tables, no prose.

Five surfaces we keep stable across minor versions — and a CI check that fails when the engine adds an event or an error code that no page describes.

The control plane you host

server · workers · audit trail
The FlowWright workspace overview: success rate and duration tiles, a list of recent runs, and the projects behind them.The FlowWright workspace overview: success rate and duration tiles, a list of recent runs, and the projects behind them.
Every project, every run, one page.
The FlowWright worker fleet: two online workers with their load, labels and capabilities, each with a drain control.The FlowWright worker fleet: two online workers with their load, labels and capabilities, each with a drain control.
Capacity, labels and drain across the colony.
  1. flow CLIbuilds the plan
  2. Servervalidates, applies policy, queues
  3. Workerclaims it and runs the stages
How a plan travels from CLI to worker.

Five minutes to your first green run.

No account, no server, no YAML — just Node 24 and a project you already have.

Run the quickstart