skilld-dev/vue-ecosystem-skills/vitepress-skilld

Claude Code and agent skill by skilld-dev/vue-ecosystem-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when writing, configuring, or debugging code that imports "vitepress", when running vitepress CLI commands, editing .vitepress/config or theme files, tuning markdown or default theme options, or migrating a VitePress site. Provides the vitepress@1.6.4 API surface, config reference, theme reference, CLI usage, and v1 migration notes.

Install

npx vskill@latest install skilld-dev/vue-ecosystem-skills/vitepress-skilld

SKILL.md

vitepress@1.6.4

Vite & Vue powered static site generator (vuejs/vitepress). Source of truth in this Skill is the prepared package source; line citations are relative to the package root (for example dist/node/index.d.ts:2382).

Version facts

  • Version 1.6.4, MIT (package.json:3).
  • Bundles Vue ^3.5.13, Vite ^5.4.14, shiki ^2.1.0, minisearch ^7 (package.json:59-78).
  • Requires Node.js 18+ (https://vitepress.dev/guide/getting-started).
  • VitePress v1 is not compatible with rolldown-vite; the dev server prints an

error and directs to VitePress v2 (dist/node/cli.js:438-444).

  • Optional peers: markdown-it-mathjax3 (for markdown.math), postcss (package.json:155-166).

Entry points

Defined by the export map in package.json:18-37:

ImportTypes entryUse for
vitepresstypes/index.d.tsNode + client + shared API, config helpers
vitepress/clientclient.d.tsClient composables (useData, useRouter, …)
vitepress/themetheme.d.tsDefault theme, useSidebar, useLocalNav
vitepress/theme-without-fontstheme-without-fonts.d.tsDefault theme without bundled font files

CLI binary: vitepress → bin/vitepress.js.

Setup and commands

sh
npm add -D vitepress
npx vitepress init
npx vitepress dev
npx vitepress build
npx vitepress preview

dev may be omitted when using the current directory (vitepress alone). serve is an alias of preview. Full flags and dev shortcuts: cli.md

Common tasks

Site config (.vitepress/config.ts)
ts
import { defineConfig } from 'vitepress'
export default defineConfig({
title: 'My App',
description: 'A VitePress site',
themeConfig: {
nav: [{ text: 'Guide', link: '/guide/' }],
sidebar: [{ text: 'Guide', items: [{ text: 'Intro', link: '/guide/intro' }] }]
}
})

defineConfig is typed for the default theme; use defineConfigWithTheme<CustomThemeConfig> for a custom theme (dist/node/index.d.ts:2382-2386). Every option: site-config.md

Client runtime API
vue
<script setup>
import { useData, useRouter, withBase } from 'vitepress'
const { page, frontmatter, isDark, hash } = useData()
const router = useRouter()
</script>

Full export list and signatures: api.md

Build-time data loading
ts
// posts.data.js
import { createContentLoader } from 'vitepress'
export default createContentLoader('posts/*.md', { excerpt: true })

Import as import { data } from './posts.data.js'. Runs in Node only; the result ships as JSON in the client bundle.

Browser-only components
vue
<script setup>
import { defineClientComponent } from 'vitepress'
const Chart = defineClientComponent(() => import('./Chart.vue'))
</script>

Prevents SSG build failures when a library touches window/document on import (https://vitepress.dev/guide/ssr-compat).

Best practices

  • Use createContentLoader for archive and index pages instead of hand-rolled

loaders; it caches by file mtime and keeps the client JSON small (dist/node/index.d.ts:2466-2473, https://vitepress.dev/guide/data-loading).

  • Wrap browser-only components with defineClientComponent

(https://vitepress.dev/guide/ssr-compat).

  • Keep image and asset URLs relative in Markdown so Vite hashes and inlines

them; use withBase() for dynamic paths in theme components (https://vitepress.dev/guide/asset-handling).

  • Enable cleanUrls: true only when the host can map /foo to /foo.html

(https://vitepress.dev/guide/routing#clean-urls).

  • With rewrites, relative links must target the rewritten URL structure, not

the source file structure (https://vitepress.dev/guide/routing#route-rewrites).

  • In dynamic route paths.js loaders, pass large payloads via content, not

params, to keep client JS small (https://vitepress.dev/guide/routing#dynamic-routes).

  • In MPA mode (mpa: true), use <script client> for interactivity; plain

<script setup> is server-side templating only (https://vitepress.dev/guide/mpa-mode).

  • Exclude pages from local search with the _render hook

(types/default-theme.d.ts:451-455).

Deeper references

  • api.md: every export from vitepress,

vitepress/client, vitepress/theme, data loader types, theme interface.

hooks, SiteConfig, mergeConfig.

nav, sidebar, search (local and algolia), theme extension.

containers, math, createMarkdownRenderer.

  • cli.md: commands, flags, dev shortcuts, scaffolding.
  • migration.md: v0 → v1 breaking changes and

deprecations still visible in 1.6.4.

Version-specific changes

Prioritize these when touching old configs; details and citations in migration.md:

  • BREAKING (v1.0.0-rc.9): pathname:// protocol removed; use

target="_self" or target="_blank" (https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md).

  • BREAKING (v1.0.0): sidebar children renamed to items; top-level items no

longer accept link (https://vitepress.dev/guide/migration-from-vitepress-0).

  • BREAKING (v1.0.0-alpha.44): collapsible replaced by collapsed: boolean

(CHANGELOG).

  • BREAKING (v1.0.0-alpha.57): markdown.headers disabled by default;

PageData.headers is empty unless enabled (CHANGELOG).

  • When markdown.headers is enabled, extraction levels default to [2, 3]

(dist/node/index.d.ts:1769-1786).

  • NEW (v1.1.0): useData().hash reactive URL hash

(dist/client/index.d.ts:79-83).

  • NEW (v1.4.0): onAfterPageLoad router hook

(dist/client/index.d.ts:36-38).

  • NEW (v1.3.0): appearance: 'force-auto'

(types/shared.d.ts:119-124).

  • Deprecated in 1.6.4: Theme.setup, Theme.NotFound

(dist/client/index.d.ts:96-103), outlineTitle, lastUpdatedText, algolia theme options (types/default-theme.d.ts:36-77,139-141).

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/skilld-dev/vue-ecosystem-skills/vitepress-skilld/badge)](https://verified-skill.com/skills/skilld-dev/vue-ecosystem-skills/vitepress-skilld)

Something wrong with this skill or its page? Tell us.