WendyOS Docs
AdvancedClientsWendy cliCommands

Build

Builds your WendyOS app. Leverages wendy.json for metadata. If wendy.json is missing, it prompts you to generate one.

Builds your WendyOS app. Leverages wendy.json for metadata. If wendy.json is missing, it prompts you to generate one.

The build command is mainly used to verify your app can build/compile.

Manifest detection

wendy build scans the project directory for a build manifest in the following priority order:

  1. docker-compose.yml / compose.yml — multi-service Compose project
  2. Dockerfile (or Dockerfile.<variant> / Dockerfile-<variant>) — container image build
  3. Package.swift — Swift Package Manager project
  4. *.xcodeproj — Xcode project (macOS targets only)
  5. requirements.txt / setup.py / pyproject.toml — Python project (Dockerfile auto-generated)

If multiple manifests are present you can override detection with --build-type.

Compatibility

ManifestRequired hostNotes
DockerfileDocker Desktop (macOS/Windows/Linux) or WendyOSBuilt with docker buildx
Package.swiftmacOS or LinuxRequires a host Swift toolchain
*.xcodeprojmacOS onlyBuilt with xcodebuild; Brewfile managed automatically

Build paths

Dockerfile projects

wendy build invokes docker buildx build targeting the device's CPU architecture. It passes the following build-args so the Dockerfile can adapt to the target hardware — declare them with ARG to use them:

Build-argValuesNotes
WENDY_PLATFORMnvidia-jetson | genericPlatform tier derived from the device type
WENDY_DEBUGtrue | falseSet when --debug is passed
WENDY_DEVICE_TYPEe.g. jetson-agx-orinRaw device type; absent when unknown
WENDY_HAS_GPUtrue | falseAbsent on older agents
WENDY_GPU_VENDORe.g. nvidia, qualcommAbsent when no GPU is reported
WENDY_JETPACK_VERSIONe.g. 6.0Jetson only
WENDY_CUDA_VERSIONe.g. 12.6Jetson only

Example — selecting a base image by platform:

ARG WENDY_PLATFORM=generic
FROM ${WENDY_PLATFORM}-base-image

Swift Package Manager projects

  • macOS target: builds locally with swift build and syncs the binary to the device.
  • Container target (WendyOS / Docker): uses swift-container-plugin to cross-compile the app for the target device architecture. The plugin takes a Swift base container image and appends your compiled executable and bundle resources.

Xcode projects

Builds with xcodebuild. If a Brewfile is present in the project root, Wendy manages Homebrew dependencies automatically on a per-app basis.

Platform support for Swift projects

wendy build for Swift packages requires a host Swift toolchain and is supported on macOS and Linux hosts only. On Windows, wendy build returns an error for Swift projects. The recommended alternative is to provide a Dockerfile and use wendy run, which routes through the Docker buildx path on all platforms.

On this page