Skip to content

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.

  1. Install dependencies

    Terminal window
    bun install

    bun.lock / bun.lockb are gitignored, so there is no repo churn. To skip lockfile writes entirely:

    Terminal window
    bun install --no-save
  2. Build and test

    Terminal window
    bun run build
    bun run vitest run

Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:

  • @whiskeysockets/baileys preinstall — checks Node major >= 20 (OpenClaw defaults to Node 24 and still supports Node 22 LTS, currently 22.14+)
  • protobufjs postinstall — emits warnings about incompatible version schemes (no build artifacts)

If you hit a runtime issue that requires these scripts, trust them explicitly:

Terminal window
bun pm trust @whiskeysockets/baileys protobufjs

Some scripts still hardcode pnpm (for example docs:build, ui:*, protocol:check). Run those via pnpm for now.