-
-
Notifications
You must be signed in to change notification settings - Fork 1
wip help
Prints the same text as --help, or asks a local AI server how to do something in plain language.
wip help
wip help --ai [--url URL] [--no-cache] [QUESTION...]
wip help alone prints exactly what wip --help prints. It's generated from the same command
tree at run time rather than a copy kept in sync by hand, so the two can never drift apart:
$ wip help
Description:
A developer-friendly CLI wrapper for Microsoft WSLC.
Usage:
wip [command] [options]
Options:
--config <config> Path to wip.yml
--env-file <env-file> Path to a dotenv file (default: .env next to wip.yml)
--debug Print progress and timing for each step
--debug-log <debug-log> Where --debug snapshots go: a file path, or "-" for inline
-q, --quiet Hold back a shelled-out command's own output and print it only if that command fails (--debug's own lines are unaffected)
-?, -h, --help Show help and usage information
--version Show version information
Commands:
version Show wip and WSLC versions
init Create a starter wip.yml (detects an existing compose file)
doctor Diagnose the development environment
help <question> Show usage help (add --ai to ask a local AI server instead)
manual Download the wip wiki so `wip help --ai` can answer offline
config Print the effective configuration
build <extra> Build the configured image
up Start the configured container and its dependencies, creating them if necessary
sync Mirror the source tree into the sync volume
ps Show the current state of the configured container or stack
status Alias for `wip ps`
stop Stop the configured container and its dependencies without removing them
down Stop and remove the configured container and its dependencies
restart Restart the configured container or stack (stop, then start — no rebuild)
exec <command> Execute a command in the running container
run <command> Run a command in a new container
shell Open a shell in the configured container
logs <services> Follow logs from the configured container or compose services
dispatch <name> <args> Run a command defined in wip.ymlwip help takes no command name of its own — unlike git help <command>, it only ever shows the
top-level listing above. A single subcommand's own flags still come from that subcommand directly:
wip up --help
wip sync --helpSkips printing --help and instead sends your question, together with the wip help text above
as grounding context, to a local AI server — the same Ollama /
LM Studio / any-OpenAI-compatible-server setup that
wip init --ai uses, through the same LocalAiProvider. Everything on
AI-Assisted Initialization about configuring WIP_AI_BASE_URL /
WIP_AI_MODEL, model auto-discovery, and troubleshooting applies here unchanged — this page only
covers what's specific to help.
--url URL overrides WIP_AI_BASE_URL for that one run, exactly like wip doctor --url and
wip init --ai --url:
wip help --ai --url http://localhost:1234/v1 how do I keep syncing files while I workThe question can be given inline as trailing words — no quoting needed:
$ wip help --ai how do I restart a dependency automatically when it crashes
wip: asking llama3.1 at http://localhost:11434/v1
Set `restart: unless-stopped` (or `always`) on that dependency in wip.yml, then run
`wip up --watch`. wip polls every --interval seconds (default 5) and restarts any
dependency that has exited and whose restart: policy allows it. See "Auto Restarting
Containers" and "Restart Policies" on the wiki for the full behavior.Omit the question and wip prompts for one interactively instead — the same blank-line-terminated
convention as wip init --ai, since a question can span more than one line too:
$ wip help --ai
Ask wip how to do something, then press Enter twice (once after your question,
once more on a blank line) to finish:
What's the difference between wip stop and wip down?
wip: asking llama3.1 at http://localhost:11434/v1
`wip stop` stops the configured container and its dependencies but leaves them in place, so
`wip up` afterward just starts them again. `wip down` stops them and removes them, so the next
`wip up` recreates them from scratch. Prefer `stop` when you just want to pause; `down` when you
want a clean slate or are done with the project for now.The answer is generated text, not a lookup. It's grounded in the reference above and instructed
to say so rather than guess when something isn't covered, but a small local model can still misread
its own reference material — verify anything it tells you to run, the same caution
AI-Assisted Initialization gives for a generated wip.yml.
Skips the downloaded manual cache (see wip manual) and fetches the wiki page(s)
relevant to this one question live instead, even if wip manual has already been run:
wip help --ai --no-cache how do I disable the build cacheUse it when the wiki has changed since your last wip manual run and you want this answer
grounded in the current pages rather than a possibly-stale local copy. Without a downloaded
cache at all, --no-cache makes no difference — wip help --ai already fetches live in that
case.
$ wip help --url http://localhost:1234/v1
wip: --url requires --ai$ wip help --no-cache
wip: --no-cache requires --ai$ wip help how do I sync files
wip: a question requires --aiAll three fail before touching the network or reading wip.yml — same as wip init --template x --ai rejecting the combination up front.
Every prompt includes the wip --help text (command names, one-line descriptions, global
options) as before, plus — when available — an excerpt of the wiki manual relevant to your
question:
-
A downloaded cache (
wip manualwas run) is searched first: the question's keywords are matched against every cached page, and the top few pages are included, trimmed to a size budget so a small local model's context window isn't overrun.wip: manual: cachedis logged. -
No cache, but the network is reachable: the same keyword matching runs against the wiki's
page index first, and only the page(s) that look relevant are fetched live — not the whole
wiki.
wip: manual: liveis logged. -
Neither (offline, and nothing downloaded): the question is answered from the
--helptext alone, same as beforewip manualexisted.wip: manual: unavailableis logged.
No project files, no wip.yml, no environment variables are ever sent — a smaller, static
payload compared to what wip init --ai sends. There's also nothing to confirm or
save afterward; wip help --ai only ever prints an answer.
- wip manual — downloads the wiki so this command's answers can be grounded in it
-
wip doctor —
--url, and the local AI availability check both commands share -
wip init —
--ai, the other command that talks to a local AI server -
AI-Assisted Initialization — server setup, model auto-discovery,
troubleshooting (
/v1, ambiguous models, timeouts) — all of it applies towip help --aitoo - CLI Command Reference
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 help
- wip manual
- 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
- AI-Assisted Initialization
- 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