Skip to main content

Changelog

See what's new with Windmill.

See the Windmill roadmap and what's coming next

Roadmap

7 posts tagged with "CLI"

View All Tags

An unmodified dbt project now runs as a Windmill script. Copy the project into a <script>__dbt/ folder, wmill sync push, and Windmill runs dbt build on your own workers with live per-model progress, per-model results, dbt retry and row previews. Since v1.777.0, dbt is in the new-script language picker and opens in an editor of its own - the project's file tree, its descriptor, the run form and a model graph that Refresh models redraws from a dbt parse of the files as they are in the editor, labelled with where it came from. Its models, sources, seeds and snapshots become dbt://warehouse/schema/model assets with their ref() lineage, so a Python or DuckDB script reading a mart appears on the same graph. Warehouses are configured once per workspace and named from the optional wm_dbt.yaml descriptor, so the project carries no connection and stays runnable locally. Three engines are selectable (dbt Core 1.x by default, dbt Core 2.x, dbt Fusion), all fetched or built on first use and cached per worker. Everything is in the community edition except the mssql and oracle adapters.

New features

  • One dbt project is one Windmill script: the project rides with it as its module bundle, copied in verbatim and never cloned at run time
  • Models, sources, seeds and snapshots become dbt:// assets with ref() lineage, materialization, tags and data tests, parsed at deploy
  • A dbt editor (v1.777.0): project file tree, descriptor, run form and a model graph refreshed on demand from a dbt parse of the buffer, scriptable from a flow, the CLI or the API
  • Live per-model progress during a run, structured per-model results, dbt retry from the run page and dbt show row previews
  • Warehouses configured once per workspace and named by the optional wm_dbt.yaml descriptor, or bring the project its own profiles.yml
  • Engine toggle between dbt Core 1.x (default), dbt Core 2.x and dbt Fusion, with dependencies resolved and pinned at deploy

Edit, preview and run data pipelines from local files without deploying. wmill pipeline show/run --local builds the graph from your working tree with the same parser the UI uses, wmill pipeline dev live-previews the graph in the browser on every save, and wmill pipeline docs writes a PIPELINE.md for coding agents.

New features

  • `wmill pipeline show <folder> --local` renders the pipeline graph from working-tree files, fully offline
  • `wmill pipeline run <folder> --local` runs the whole pipeline in topological order via previews, with `--from`/`--to`/`--dry-run` bounds
  • `wmill pipeline dev [folder]` watches the folder and live-reloads the browser graph view on every save, with run buttons, run forms and live activity
  • `wmill pipeline docs <folder>` writes PIPELINE.md (plus AGENTS.md/CLAUDE.md pointers) describing the graph and datatable schemas for an editor or agent
  • `--partition <value>` runs partitioned scripts on an explicit partition (time kinds default to the current UTC period locally) and doubles as a headless backfill
  • `--arg <script>:<param>=<value>` (repeatable) and `--upload <script>=<file>` parameterize scripts in the cascade

The new wmill generate-metadata command consolidates metadata and lockfile generation for scripts, flows, and apps into a single unified command. The previous commands wmill script generate-metadata, wmill flow generate-locks, and wmill app generate-locks are now deprecated.

New features

  • Unified `wmill generate-metadata` command that handles scripts, flows, and apps in a single pass
  • Selective processing with `--skip-scripts`, `--skip-flows`, and `--skip-apps` flags
  • Pattern-based filtering with `-i/--includes` and `-e/--excludes` options
  • Strict folder boundaries mode with `--strict-folder-boundaries` flag
  • Schema-only and lock-only modes for fine-grained control

Manage Windmill instance configuration declaratively with YAML files, a Kubernetes operator, or the CLI. Version-control, review, and reproduce your setup across environments.

New features

  • Declarative YAML configuration for global settings and worker groups.
  • Kubernetes operator with ConfigMap-based continuous reconciliation and drift detection.
  • sync-config CLI command for Docker Compose and VM deployments.
  • Secret references via envRef (environment variables) and secretKeyRef (Kubernetes Secrets API).
  • Export current instance configuration as YAML from the UI or CLI.

The wmill init command now generates Claude Code skills for modular, on-demand AI guidance instead of a single monolithic AGENTS.md file.

New features

  • Language-specific script writing skills (Python, TypeScript, Go, Rust, SQL, etc.)
  • Skills for flows, CLI commands, resources, triggers, schedules, and raw apps
  • On-demand loading so Claude only uses relevant context for each task

Maintain workspace specific configurations for variables, resources, and triggers per Git branch with automatic file path transformation and clean workspace management.

New features

  • Branch-specific variables, resources, and triggers with automatic file naming based on Git branch.
  • Pattern-based configuration using glob syntax to specify which items should be branch-specific.
  • Automatic path transformation between local branch-specific files and clean workspace paths.
  • Support for commonSpecificItems (all branches) and per-branch specificItems configurations.
  • Branch name sanitization for filesystem safety with collision warnings.
  • Support for all trigger types (kafka, http, websocket, nats, postgres, mqtt, sqs, gcp) and resource files.
  • Seamless integration with Git sync for environment-specific deployments.

Enhanced git sync

Git syncCLIRepository managementv1.519.0

Improved git sync initialization, workspace settings UI controls, and branch-specific configuration management with improved CLI commands.

New features

  • Enhanced repository setup workflow with better error handling and user guidance.
  • Trigger pull/push operations directly from the workspace settings UI for seamless git sync management.
  • Trigger settings pull from UI to sync git-sync configuration from repository to workspace.
  • Improved CLI commands for managing wmill.yaml and backend synchronization.
  • Branch-specific overrides in wmill.yaml with promotion overrides for advanced deployment workflows.