Beem Slide

beem init

Scaffold a workspace, install its dependencies, and commit it.

npx --package=@beem-slide/cli beem init [directory]

Omit directory and it scaffolds into the current folder. Name one that does not exist and it gets created. Name one that has files in it and the command stops rather than writing over your work — --force if you meant it.

Three things happen after the files land: dependencies install with whichever package manager you appear to be using, git init runs, and everything gets committed. So a fresh workspace is already a clean tree, and the first thing you or an agent does to it shows up as a diff.

Flags

FlagDefaultDescription
-f, --forceoffScaffold into a directory that is not empty.
-n, --name <name>folder nameOverride the package.json name.
--locale <code>enLanguage for the slide UI, written into the config.
--use-npmautoInstall with npm.
--use-pnpmautoInstall with pnpm.
--use-yarnautoInstall with yarn.
--use-bunautoInstall with bun.
--no-installoffSkip installing. You run it yourself afterwards.
--no-gitoffSkip git init and the first commit.

With no --use-* flag, the package manager is inferred from npm_config_user_agent, which your launcher sets — so pnpm dlx scaffolds a pnpm project and npx scaffolds an npm one. Pass the flag explicitly when the inference would be wrong: CI, or an npx invocation in a repo you actually manage with pnpm.

What lands

my-deck/
├── slides/
│   ├── .folders.json
│   └── getting-started/
│       ├── assets/           # the logos the starter deck uses
│       └── index.tsx         # a real multi-page deck, not a stub
├── themes/                   # empty, waiting for your first one
├── .gitignore
├── AGENTS.md                 # the rules an agent reads first
├── CLAUDE.md                 # a link to AGENTS.md, so both conventions work
├── beem-slide.config.ts
├── package.json
├── tsconfig.json
├── vercel.json
└── netlify.toml

The starter deck under slides/getting-started/ is a working multi-page deck rather than a placeholder — it is there to be read as an example of what the canvas expects, and deleted once you have your own.

Then

cd my-deck
npm run dev

Port 5299, or the next free one. From there either open the workspace in an agent and ask for a deck, or edit slides/getting-started/index.tsx and watch it reload.

AGENTS.md gives an agent the file contract straight away. The authoring guides are not in the scaffold — they are served through the MCP tools to a signed-in account, so run beem mcp install and beem login before you expect an agent to match the quality bar. See Connect.

On this page