Skip to content
Automation
Skill

/cli-commands

MUST use when using the CLI, including debugging job failures and inspecting run history via `wmill job`.

From plugin
windmill
19k49 skills2 agents3 MCP

Claude Code

$ npx -y skills add windmill-labs/windmill --skill cli-commands --agent claude-code

SKILL.md

cli-commands.SKILL.md
name: cli-commands
description: MUST use when using the CLI, including debugging job failures and inspecting run history via `wmill job`.

Windmill CLI Commands

The Windmill CLI (`wmill`) provides commands for managing scripts, flows, apps, and other resources.

Global Options

  • `--workspace <workspace:string>` - Specify the target workspace. This overrides the default workspace.
  • `--debug --verbose` - Show debug/verbose logs
  • `--show-diffs` - Show diff informations when syncing (may show sensitive informations)
  • `--token <token:string>` - Specify an API token. This will override any stored token.
  • `--base-url <baseUrl:string>` - Specify the base URL of the API. If used, --token and --workspace are required and no local remote/workspace already set will be used.
  • `--config-dir <configDir:string>` - Specify a custom config directory. Overrides WMILL_CONFIG_DIR environment variable and default ~/.config location.

Commands

app

app related commands

**Options:**

  • `--json` - Output as JSON (for piping to jq)

**Subcommands:**

  • `app list` - list all apps
  • `--json` - Output as JSON (for piping to jq)
  • `app get <path:string>` - get an app's details
  • `--json` - Output as JSON (for piping to jq)
  • `app push [file_path:string] [remote_path:string]` - push a local app. With no args, infers the app from the current directory and the remote path from its location relative to wmill.yaml.
  • `app dev [app_folder:string]` - Start a development server for building apps with live reload and hot module replacement
  • `--port <port:number>` - Port to run the dev server on (will find next available port if occupied)
  • `--host <host:string>` - Host to bind the dev server to
  • `--entry <entry:string>` - Entry point file (default: index.ts for Svelte, index.tsx otherwise)
  • `--no-open` - Don't automatically open the browser
  • `--recording` - Frame the app in a shell with a Record button, to capture a replayable session recording of the app under development
  • `app lint [app_folder:string]` - Lint a raw app folder to validate structure and buildability
  • `--fix` - Attempt to fix common issues (not implemented yet)
  • `app bundle [app_folder:string]` - Bundle a raw app folder to js/css without deploying it
  • `--out <dir:string>` - Directory to write bundle.js and bundle.css into (default: <app_folder>/dist)
  • `--no-minify` - Skip minification
  • `app new` - create a new raw app from a template
  • `--summary <summary:string>` - App summary (short description). Skips the prompt when provided. Triggers non-interactive mode.
  • `--path <path:string>` - App path (e.g., f/folder/my_app or u/username/my_app). Skips the prompt when provided. Triggers non-interactive mode.
  • `--framework <framework:string>` - Framework template: react19 | react18 | svelte5. Skips the prompt when provided. Triggers non-interactive mode.
  • `--datatable <datatable:string>` - Datatable to wire up. Without this flag in non-interactive mode, no datatable is configured.
  • `--schema <schema:string>` - Schema to use with --datatable. If it doesn't exist yet, a sql_to_apply/ migration (CREATE SCHEMA IF NOT EXISTS) is written for it.
  • `--overwrite` - Overwrite the target directory if it already exists, without prompting.
  • `--no-open-in-desktop` - Do not prompt to open the new app in Claude Desktop.
  • `app generate-agents [app_folder:string]` - regenerate AGENTS.md and DATATABLES.md from remote workspace
  • `app set-permissioned-as <path:string> <email:string>` - Set the on_behalf_of_email for an app (requires admin or wm_deployers group)

audit

View audit logs (requires admin)

**Subcommands:**

  • `audit list` - List audit log entries
  • `audit get <id:string>` - Get a specific audit log entry
  • `--json` - Output as JSON (for piping to jq)

config

Show all available wmill.yaml configuration options

**Options:**

  • `--json` - Output as JSON for programmatic consumption

**Subcommands:**

  • `config migrate` - Migrate wmill.yaml from gitBranches/environments to workspaces format

datatable

datatable related commands

**Subcommands:**

  • `datatable list` - list all datatables in the workspace
  • `--json` - Output as JSON (for piping to jq)
  • `datatable run <sql:string>` - run a SQL query on a datatable
  • `-n --name <name:string>` - Datatable name (default: main)
  • `-s --silent` - Output only the final result as JSON. Useful for scripting.
  • `datatable migrate` - manage datatable migrations
  • `datatable migrate new <name:string>` - scaffold a new migration (.up.sql / .down.sql files)
  • `-d --datatable <datatable:string>` - Target datatable (default: main)
  • `-s --schemas <schemas:string>` - Comma-separated schemas the migration changes, written as its `-- schemas` line. Without it the migration applies to the whole database and every later migration waits for it
  • `datatable migrate up` - apply all pending migrations to the main datatable (or one via --datatable)
  • `-d --datatable <datatable:string>` - Target datatable (default: main)
  • `--schema <schema:string>` - Apply only the pending migrations that declare this schema; refused while an earlier overlapping migration is pending
  • `datatable migrate down` - roll back the most recent migration on the main datatable (or one via --datatable)
  • `-d --datatable <datatable:string>` - Target datatable (default: main)
  • `datatable migrate status` - show applied and pending migrations on the main datatable (or one via --datatable)
  • `-d --datatable <datatable:string>` - Target datatable (default: main)
  • `--json` - Output as JSON (for piping to jq)
  • `datatable create [name:string]` - register a datatable database in the workspace (default: instance-backed 'main') so scripts can use datatable://<name>
  • `--resource <resource:string>` - Back the datatable with an existing postgresql resource path instead of the instance database
  • `--force` - Allow adding to a workspace that already has da
Read more
@windmill-labs
Ships withwindmill

Windmill is fully open-sourced (AGPLv3) and Windmill Labs offers dedicated instances and commercial support and licenses.

19k49 skills2 agents3 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
18.5k
Star history of windmill-labs/windmill on GitHub, a chart by star-history.com

Other skills on windmill.

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about cli-commands.

Which coding agents can use cli-commands?
cli-commands installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.