Manage multiple Slidev decks in one repo. Each deck runs independently and can be developed, exported, and deployed on its own.
This workspace is designed to automate slide creation using AI tools such as Cursor and Claude Code (CLI). The goal is to quickly scaffold, structure, and style Slidev decks with minimal manual setup.
- Drive workflows via the root scripts (menu/create/run/export)
- Auto‑generate a deck from
context-template.md, then split slides underslides/ - Apply the slide design principles below to ensure clean, non‑overflowing slides
- Use the .cursor rules file for Cursor AI assistant instructions
- Use
CLAUDE.mdfor Claude Code (CLI) AI assistant instructions and design rules
Enhance your presentations with AI-generated images using Together AI:
- Get an API Key: Visit https://www.open-mcp.org/servers/together-ai to obtain a Together AI API key
- Configure MCP: Add the Together AI MCP server to your Cursor configuration
- Generate Images: The AI assistant can automatically generate 2 custom images per deck and save them to
assets/images/
The AI will create images that complement your slide content and maintain visual consistency across your presentation.
Use the root scripts for all routine tasks:
# Interactive menu (recommended)
npm run menu
# Create a new deck
npm run create -- "Your Presentation Name"
# Run a specific deck
npm run run -- <presentation-name>
# List available decks
npm run list
# Export all decks (PDF)
npm run export-allPer‑deck commands (inside presentations/<name>):
# Dev server (http://localhost:3030)
pnpm slidev
# Export
pnpm slidev export # choose format via prompt
pnpm export:pdf # if provided by the deck
pnpm export:png # if provided by the deckpresentations/— one folder per deckcomponents/— shared Vue componentsscripts/— menu, create, and run helpersdocs/— local best‑practice docsimages/— shared images
Typical deck layout:
presentations/my-presentation/
├─ slides.md # headmatter + slide imports (also opening slide)
├─ slides/ # split slides for modularity
│ ├─ 01-intro.md
│ ├─ 02-problem.md
│ └─ …
├─ assets/ # images/diagrams/code examples (optional)
└─ package.json # deck scripts
# Recommended (guided)
npm run menu
# Or direct
npm run create -- "My Presentation Title"
# alternatively
./scripts/create-presentation.sh "My Presentation Title"What happens:
- A new folder under
presentations/using a kebab‑cased version of the title slides.mdcreated fromcontext-template.mdwith the title injected- A deck‑level
package.jsonwith standard Slidev scripts
Next steps:
- Open
slides.mdand set global headmatter (this doubles as the opening slide). - Create
slides/and split content into small files; import them intoslides.mdusingsrc:. - Optional: add an
assets/folder for deck‑specific images and diagrams.
- Keep slides light: 4–5 bullets, 5–7 words each; split dense content into multiple slides.
- Use responsive layouts: grids and two‑column patterns with adequate gaps.
- Maintain margins and spacing:
p-2 sm:p-3 md:p-4, ~10% safe area. - Typography hierarchy: titles
text-2xl–4xl, bodytext-base–lg, captionstext-xs–sm. - Code: highlight lines to guide attention (
```ts {2-3|5|all}). - Diagrams (Mermaid): left‑to‑right, 5–7 nodes, short labels; prefer
scale: 0.7–0.8. - Reveals: use
<v-click>to reveal sections, not every bullet.
See docs/slidev-best-practices.md and CLAUDE.md for examples and snippets.
For AI assistants: follow the Layout Decision Matrix and Density Guardrails in CLAUDE.md §"AI Authoring Rubric" and docs/slidev-best-practices.md §4.1 to avoid overflow and pick appropriate themes/layouts.
- Start dev:
npm run run -- <name>or from the menu; hot‑reload onhttp://localhost:3030. - Test at 640px, 1024px, 1536px; use Presenter Mode (
P) and Overview (O). - Export: inside the deck, run
pnpm slidev export(PDF/PNG) or deck scripts (export:pdf,export:png). - Build static site:
pnpm slidev build(outputsdist/).
An example lives in presentations/Sample-Presentation/. Try:
npm run run -- Sample-Presentationcomponents/for reusable Vue componentsimages/for shared image assetssetup/mermaid.tsfor Mermaid config
- Local best practices:
docs/slidev-best-practices.md - AI assistant guide:
CLAUDE.md - Slidev docs: https://sli.dev