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
| Flag | Default | Description |
|---|---|---|
-f, --force | off | Scaffold into a directory that is not empty. |
-n, --name <name> | folder name | Override the package.json name. |
--locale <code> | en | Language for the slide UI, written into the config. |
--use-npm | auto | Install with npm. |
--use-pnpm | auto | Install with pnpm. |
--use-yarn | auto | Install with yarn. |
--use-bun | auto | Install with bun. |
--no-install | off | Skip installing. You run it yourself afterwards. |
--no-git | off | Skip 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.tomlThe 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 devPort 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.