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 install
bun.lock / bun.lockb are gitignored, so there is no repo churn. To skip lockfile writes entirely:
bun install --no-save
Build and test
bun run build
bun run vitest run
Lifecycle scripts
Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:
@whiskeysockets/baileyspreinstall-- checks Node major >= 20 (OpenClaw defaults to Node 24 and still supports Node 22 LTS, currently22.16+)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 @whiskeysockets/baileys protobufjs
Caveats
Some scripts still hardcode pnpm (for example docs:build, ui:*, protocol:check). Run those via pnpm for now.