A professional Gemini CLI extension for creating, editing, and managing Slidev presentations—Markdown-based slides for developers.
- ⚡ Instant Setup: Initialize new Slidev projects with best practices and theme selection.
- 📝 Intelligent Generation: Create full slide decks with optimal layouts (
two-cols,image-right), animations (<v-click>), and speaker notes. - 🎨 Smart Editing: Modify slides using UnoCSS utility classes and refined component usage.
- ➕ Seamless Addition: Insert new slides intelligently into existing decks.
- 📤 Production Export: Export to PDF/PNG with support for animation steps (
--with-clicks). ▶️ Dev Server: Integrated control for starting the local preview server.
- Vue Components Creator: Automatically generate
/components/Name.vuefiles for richer visuals. - Auto-Speaker Notes: AI will write robust presenter notes directly as HTML comments.
- Web Export & Deploy: One-click
slidev buildand automated deployments. - Agent Skills Migration: Converting global context to robust
skills/slidev/SKILL.md(Slidev v52+ standard). - Auto format: Exposure of the new
/slidev:formatCLI feature.
- Gemini CLI installed and configured (requires Node.js 18+)
- Slidev Environment requires Node.js 20.12.0+ and npm/pnpm/yarn
- Slidev (targets version v52.14.1+, installed automatically in new projects)
Install the extension using the gemini extensions install command:
gemini extensions install https://github.com/professorjoaomiguel/gemini-slidev-extensionRestart the Gemini CLI. The following commands will be available:
/slidev:init- Initialize a new Slidev project/slidev:generate- Generate complete slide decks from topics/slidev:add- Add new slides with specific layouts/slidev:edit- Refine content and styles/slidev:export- Export presentation to PDF/PNG/slidev:run- Start the local development server/slidev:help- Show help for the Slidev extension/slidev- Main entry point
The extension provides a suite of commands for the entire presentation lifecycle:
Initialize Project:
/slidev:init
# "Initialize a new project with the 'seriph' theme"Generate Content:
/slidev:generate "Deep Learning Fundamentals"
# Generates a structured deck with cover, intro, key concepts, and summaryAdd Slides:
/slidev:add "Comparison of React vs Vue"
# Adds a 'two-cols' layout slide comparing the frameworksEdit & Refine:
/slidev:edit "Make the title on slide 3 bigger and red"
# Applies 'text-4xl text-red-500' classes using UnoCSSExport:
/slidev:export --format pdf --with-clicks
# Exports a PDF including all animation stepsRun Server:
/slidev:run
# Starts the dev server at http://localhost:3030Open-ended prompts:
/slidev I need a presentation about Rust programming language for beginners
/slidev Add a slide with a code block showing a Hello World example in Python
/slidev Export the current deck to PNGThis extension adheres to strict quality standards defined in GEMINI.md:
- Markdown-Centric: Treats
slides.mdas the source of truth. - Component-Driven: Leverages Slidev's built-in layouts and Vue components.
- Progressive Disclosure: Smart use of animations to control information flow.
The extension automatically handles:
- YAML Frontmatter validation
- Component syntax checking
- Asset path resolution
Developing extensions for Gemini CLI is a lightweight, iterative process. Use the link command to develop locally without reinstalling your extension after every change:
cd gemini-slidev-extension
gemini extensions link .Changes to your code are immediately available in the CLI after you restart the session.
- Extension not loading: If your extension doesn't appear in
/extensions list, ensure thegemini-extension.jsonis valid and the CLI has been restarted. - Command conflicts: Remember that user and project commands take precedence over extension commands. Use the prefixed name (e.g.,
/slidev:init) to verify the extension's version. Run/helpto see a list of all available commands and their sources.
This project (formerly gemini-slidev-extension-contrib) evolved into its own independent Pro version, but its architectural concept for custom commands was heavily inspired by the experimental extension from QIanGua. We honor their original work as part of our foundation.
- Fork the repository
- Create a feature branch
- Submit a pull request
- License: Apache License 2.0