@windmill-labs/hub-cli
v1.0.12
Published
Windmill hub CLI
Readme
Hub CLI
Setup
You can run it directly with bunx @windmill-labs/hub-cli or install it globally with npm install -g @windmill-labs/hub-cli in which case you can run it with wmill-hub.
Create a .env file in the root of the project with the following content:
# url of your private hub
HUB_URL=https://hub.my.url
# to get a token, create a token for a superadmin user on your **Windmill instance**.
TOKEN=your_token
# (optional) enterprise license key — alternative to HUB_URL + TOKEN for pull commands
LICENSE_KEY=your_license_keyNote:
HUB_URLandTOKENare not required when usingwm-pullwith a license key.
Commands
pull
Pull scripts from your private hub and save them in the hub folder.
wmill-hub pull| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
| --license-key | -l | License key to validate enterprise edition (defaults to LICENSE_KEY env variable, alternative to HUB_URL + TOKEN) |
pull-resource-types
Pull resource types from your private hub.
wmill-hub pull-resource-typesTo pull resource types from the official Windmill hub:
wmill-hub pull-resource-types --url https://hub.windmill.dev| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
pull-flows
Pull flows from your private hub.
wmill-hub pull-flows| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
| --license-key | -l | License key to validate enterprise edition (defaults to LICENSE_KEY env variable, alternative to HUB_URL + TOKEN) |
wm-pull
Pull scripts from the official Windmill hub. Equivalent to pull --url https://hub.windmill.dev.
wmill-hub wm-pull| Option | Alias | Description |
|---|---|---|
| --license-key | -l | License key to validate enterprise edition (defaults to LICENSE_KEY env variable, alternative to HUB_URL + TOKEN) |
You can then run wmill-hub push to push the scripts to your private hub.
If you don't want all of them, delete the integrations you don't want before the first push.
If you want to modify them, do it directly on the hub, not in the hub folder.
To get the latest version of the official hub, run wmill-hub wm-pull again. It will not overwrite the imported scripts you modified on the hub.
push
Push scripts to your private hub.
wmill-hub push| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
| --dry-run | -d | Run without actually pushing (default: false) |
| --ci | -c | Run in CI mode, non-interactive (default: false) |
| --integration | -i | Push only a specific integration |
push-resource-types
Push resource types to your private hub.
wmill-hub push-resource-types| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
| --dry-run | -d | Run without actually pushing (default: false) |
| --ci | -c | Run in CI mode, non-interactive (default: false) |
push-flows
Push flows to your private hub.
wmill-hub push-flows| Option | Alias | Description |
|---|---|---|
| --url | -u | Hub URL (defaults to HUB_URL env variable) |
| --dry-run | -d | Run without actually pushing (default: false) |
| --ci | -c | Run in CI mode, non-interactive (default: false) |
create
Create an integration script template in the hub folder.
wmill-hub create --summary "My script summary" --language bun --kind action --app my_integrationor simply:
wmill-hub create -s "My script summary" -a my_integration| Option | Alias | Required | Description |
|---|---|---|---|
| --summary | -s | yes | Script summary |
| --app | -a | yes | Integration app name |
| --kind | -k | no | Script kind: action, trigger, approval, failure (default: action) |
| --language | -l | no | Script language (default: bun) |
Supported languages: python3, deno, bun, nativets, go, bash, powershell, postgresql, mysql, bigquery, snowflake, mssql, graphql, php.
create-flow
Create a flow template in the hub folder.
wmill-hub create-flow --summary "My flow summary" --app my_integration| Option | Alias | Required | Description |
|---|---|---|---|
| --summary | -s | yes | Flow summary |
| --app | -a | yes | Integration app name |
generate-metadata
Generate metadata (schema and dependencies) for an integration script. Requires either --integration or --path.
# Generate metadata for all scripts in an integration
wmill-hub generate-metadata --integration my_integration
# Generate metadata for a specific script
wmill-hub generate-metadata --path hub/my_integration/scripts/action/123_my_script/script.json| Option | Alias | Description |
|---|---|---|
| --integration | -i | Integration name (generates metadata for all action scripts in the integration) |
| --path | -p | Path to a specific script.json file |
