Skip to content

Configuration Reference

slidict-ai-team[bot] edited this page Oct 15, 2026 · 4 revisions

Configuration Reference

Index of every wip.yml key. Each feature has its own page; this page is the map plus the top-level keys that don't warrant one.

Top-level keys

Key Modes Default Meaning
version: all 1 Config schema version. Only 1 is supported; anything else is a ConfigError.
mode: all container container / compose / compose-native. See Choosing a Mode.
wslc: all {command: auto} Which wslc binary to shell out to. See Config File Discovery.
container: container (none) Which dependencies: entry is primary. Required once dependencies: has entries. See Dependencies.
network: container (unset) Container network shared by every dependency. See Networking.
dependencies: container {} Every container wip manages. See Dependencies.
compose: compose, compose-native — Which compose file/service to use. See Compose Mode / Compose Native Mode.
interaction: / commands: all {} Project commands run as wip NAME. See Interactions.
sync: all (unset) Mirror the source into a named volume. See Source Sync.
resource_namespace: all (unset) Identity for declared sandboxes and volumes. Required once either is declared. See Sandboxes.
volumes: all [] Declared volume storage. See Sandboxes.
sandboxes: all [] Named sandbox containers. See Sandboxes.

By feature

File and binary resolution

Containers

Commands

  • Interactions — interaction: / commands:, type: exec|run|build, name collisions

Environment

  • Env Files — .env loading rules, --env-file, precedence
  • Secret Masking — what wip config redacts, and what that does and doesn't protect

Builds

Source sync

  • Source Sync — the sync: block, every parameter, mount rewriting
  • Sync Modes — exec vs. run, sync.image / sync.build, per-mode defaults

Sandboxes

  • Sandboxes — resource_namespace:, volumes:, sandboxes:, persistence

compose.yml

Which keys are legal in which mode

Key container compose-native compose
container: required with deps rejected (implied) rejected (implied)
dependencies: yes rejected rejected
network: yes derived from compose.project rejected
compose.service — required required
compose.file — optional optional
compose.project — optional optional
compose.command — rejected required
interaction.type: run yes yes rejected
interaction.type: build yes yes rejected
sync.mode: exec yes (default) yes (default) rejected
sync.image / sync.build optional optional one required

Every rejection above is a load-time ConfigError — see Configuration Errors for the exact messages.

Seeing the effective config

wip config

prints the fully defaulted, secret-masked configuration as YAML — the fastest way to check what wip actually resolved. See wip config.

Clone this wiki locally