Back to the catalog

gemini-slidev

Professional Gemini CLI extension for creating, editing, and managing Slidev presentations with AI-assisted workflows.

Open source Open in the app JSON README (API)

About

Professional Gemini CLI extension for creating, editing, and managing Slidev presentations with AI-assisted workflows.

Details

Kind
Plugins
Topic
AI, RAG & memory
Publisher
professorjoaomiguel
Origin
gemini
Category
ferramentas
Version
0.6.0
Open pull requests
1
Last push
2026-04-06T23:04:29Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
professorjoaomiguel/gemini-slidev

README

# Slidev - Gemini CLI Extension

A professional Gemini CLI extension for creating, editing, and managing [Slidev](https://sli.dev/) presentations—Markdown-based slides for developers.

## ✨ Features

- **⚡ 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.

### 🚀 Coming Soon (Fase 2)

- **Vue Components Creator:** Automatically generate `/components/Name.vue` files for richer visuals.
- **Auto-Speaker Notes:** AI will write robust presenter notes directly as HTML comments.
- **Web Export & Deploy:** One-click `slidev build` and automated deployments.
- **Agent Skills Migration:** Converting global context to robust `skills/slidev/SKILL.md` (Slidev v52+ standard).
- **Auto format:** Exposure of the new `/slidev:format` CLI feature.

## 📋 Prerequisites

1. **Gemini CLI** installed and configured (requires Node.js 18+)
2. **Slidev Environment** requires **Node.js 20.12.0+** and npm/pnpm/yarn
3. **Slidev** (targets version **v52.14.1+**, installed automatically in new projects)

## 🚀 Installation

### 1. Install Extension

Install the extension using the `gemini extensions install` command:

```bash
gemini extensions install https://github.com/professorjoaomiguel/gemini-slidev-extension
```

### 2. Activate

Restart 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

## 💡 Usage

The extension provides a suite of commands for the entire presentation lifecycle:

### 🎯 Specific Commands (Recommended)

**Initialize Project:**

```bash
/slidev:init
# "Initialize a new project with the 'seriph' theme"
```

**Generate Content:**

```bash
/slidev:generate "Deep Learning Fundamentals"
# Generates a structured deck with cover, intro, key concepts, and summary
```

**Add Slides:**

```bash
/slidev:add "Comparison of React vs Vue"
# Adds a 'two-cols' layout slide comparing the frameworks
```

**Edit & Refine:**

```bash
/slidev:edit "Make the title on slide 3 bigger and red"
# Applies 'text-4xl text-red-500' classes using UnoCSS
```

**Export:**

```bash
/slidev:export --format pdf --with-clicks
# Exports a PDF including all animation steps
```

**Run Server:**

```bash
/slidev:run
# Starts the dev server at http://localhost:3030
```

### 🌟 Natural Language Command (Flexible)

**Open-ended prompts:**

```bash
/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 PNG
```

## 🔧 Technical Details

### Core Principles

This extension adheres to strict quality standards defined in `GEMINI.md`:

- **Markdown-Centric**: Treats `slides.md` as 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.

### Configuration

The extension automatically handles:

- YAML Frontmatter validation
- Component syntax checking
- Asset path resolution

## 🛠 Local Development

Developing extensions for Gemini CLI is a lightweight, iterative process. Use the `link` command to develop locally without reinstalling your extension after every change:

```bash
cd gemini-slidev-extension
gemini extensions link .
```
Changes to your code are immediately available in the CLI after you restart the session.

## 🩺 Troubleshooting

- **Extension not loading:** If your extension doesn't appear in `/extensions list`, ensure the `gemini-extension.json` is 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 `/help` to see a list of all available commands and their sources.

## 🙌 Acknowledgments

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.

## 🤝 Contributing

1. Fork the repository
2. Create a feature branch
3. Submit a pull request

## 📄 Legal

- **License**: [Apache License 2.0](LICENSE)

More