open-slide

open-slide init

Scaffold a new workspace.

npx @open-slide/cli init [directory]

If directory is omitted, the scaffolder uses the current folder. If it's provided and doesn't exist, it's created.

Flags

FlagDefaultDescription
-f, --forceoffScaffold into the target even if it's not empty.
-n, --name <name>folder nameOverride the generated package.json name.
--use-npmauto-detectedInstall with npm.
--use-pnpmauto-detectedInstall with pnpm.
--use-yarnauto-detectedInstall with yarn.
--use-bunauto-detectedInstall with bun.
--no-installoffSkip dependency installation. You'll have to run install yourself.
--no-gitoffSkip git init and the initial commit.

When no --use-* flag is passed, the scaffolder reads npm_config_user_agent (set by your launcher) to pick pnpm, yarn, or bun, and falls back to npm otherwise. Pass an explicit flag to force a specific manager — handy in CI or when npx was run under a different agent than the one you actually want to use.

What it generates

my-deck/
├── slides/
│   └── getting-started/
│       └── index.tsx       # starter slide
├── themes/                 # empty
├── open-slide.config.ts    # framework config
├── CLAUDE.md               # mirrors AGENTS.md
├── AGENTS.md               # agent rules
├── package.json
├── tsconfig.json
└── netlify.toml / vercel.json   # one-click deploy configs

After init

cd my-deck
npm install
npm run dev

The dev server boots, opens the slide browser, and you're ready for your agent to take over.

On this page