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 loginNo 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 offlinepush 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 doctorchecks 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.