← Back to archive

Repo of the Day

windmill-labs/windmill: Code-first platform for workflows, apps and AI agents, on the fastest self-hostable orchestrator (benchmarked against Airflow, Prefect and Temporal). Business teams build with AI, engineers control what ships. Open-source alternat…

Published: Nov 11, 2026

Open repository ↗

Code-first platform for workflows, apps and AI agents, on the fastest self-hostable orchestrator (benchmarked against Airflow, Prefect and Temporal). Business teams build with AI, engineers control...

Summary

Windmill is an open-source, self-hostable, code-first platform for workflows, applications, and AI agents, with a Rust backend, Svelte frontend, and PostgreSQL-backed job queue. Engineers write scripts in languages including Python, TypeScript, Go, Bash, SQL, Rust, and PowerShell, then turn them into UIs, APIs, scheduled jobs, or composed flows.

What it is useful for

Use Windmill when an operational task needs both code and a UI or API, or when several scripts need to be coordinated. The README’s trial example accepts customerId and plan, writes to a workspace Postgres data table, reads a permissioned Slack token, and posts a message. Its typed arguments automatically become a form, HTTP endpoint, and CLI command.

Workflows can also be code. The example flow runs a planning task, waits for approval, and then applies the resulting changes; each task has its own logs, and an approval wait releases the worker. Scripts and flows can be triggered by schedules, webhooks, HTTP routes, Kafka, WebSockets, or email, and can underpin React and Svelte apps.

For data work, workspace Postgres tables avoid handing a connection string to scripts, while DuckDB can query files and several databases in SQL. DuckLake supports lakehouse tables in workspace object storage.

How engineers can use it

For a local instance, the README documents:

curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env

docker compose up -d

Then open http://localhost and sign in with [email protected] / changeme. For other deployment options, the README links to its Self-Host documentation, including Helm installation and guidance suggesting one worker per vCPU with 1–2 GB RAM.

A practical first path is:

  1. Define one small script in the Web IDE, or synchronize a Git repository using the CLI or VS Code extension. The documented wmill init command generates AGENTS.md and skill files for AI coding tools.
  2. Check its generated form and API, then compose it into a flow or trigger it with a schedule or webhook.
  3. For AI-assisted work, use AI sessions, which build in a workspace fork and provide a preview and diff before deployment. Protection rulesets can block direct deployment; dev workspaces and Git pull requests support promotion, while worker groups can isolate AI-built jobs.

Documented limitations include alpha pipelines, Deno and PHP being available only on windmill-full images, and Bun being the default TypeScript/JavaScript runtime. The Community Edition is AGPLv3, but uses such as offering it as a managed service require a commercial license. Outside contributions are not currently being sought, although bug reports and small fixes are accepted. For running from source, follow frontend/README_DEV.md.