The Problem
Developers who need to create technical presentations face a choice between rigid GUI tools (PowerPoint, Keynote) and writing raw HTML/CSS. Neither fits the workflow of someone who lives in Markdown, code editors, and version control. Slidev addresses this by making slides a code artifact: written in Markdown, styled with CSS, and enhanced with Vue components.
What This Does
Slidev is a presentation framework that compiles Markdown into interactive slides. The core workflow is visible in demo/starter/slides.md — a Markdown file with YAML frontmatter that defines slides, layouts, and themes. The project's real power is its extensibility: docs/custom/config-vue.md documents how to embed Vue components directly in slides, and docs/guide/write-theme.md shows how to package and share themes via npm.
The repo contains three working demos (demo/starter/, demo/composable-vue/, demo/vue-runner/) that serve as reference implementations. The docs/ directory (117 files) is a full documentation site built with VitePress, covering everything from basic syntax to advanced features like Mermaid diagrams, LaTeX, and Monaco editor integration.
How To Use It
Setup: The README states Node.js >=18 is required. The official init command is npm init slidev. The demo directories each have their own package.json, so you can cd demo/starter && npm install && npm run dev to see a working example.
Configuration: Slide configuration lives in the YAML frontmatter at the top of slides.md. This controls theme, layout, and slide-level options. No environment variables are required for local development.
Running it: The entry point is your slides.md file. The npm scripts in demo/starter/package.json define the dev server and build commands. The README's npm init slidev command scaffolds a new project.
Start a new project
npm init slidev
Run the included starter demo
cd demo/starter npm install npm run dev
Real-World Use
A developer preparing a technical talk can write content in Markdown, include live code examples with syntax highlighting, embed interactive Vue components, and export the final result as PDF or PPTX. The workflow fits naturally into a git-based workflow: slides are diffable, reviewable, and can be regenerated from the same source. The docs/features/recording.md and docs/features/presenter-mode.md files show it also handles the delivery side — recording talks and controlling slides from a phone.
Code Health & Issues
Low - Missing lockfiles - cypress/fixtures/basic/package.json and the demo directories declare dependencies without lockfiles. Builds are not reproducible across machines. This is acceptable for demos but a risk if these are published as templates. Low - No root package.json - The repo has no top-level dependency manifest. This is a monorepo of demos and docs, not a library package. The actual Slidev CLI lives in the upstream slidevjs/slidev repo (48k stars). Low - Heuristic issue flagged - The analysis tool flagged missing lockfiles, which aligns with the above. No other issues detected. Good - Test coverage exists - cypress/e2e/ has smoke and basic spec files, and .github/workflows/test.yml runs them in CI. The test setup is functional. Good - CI is configured - GitHub Actions workflows cover testing, smoke tests, releases, and auto-fixing.
The Bottom Line
This is the documentation and demo repository for Slidev, a mature and popular presentation tool. The codebase is well-organized, documented, and tested. If you need code-native presentations with Vue integration and a rich feature set, this is a solid choice. Teams already using Vite and Vue will find it natural; teams on other stacks may find the framework opinionated.