spwn build

Transpile the project and compile it into a Docker image

Transpile the project with the target runtime (default: claude-code) and compile the result into a derived Docker compile. The image is FROM spwn-world:latest by default, with the transpiled tree COPY'd to /world/. The resulting image carries the project's name and the runtime name as Docker labels, so it's push-ready and reproducible. Pass --tree-only to stop after the transpile step and write the generated file tree to --output (default: ./dist). No Docker required, useful for previewing renderer output or authoring a new runtime backend. Use 'spwn up' to spawn a world from the current project. Use 'spwn check --deep' to run the transpile dry-run as part of validation. Examples: spwn build # transpile + image, tag spwn-<project>:latest spwn build --tag spwn-myproj:v1 spwn build --base spwn-world:2.1 spwn build --runtime claude-code spwn build --world <name> # multi-world projects spwn build --no-cache spwn build --json spwn build --tree-only # transpile only, write to ./dist spwn build --tree-only --output ./preview spwn build --tree-only --dry-run # list paths, touch nothing spwn build --tree-only --agent neo # filter to one agent

Usage
spwn build [flags]
Options
--agentstringCompile only the named agent (tree-only mode)
--basestringBase image to derive from (default: $SPWN_BASE_IMAGE, else spwn-world:latest)
--dry-runPrint paths that would be written, don't touch disk (requires --tree-only)
--forceOverwrite existing files in --output without prompting (requires --tree-only)
-h, --helphelp for build
--jsonEmit a machine-readable build report on stdout
--no-cacheDisable Docker build cache
-o, --outputstringOutput directory for --tree-only mode (default "dist")
--runtimestringTarget runtime. Defaults to the runtime declared in agent.yaml (fallback: claude-code)
--tagstringImage tag (default: spwn-<project>:latest)
--tree-onlyStop after the compile step; write the Tree to --output instead of building a Docker image
--worldstringWorld from spwn.yaml to build (required for multi-world projects)