-
-
Notifications
You must be signed in to change notification settings - Fork 1
CLI Command Reference
Yusuke Abe edited this page Aug 11, 2026
·
3 revisions
Index of every wip command. Each has its own page with flags, behavior per mode, and examples.
| Command | Description | Page |
|---|---|---|
wip init [--force] [--template NAME] |
Write a starter wip.yml
|
wip init |
wip version |
wip's version, plus WSLC's if detectable | wip version |
wip doctor |
Diagnose WSL2, interop, WSLC, config, architecture, Git | wip doctor |
wip config |
Print the effective configuration (secrets masked) | wip config |
wip build [--no-cache] [-- OPTIONS] |
Build the configured image | wip build |
wip up [-d] [--no-sync] [--no-cache] [--watch] [--interval N] |
Start the stack | wip up |
wip stop |
Stop containers without removing them | wip stop |
wip down |
Stop and remove containers | wip down |
wip exec [--no-interactive] COMMAND... |
Run a command in the running container | wip exec |
wip run [--no-interactive] COMMAND... |
Run a command in a fresh container | wip run |
wip shell |
Open a shell, falling back bash → sh
|
wip shell |
wip logs [-f] [SERVICE...] |
Follow logs (compose modes only) | wip logs |
wip sync [-w] [--interval N] |
Mirror the source into the sync volume | wip sync |
wip dispatch NAME [ARGS...] |
Run an interaction explicitly | wip dispatch |
wip NAME ARGS... |
Run interaction.NAME
|
Interactions |
-
Global Options —
--config,--env-file,--debug,--debug-log, and where they may appear -
Debug Output — reading
--debug, resource snapshots, telling wip overhead from container time -
TTY Allocation — how
interactive:,--no-interactive, and real-TTY detection combine
| Command | container |
compose-native |
compose |
|---|---|---|---|
init version doctor config
|
✔ | ✔ | ✔ |
build |
✔ | ✔ | ✔ (interaction must be type: exec) |
up |
✔ | ✔ | ✔ (no --watch) |
stop down
|
✔ | ✔ | ✔ (bridged) |
exec shell
|
✔ | ✔ | ✔ (bridged) |
run |
✔ real --rm
|
✔ real --rm
|
falls back to exec
|
logs |
✘ | ✔ (one service) | ✔ (multi-service) |
sync |
✔ | ✔ | ✔ (mode: run only) |
dispatch |
✔ | ✔ | ✔ (type: exec only) |
| Code | Meaning |
|---|---|
0 |
success |
1 |
a wip-level failure (ConfigError, wip doctor found a [FAIL]) |
127 |
the resolved binary couldn't be executed |
130 |
interrupted (Ctrl-C) |
128 + N |
the child was killed by signal N
|
| anything else | passed through from wslc / the child process |
wip exits with the child's exit code for the command-running paths, so wip rspec fails your CI
step exactly when rspec does.
An unrecognized first argument is routed to dispatch, which is what makes wip rspec work
without a dispatch prefix. Built-in names always win over an interaction of the same name — see
wip dispatch.
Introduction
Modes
Configuration
- Configuration Reference
- Config File Discovery
- Dependencies
- Networking
- Interactions
- Restart Policies
- Env Files
- Secret Masking
- Dockerignore
- Shadow Build Context
- Source Sync
- Sync Modes
compose.yml support
- Compose File Support
- Compose Build
- Compose Depends On
- Compose Profiles
- Compose Variable Interpolation
Commands
- CLI Command Reference
- wip init
- wip version
- wip doctor
- wip config
- wip build
- wip up
- wip stop
- wip down
- wip exec
- wip run
- wip shell
- wip logs
- wip sync
- wip dispatch
- Global Options
- Debug Output
- TTY Allocation
Guides
- Guides
- Migrating from dip
- Reusing an Existing compose.yml
- Fixing a Slow Boot
- Continuous Sync
- Auto Restarting Containers
- Multi Arch Images
- Using wip in CI
Troubleshooting
- Troubleshooting & FAQ
- FAQ
- Configuration Errors
- WSLC Not Found
- Registry Authentication
- Architecture Mismatch
- Volume Limit Reached
- rsync Not Found
- Reporting Issues
Comparison
Project