Containers
Bun
Bun remains usable as an optional dependency installer and package-script runner. The default package manager remains pnpm, which is fully supported and used by docs tooling. Bun cannot use pnpm-lock.yaml and ignores it.
Install
Install dependencies
bun installbun.lock / bun.lockb are gitignored, so there is no repo churn. To skip lockfile writes entirely:
bun install --no-saveBuild and test
bun run buildbun run vitest runCommands that launch OpenClaw itself must still run through Node.
Lifecycle scripts
Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:
baileyspreinstall: checks Node major >= 20 (OpenClaw requires Node 22.22.3+, 24.15+, or 25.9+, with Node 24 recommended)protobufjspostinstall: emits warnings about incompatible version schemes (no build artifacts)
If you hit a runtime issue that needs these scripts, trust them explicitly:
bun pm trust baileys protobufjsCaveats
Some package scripts hardcode pnpm internally (for example check:docs, ui:*, protocol:check). Running them via bun run still shells out to pnpm, so just run those via pnpm directly.