--- title: open-slide init description: Scaffold a new workspace. --- ```npm 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 | Flag | Default | Description | | ------------------------- | ------------- | ------------------------------------------------------------------------ | | `-f, --force` | off | Scaffold into the target even if it's not empty. | | `-n, --name ` | folder name | Override the generated `package.json` name. | | `--use-npm` | auto-detected | Install with npm. | | `--use-pnpm` | auto-detected | Install with pnpm. | | `--use-yarn` | auto-detected | Install with yarn. | | `--use-bun` | auto-detected | Install with bun. | | `--no-install` | off | Skip dependency installation. You'll have to run `install` yourself. | | `--no-git` | off | Skip `git init` and the initial commit. | | `--locale ` | prompted | Slide UI language. One of `en`, `zh-TW`, `zh-CN`, `ja`. | 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. When `--locale` is omitted, an interactive run asks you to pick a language and writes the matching preset into `open-slide.config.ts` (see the [Locale reference](/docs/reference/locale)). Non-interactive runs default to `en`. ## What it generates ```text 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 ```npm 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.