Industrial data middleware: OpexFlow ingests from any protocol, transforms data in
flight with JavaScript or the native DSL, and delivers to any sink, all from a single
static binary with an embedded UI.

Welcome to the OpexFlow docs. OpexFlow ingests from any protocol, transforms data in
flight, and delivers to any sink, all from a single static binary with an embedded UI.
New here? Start with [Quick start](/docs/quick-start). If you only read one section,
make it the [Transform DSL](/docs/transform-dsl); it's the fastest path through your
data.

> **Info**
>
> **Two transform engines.** **JavaScript** runs in a sandboxed runtime (a worker pool,
> one runtime per scripted route) for full flexibility. The **native DSL** is evaluated
> directly against the in-memory `CanonicalMachineData` struct (no JSON marshalling, no
> interpreter VM), so it's the lowest-latency path for filters and field math. You rarely
> write either by hand: the [AI transform generator](/docs/ai-generator) emits both.

## How these docs are organized

The docs walk through OpexFlow's four primitives — sources, transforms, sinks, and
flows — then the operational layers around them.

- **Installation** — Ship the static binary via Docker or build from source with only the adapters you need.
- **Quick start** — A connector identity, one Modbus source, and a default DSL transform — running in minutes.
- **Sources** — Protocol adapters — Modbus, OPC-UA, MQTT, NATS, HTTP, FOCAS, MTConnect — all normalize to one shape.
- **Transform DSL** — The tiny statement-based language evaluated natively against the event struct. The fastest path through your data.

The rest of the pages expand each layer: [Core concepts](/docs/core-concepts),
[Flows](/docs/flows) and per-source routing, the [configuration reference](/docs/configuration),
[JavaScript transforms](/docs/javascript-transforms), [Sinks](/docs/sinks),
[Observability](/docs/observability), the [REST API](/docs/rest-api),
[Deployment](/docs/deployment), the [CLI](/docs/cli), and [Licensing](/docs/licensing).