Containers

Bun

Bun remains usable as an optional dependency installer and package-script runner. 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

  • Install dependencies

    sh
    bun install

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

    sh
    bun install --no-save
  • Build and test

    sh
    bun run buildbun run vitest run

    Commands that launch OpenClaw itself must still run through Node.

  • 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.22.3+, 24.15+, or 25.9+, 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:

    sh
    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.

    Was this useful?
    On this page

    On this page