Beem Slide

beem CLI

Push, pull and publish decks from your terminal.

@beem-slide/cli ships a second bin, beem, that connects a local workspace to the beem cloud — the same decks the studio hosts, driven from your terminal.

npx --package=@beem-slide/cli beem login

No Node on the machine? The installer puts a managed Node plus beem under ~/.beem without touching the system environment:

curl -fsSL https://beem-ai.dev/install | sh

(Windows: irm https://beem-ai.dev/install.ps1 | iex.)

Sign in

beem login prints a short code and opens the browser; confirming there stores a personal access token in ~/.config/beem/credentials.json (mode 0600). You can revoke any token later from the studio's account panel.

Headless environments skip the browser entirely and set BEEM_TOKEN — see CI & headless.

Move decks

beem push slides/my-deck      # upload; first push creates the cloud deck
beem pull <deckId> [dir]      # download a deck from the cloud
beem publish slides/my-deck   # put it at its public link
beem unpublish slides/my-deck # take the link offline

push records which cloud deck a directory belongs to in .beem/cloud.json — commit that file (it carries no secrets or machine paths), so every clone and CI runner updates the same deck instead of creating a new one.

If the cloud copy moved since your last push or pull — someone edited it in the studio — push refuses with exit code 4. Run beem pull to converge, or beem push --force to make your local copy win (the overwritten version stays recoverable in the deck's history).

Uploading locally authored decks is a paid capability; without it, push relays the upgrade link and changes nothing.

When something's off

beem doctor

checks node, package managers, the npm registry, installed agent clients, sign-in state and worker reachability — and every failing line prints the command that fixes it on your platform.

On this page