Skip to Content
DocumentationGet startedInstallation

Installation

Boba ships as a single self-contained binary — no Node or Bun is required at runtime.

npm install -g botbandit boba --help

The command is boba. The package installs botbandit as an alias for it, but every example in these docs uses boba.

The install resolves exactly one platform package for your machine (via npm optionalDependencies, the same model esbuild and swc use). Supported platforms:

  • macOS — darwin-arm64, darwin-x64
  • Linux (glibc) — linux-x64, linux-arm64
  • Linux (musl / Alpine) — linux-x64-musl, linux-arm64-musl
  • Windows — win32-x64

Run boba once and the setup wizard writes your starter config.

The package is also published as @janole/boba. It is the same binary from the same build — botbandit is the name to prefer.

Where Boba keeps its things

Everything lives under one application home, ~/.botbandit/:

PathWhat
~/.botbandit/botbandit.config.yamlYour config — written by the setup wizard
~/.botbandit/docs/The markdown vault agents read and write
~/.botbandit/extensions/Your own extensions, loaded at startup

Override the home with BOTBANDIT_HOME, or point at one specific config file with BOTBANDIT_CONFIG_PATH.

Boba looks for botbandit.config.yaml (or .yml) in the current directory first, then in the application home — so a project can carry its own config that overrides your global one.

Run from source

To hack on Boba itself, clone the monorepo and run the CLI from source with pnpm  (which also provisions the pinned Bun runtime):

pnpm install pnpm --filter @janole/boba dev # interactive TUI pnpm --filter @janole/boba dev run "..." # one-shot prompt
Last updated on