Skip to main content
Bun is not recommended for gateway runtime (known issues with WhatsApp and Telegram). Use Node for production.
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 ignores it.

Install

1

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
2

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:
  • baileys preinstall: checks Node major >= 20 (OpenClaw requires Node 22.19+ or 23.11+, with Node 24 recommended)
  • protobufjs postinstall: 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 protobufjs

Caveats

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.