Install the nflow CLI from main, lint the canonical example, run it, and build a standalone binary in under five minutes.
Nexss Flow ships as a single Go binary. No daemon, no scheduler, no database.
Requires Go 1.26 or later. Install the CLI from the current main branch:
go install github.com/nexssp/flow/cmd/nflow@main
nflow versionMake sure Go's binary directory ($(go env GOBIN), or $(go env GOPATH)/bin when GOBIN is unset) is on your PATH. Verify the install with nflow version — it should print build metadata (version, commit, built at).
Use nflow lint to verify preprocessing, parsing, and known atom/modifier names against the active registry — without executing the flow.
nflow lint examples/00_flow_basics/04_data_transformation.nflow
nflow lint ./examples/... # recursive discovery
nflow lint ./... # all sources (includes dev fixtures)Lint accepts a file, an exact directory, or a Go-style ./... / ./path/... target. Multiple file, directory, and recursive targets may be supplied together. Discovery is deterministic, skips VCS metadata directories (.git, .hg, .svn), vendored dependencies (vendor), and node_modules. It does not follow symlinked directories and skips symlinked files during discovery.
ok (N files). Batch failures return one JSON diagnostics array covering the discovered sources that failed.Run accepts a .nflow path and an optional JSON payload. Its documented flags include -v/-vv/-vvv for verbosity and --assert=EXPR for a post-run result check.
nflow run examples/00_flow_basics/04_data_transformation.nflow
nflow run examples/00_flow_basics/04_data_transformation.nflow \
--assert='result.id == 101'
nflow run -vv flows/client.nflowThe example projects a nested value into a new shape. When you run 04_data_transformation.nflow, it prints the JSON object below — the projection combined nested fields with a string-concatenation expression.
{
"id": 101,
"name": "Julia",
"status": "active",
"summary": "Julia (ID: 101) is active"
}The same source compiles to a self-contained executable with the .nflow source, declared transports, and @require modules embedded.
nflow build -o ./bin/my-flow examples/00_flow_basics/04_data_transformation.nflow
./bin/my-flow # runs without the CLIPut -o FILE before the input path. The current build parser stops reading flags when it reaches the positional path, so putting -o after the path does not select the requested output. The resulting binary has zero runtime dependencies — deploy with FROM scratch.
nflow build currently targets the host platform. It does not provide a --target cross-compilation flag; the online help text advertising --target is stale. For cross-compilation, build the generated Go harness with the required GOOS and GOARCH values..nflow recipes.