Containers
Bun (experimental)
Bun is an optional local runtime for running TypeScript directly (bun run ..., bun --watch ...). The default package manager remains pnpm, which is fully supported and used by docs tooling. Bun cannot use pnpm-lock.yaml and will ignore 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 runLifecycle 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 defaults to Node 24 and still supports Node 22 LTS, currently22.19+)protobufjspostinstall-- emits warnings about incompatible version schemes (no build artifacts)
If you hit a runtime issue that requires these scripts, trust them explicitly:
bun pm trust baileys protobufjsCaveats
Some scripts still hardcode pnpm (for example check:docs, ui:*, protocol:check). Run those via pnpm for now.