Unified Runtime
Zero-Dependency Deployment
Run on Linux, Windows, or macOS with a single static binary or OCI image. No external databases or message buses required—perfect for laptops, servers, and air-gapped networks.
Wrap logic once, invoke anywhere. Securely run workflows via CLI, TUI & REST with unified logs and typed inputs.
Open Source · AGPL-3.0 license
# 1. Interactive TUI with validation
$ flwd :tui
> Choose: myapp/deploy
> target [prod]:
> Confirm? [y/N]
# 2. Or standard CLI flags
$ flwd myapp deploy --target prod --confirm
# 3. Or via REST API (same logic!)
$ curl -s -X POST http://localhost:8080/runs \
-H 'Content-Type: application/json' \
-d '{"job_id":"myapp/deploy","args":{"target":"prod","confirm":true}}'
FLOWD stands for Framework for Language-agnostic Orchestration of Workflows Distributed.
Instead of inventing another buzzword, the name describes what the engine actually does: take plain scripts in your language of choice, orchestrate them as reusable workflows, and run them consistently across CLI, TUI and HTTP.
flwd (pronounced "flowed") is the reference engine that implements FLOWD — one binary, one contract, any language that can speak stdin/stdout and environment variables.
Raw Bash/Pwsh scripts (and sometimes Python or other glue) wired together with SSH, cron and CI jobs, etc.
flwd?Because shells are great languages, but very weak platforms. Every new script has to reinvent the same things:
--helpEach author does it differently, and the fragile bits (quoting, spaces, encoding, env, strict mode) are easy to get wrong and hard to see until production.
flwd generates flags, --help, completion and validation.flwd makes them typed, observable and policy-driven so you can focus on what the workflow does, not on re-building the plumbing every time.
The project is currently in pre-1.0 development and is not yet ready for production use.
The features on this page describe the 1.0 design and direction. For the most accurate picture of what you can use today, please check the documentation↗
and release notes.
Stop shipping fragile code. Build robust, self-documenting tools for your team.
Replace loose shell scripts with reliable CLI and TUI utilities. Give your SREs and Sysadmins tools that validate inputs before execution.
Create one‑click health checks that stream live logs directly to the user. Debug production issues faster with clear, structured output in the terminal or web.
Run critical backup and restore workflows with confidence. Every execution is journaled, and artifacts are tracked for strict compliance and auditing.
Expose complex infrastructure tasks as safe, simple commands. Let developers trigger deployments or database migrations directly from CI pipelines or internal portals.
Build report generators that validate parameters upfront and stream progress in real‑time. No more guessing if a long‑running job has hung.
Turn your workflows into professional products. Use :build-app to compile your logic into a branded, standalone binary for distribution to your team or customers.
Stop maintaining separate logic for your API, CLI, and Admin scripts. flowd enforces one strict contract for discovery, security, and execution—regardless of how the job is triggered.
Zero-Dependency Deployment
Run on Linux, Windows, or macOS with a single static binary or OCI image. No external databases or message buses required—perfect for laptops, servers, and air-gapped networks.
Omnichannel Invocation
Write logic once, access it everywhere. Invoke tools via CLI flags, interactive TUI forms, or REST API calls. All paths share the exact same validation and execution engine.
Input Integrity by Design
Define inputs with ArgSpec and let the system handle the rest. flowd automatically generates CLI flags and API schemas, ensuring bad data is rejected before your script ever runs.
Governance & Isolation
Secure by default. Features strict shell isolation, automatic secret redaction, and short-lived tokens. Apply granular policies to control exactly who can run what (and how).
Visibility without the Setup
Get full visibility immediately. Enjoy live log streaming (SSE), downloadable artifacts, and structured audit trails. Prometheus metrics are exposed out-of-the-box.
Flexible Tool Sourcing
Load tools from anywhere. flowd auto-discovers scripts from local filesystems, trusted Git repositories, or OCI add-ons, instantly populating your catalog across all interfaces.
Stop paying for bloat. flowd ships as a lightweight, stable kernel. Advanced capabilities—like TUI, Metrics, and SQL integration—are opt-in extensions. You only load the code you actually need.
Zero‑config Interface. Browse tools, fill inputs with validation, and stream logs in a rich terminal UI. No extra coding required.
Portable Packaging. Bundle your tools and dependencies into standard OCI images for reproducible execution anywhere.
Structured Data Access. A managed SQLite interface for scripts that need structured storage—ephemeral cache or persistent state.
Built‑in Scaffolding. Commands like :init, :test, and :gen to rapidly scaffold new tools and generate integration tests.
Structured Event Stream. Real‑time NDJSON for runs, events, sources, and artifacts—pipe into any logging stack.
Database Health. Automated VACUUM, checkpointing, and optimization keep the embedded store fast and safe.
Universal Monitoring. Counters and histograms for job execution—compatible with Prometheus and OpenMetrics.
Automation on Autopilot. Fire jobs by RFC 5545 schedules (cron‑like) or secure HMAC webhooks.
Long‑Running Processes. Manage rootless, long‑lived services with native log streaming and state supervision.
Ready for LLMs. Instantly expose jobs as executable tools over WebSocket/stdio via the Model Context Protocol.
Headless Management. Programmatic :service start/stop/restart to manage deployments in headless environments.
Expand the Ecosystem. Missing a capability? Contribute an extension on GitHub and help build what’s next.
Open by Design
We believe in software freedom. flowd is licensed under AGPL‑3.0 to ensure that improvements to the core framework remain open and accessible to everyone.
Builders Helping Builders
Connect with fellow builders. Whether you are debugging a workflow or architecting a platform, our community is ready to help. See “Community” in the top navigation.
PRs Welcome
Pull requests are welcome. We value clear documentation and stable contracts. Check out our contribution guide to get started.
Contracts that Last
We prioritize stability over churn. The core contracts are locked to ensure backward compatibility, while new capabilities are added via opt‑in extensions.
Get the single binary and start automating in seconds.