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/baileys preinstall -- checks Node major >= 20 (OpenClaw defaults to Node 24 and still supports Node 22 LTS, currently 22.16+)
    • protobufjs postinstall -- 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.