vitepress
$
npx mdskill add TerminalSkills/skills/vitepressBuild fast documentation sites with VitePress using Markdown and Vue
- Create and organize documentation for projects using Markdown files
- Leverages Vite, Vue, and built-in themes for fast development
- Automates navigation, search, and i18n based on file structure
- Generates optimized static sites for deployment to GitHub Pages
SKILL.md
.github/skills/vitepressView on GitHub ↗
---
name: vitepress
description: >-
Build documentation sites with VitePress, the Vite-powered static site generator. Use when a user asks to create docs, configure VitePress themes, add custom pages, deploy to GitHub Pages, or extend with Vue components.
license: Apache-2.0
compatibility: "No special requirements"
metadata:
author: terminal-skills
version: "1.0.0"
category: development
tags: ["documentation", "static-site", "vite", "vue", "markdown"]
---
# VitePress — Vite-Powered Documentation Site
## Overview
You are an expert in VitePress, the Vite-powered static site generator for documentation. You help developers build fast, beautiful documentation sites from Markdown files with Vue component integration, full-text search, i18n, and automatic navigation generation.
## Instructions
### Setup
```bash
npm add -D vitepress
npx vitepress init
# Project structure:
# docs/
# .vitepress/
# config.ts # Site configuration
# theme/ # Custom theme
# index.md # Homepage
# guide/
# getting-started.md
# installation.md
# api/
# reference.md
# Development
npx vitepress dev docs
# Build
npx vitepress build docs
```
### Configuration
```typescript
// docs/.vitepress/config.ts
import { defineConfig } from "vitepress";
export default defineConfig({
title: "My SDK",
description: "Documentation for My SDK",
themeConfig: {
logo: "/logo.svg",
nav: [
{ text: "Guide", link: "/guide/getting-started" },
{ text: "API", link: "/api/reference" },
{ text: "Changelog", link: "/changelog" },
],
sidebar: {
"/guide/": [
{
text: "Introduction",
items: [
{ text: "Getting Started", link: "/guide/getting-started" },
{ text: "Installation", link: "/guide/installation" },
{ text: "Configuration", link: "/guide/configuration" },
],
},
{
text: "Core Concepts",
items: [
{ text: "Authentication", link: "/guide/authentication" },
{ text: "Data Fetching", link: "/guide/data-fetching" },
{ text: "Error Handling", link: "/guide/error-handling" },
],
},
],
},
socialLinks: [
{ icon: "github", link: "https://github.com/org/repo" },
{ icon: "discord", link: "https://discord.gg/xxx" },
],
search: { provider: "local" }, // Built-in full-text search
editLink: {
pattern: "https://github.com/org/repo/edit/main/docs/:path",
text: "Edit this page on GitHub",
},
footer: {
message: "Released under the MIT License.",
},
},
});
```
### Markdown Features
````markdown
# Page Title
## Code Groups
::: code-group
```ts [TypeScript]
const client = new SDK({ apiKey: "xxx" });
const users = await client.users.list();
```
```python [Python]
client = SDK(api_key="xxx")
users = client.users.list()
```
```go [Go]
client := sdk.New("xxx")
users, err := client.Users.List()
```
:::
## Custom Containers
::: tip
This is a helpful tip for users.
:::
::: warning
This feature is experimental and may change.
:::
::: danger
This action cannot be undone. Proceed with caution.
:::
::: details Click to expand
Hidden content that users can reveal.
:::
## Frontmatter
```yaml
---
title: Custom Title
description: SEO description for this page
outline: [2, 3] # Show h2 and h3 in sidebar outline
prev:
text: Previous Page
link: /guide/previous
next:
text: Next Page
link: /guide/next
---
```
````
### Vue Components in Markdown
```vue
<!-- docs/.vitepress/theme/components/APIPlayground.vue -->
<template>
<div class="api-playground">
<select v-model="method">
<option>GET</option><option>POST</option><option>PUT</option>
</select>
<input v-model="url" placeholder="Enter URL" />
<button @click="send">Send</button>
<pre v-if="response">{{ response }}</pre>
</div>
</template>
<!-- Use in Markdown: -->
<!-- <APIPlayground /> -->
```
## Installation
```bash
npm add -D vitepress
```
## Examples
**Example 1: User asks to set up vitepress**
User: "Help me set up vitepress for my project"
The agent should:
1. Check system requirements and prerequisites
2. Install or configure vitepress
3. Set up initial project structure
4. Verify the setup works correctly
**Example 2: User asks to build a feature with vitepress**
User: "Create a dashboard using vitepress"
The agent should:
1. Scaffold the component or configuration
2. Connect to the appropriate data source
3. Implement the requested feature
4. Test and validate the output
## Guidelines
1. **Docs alongside code** — Keep docs in the same repo as code; changes to API and docs happen in the same PR
2. **Auto-generate API reference** — Use TypeDoc or similar to generate API pages from JSDoc/TSDoc comments
3. **Code groups for multi-language** — Show examples in all supported languages side by side
4. **Local search** — Enable built-in local search for small-medium sites; use Algolia DocSearch for large sites
5. **Edit links** — Enable "Edit this page" links; community contributions improve docs faster
6. **Frontmatter for SEO** — Set title and description in frontmatter; VitePress generates proper meta tags
7. **Vue components for interactivity** — Use Vue components for interactive examples, API playgrounds, and calculators
8. **Deploy to Vercel/Netlify** — VitePress generates static HTML; deploy anywhere with zero server costs
More from TerminalSkills/skills