Skip to main content
Build every selected package and module that declares a build script. The command runs as a standalone build runner with its own cache, not as an alias for another command.

Usage

Examples

Build every package and module that has a build script:
Scope the build to specific modules and packages:
Show failed build output in the report:
Force every selected build to run again:
Run the build from another workspace directory:

Options

Execution

build discovers workspace targets, applies the package and module filters, sorts selected targets by workspace dependency order, and keeps only targets that declare build. If no selected target declares a build script, it prints a warning and exits successfully. For a target with a package.json, the command runs bun run build in that target directory. For a recognized Rust or Python target without a package.json, it runs that target’s default build script directly. If a build fails, the command stops at that target and exits with code 1.
workspace:run --commands=build delegates to this standalone command, so the cache and behavior match talos build.

Caching

Build entries live in var/cache/build. A cache entry is reused only when the target, its build script, the root inputs, the target’s own sources, and every transitive workspace dependency still match the fingerprint from the previous successful run. Pass --no-cache to bypass both reads and writes.

Output

The command prints a Build report with one row per build target. Cached targets are marked cached; successful targets show their duration; failed targets appear under Failing targets. Without --logs, failures tell you to re-run with --logs; with --logs, the report includes the last 40 non-empty output lines for each failed target.