The Windmill CLI (`wmill`) is a command-line interface tool designed for direct interaction with Windmill instances, an open-source platform for building and running workflows and internal tools. It provides comprehensive capabilities for managing Windmill workspaces, including adding and switching between them, and syncing resources like scripts and flows. Developers can use `wmill` to run scripts and flows, passing inputs via JSON or files, and stream execution logs directly in the terminal. The CLI supports pushing and pulling entire workspaces or individual resources, with an upcoming default shift to YAML for synchronization. As of version 1.688.0, the package demonstrates a rapid release cadence, with frequent updates incorporating new features and bug fixes, often multiple times per week, indicating active development and continuous improvement. It also offers user management features and shell autocompletion for various shells like Bash, Fish, and Zsh.
npm install windmill-cliVerified import paths — ran on the pinned version, not inferred.
Demonstrates how to install the Windmill CLI globally, configure a workspace, execute a Windmill script with data inputs, and pull workspace resources locally.
To ensure future compatibility, begin using the `--yaml` flag explicitly with `wmill sync` commands. If you require JSON, use the `--json` flag, but be aware that YAML will become the default behavior.
When using `wmill init` for custom AI guidance, set the relevant `WMILL_INIT_AI_*_SOURCE` environment variables prior to executing the command. Consult the latest documentation or codebase for the most current variable names and usage.
Regularly update the CLI using `wmill upgrade` to stay current. If unexpected behavior occurs after an upgrade, consult the GitHub release notes for the specific version for any undocumented changes or adjustments.
Ensure `windmill-cli` is installed globally using `npm install -g windmill-cli` (or `pnpm add -g windmill-cli`, `yarn global add windmill-cli`). Verify your system's PATH configuration to include npm's global executable directory.
Run `wmill workspace add` to create a new workspace configuration, providing the correct Windmill API endpoint and a valid API token. If a workspace is already configured, use `wmill workspace switch <name>` to ensure the active workspace settings are correct.
Verify that the JSON string passed directly is syntactically correct and properly escaped. If using a file, ensure the file path is correct and its content is valid JSON. For reading from stdin, use `-d @-`.
Ensure a local PostgreSQL database is running (default connection string `postgres://postgres:changeme@localhost:5432`). Alternatively, set the `DATABASE_URL` environment variable to point to your PostgreSQL instance before executing test commands like `bun test test/`.
No dependency data recorded yet.