Apps
Listing apps
The wmill app list command is used to list all apps in the remote workspace.
wmill app
Pushing an app
Pushing an app to a Windmill instance is done using the wmill app push command.
wmill app push <file_path>
Arguments
| Argument | Description |
|---|---|
file_path | The path to the app file to push. |
Examples
- Push the app located at
./my_app.json.
wmill app push ./my_app.json
Full-code app commands
The CLI provides additional commands for full-code apps:
Create a new full-code app
wmill app new
Interactive wizard to scaffold a full-code app with React, Svelte or Vue.
Start the dev server
From the app directory:
wmill app dev
Starts a local development server with hot reload and WebSocket backend. Options: --port, --host, --entry, --no-open.
Bundle an app without deploying it
wmill app bundle [app_folder] --out <dir>
Runs the same build wmill app push runs, but writes bundle.js and bundle.css to a directory instead of deploying. The folder defaults to the current directory and the output to <app_folder>/dist. Use --no-minify to skip minification.
This is also the build behind the source-deploy API endpoints, so an app deployed from sources through the API is compiled exactly as the CLI and the editor compile it.
Generate lock files
Generate .lock files for backend runnables with dependencies using the wmill generate-metadata command:
wmill generate-metadata
To only update app lockfiles, use:
wmill generate-metadata --skip-scripts --skip-flows
Options: --yes, --dry-run, --default-ts.
Prior to the unified command, this was done with wmill app generate-locks. This command is now deprecated but still works.
Generate agent documentation
From the app directory:
wmill app generate-agents
Generates AGENTS.md and DATATABLES.md for AI coding agent context.
Remote path format
<u|g|f>/<username|group|folder>/...