Quick Start
Start the Server
just devThis builds the WASM frontend and starts the server. Open http://localhost:3000/index.html and click Run workflow to see the demo.
Run a Worker
In a separate terminal:
cargo run -p workflow-graph-worker-sdkThe worker registers with the server, polls for jobs, and executes them. You’ll see jobs transition from queued to running to success in the browser.
Worker with Labels
Workers can declare capabilities via labels:
SERVER_URL=http://localhost:3000 \WORKER_LABELS=docker,linux \cargo run -p workflow-graph-worker-sdkJobs with matching labels in the workflow YAML will only be claimed by workers whose labels are a superset.
Interact via API
# List workflowscurl -s http://localhost:3000/api/workflows | python3 -m json.tool
# Run a workflowcurl -s -X POST http://localhost:3000/api/workflows/ci-1/run
# Check statuscurl -s http://localhost:3000/api/workflows/ci-1/status | python3 -m json.toolUse via NPM
If you’re building a web app, install the published packages:
npm install @auser/workflow-graph-web # Vanilla JS/TSnpm install @auser/workflow-graph-react # React componentimport { WorkflowGraph, darkTheme, setWasmUrl } from '@auser/workflow-graph-web';
// Serve the .wasm file from public/ and set the URLsetWasmUrl('/workflow_graph_web_bg.wasm');
const graph = new WorkflowGraph(document.getElementById('container')!, { theme: darkTheme, autoResize: true,});await graph.setWorkflow(workflowData);See the WASM API reference for the full API, the embedding guide for React examples, and the examples directory for complete working apps.
Run Tests
just test # Run all tests (38 tests)just check # Type-check workspacecargo test -p workflow-graph-queue # Queue + scheduler tests only