Publish the Skills extension as a browsable VitePress site on Cloudflare Pages, using the same documentation theme as ext-tasks and reusing the existing source documents. - Follow the Tasks site's structure: a substantive overview at `/` and a separate stable specification page. The small `index.md` uses native VitePress includes to reuse excerpts from the released specification, rather than duplicating its prose. - Link to the condensed overview on the MCP website. - Render `specification/stable/skills.mdx` through a small Markdown include, preserving the released specification unchanged. - Add local search, section outlines, MCP branding, source edit links, and a Specification navigation item with a Stable sidebar entry. Keep the full specification at `/specification/stable/skills`. - Build pull requests, including fork contributions, in read-only GitHub Actions CI. - Use the existing Cloudflare Pages Git integration for publishing. Remove the GitHub Pages deployment workflow and project-path configuration. ## Validation - `npm run docs:build` passed with VitePress 1.6.4. - Checked that the build emits an overview and a separate specification page; verified included excerpt boundaries, internal links and anchors, specification source edit links, and the rendered MDX callout. - `git diff --check` passed. - The build emits the existing large-chunk warning from the diagram dependencies. - Cloudflare deployment itself has not been run from this workspace. ## Publishing settings DNS and Cloudflare Pages setup are ready separately. The existing Pages project should use: | Setting | Value | | --- | --- | | Repository | `modelcontextprotocol/ext-skills` | | Production branch | `main` | | Root directory | Repository root | | Build command | `npm run docs:build` | | Build output directory | `.vitepress/dist` | | Node.js | `22` (set `NODE_VERSION=22` in Pages) | | Custom domain | `skills.extensions.modelcontextprotocol.io` | Cloudflare installs dependencies and builds from the committed npm lockfile. The site is served at the domain root with clean URLs. Publishing is handled by Cloudflare's connected Git integration; no GitHub Pages environment, Pages permissions, or Cloudflare deployment secrets in GitHub Actions are required. After merge, verify the production deployment and custom domain in the existing Cloudflare Pages project. One-time publishing instructions stay in this PR description, not in a checked-in setup document. Fork PRs receive the CI build check. Automated Cloudflare previews for forks require the separately discussed trusted artifact-publishing workflow; this PR does not add that workflow. --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
71 lines
2.1 KiB
TypeScript
71 lines
2.1 KiB
TypeScript
import { defineConfig } from "vitepress";
|
|
import { withMermaid } from "vitepress-plugin-mermaid";
|
|
|
|
const repository = "https://github.com/modelcontextprotocol/ext-skills";
|
|
|
|
export default withMermaid(
|
|
defineConfig({
|
|
title: "MCP Skills Extension",
|
|
description:
|
|
"Discover and read Agent Skills over the Model Context Protocol",
|
|
cleanUrls: true,
|
|
srcExclude: [
|
|
"README.md",
|
|
"SECURITY.md",
|
|
"CONTRIBUTING.md",
|
|
"AGENTS.md",
|
|
"CLAUDE.md",
|
|
"docs/**",
|
|
],
|
|
head: [["link", { rel: "icon", href: "/mcp.png" }]],
|
|
|
|
markdown: {
|
|
config(md) {
|
|
// Excerpts retain cross-references to the complete specification.
|
|
md.core.ruler.before("block", "overview-links", (state) => {
|
|
if (state.env.relativePath === "index.md") {
|
|
state.src = state.src.replace(
|
|
/\]\(#([^)]+)\)/g,
|
|
"](/specification/stable/skills#$1)",
|
|
);
|
|
}
|
|
});
|
|
// Render the existing MDX specification's callout after Markdown inclusion.
|
|
md.core.ruler.before("block", "mdx-notes", (state) => {
|
|
state.src = state.src
|
|
.replace(/^<Note>\s*$/gm, "::: info\n")
|
|
.replace(/^<\/Note>\s*$/gm, ":::\n");
|
|
});
|
|
},
|
|
},
|
|
|
|
themeConfig: {
|
|
outline: [2, 3],
|
|
nav: [
|
|
{ text: "Specification", link: "/specification/stable/skills" },
|
|
{
|
|
text: "SEP-2640",
|
|
link: "https://modelcontextprotocol.io/seps/2640-skills-extension",
|
|
},
|
|
{
|
|
text: "Working Group",
|
|
link: "https://modelcontextprotocol.io/community/working-groups/skills-over-mcp",
|
|
},
|
|
],
|
|
sidebar: {
|
|
"/specification/": [
|
|
{
|
|
text: "Specification",
|
|
items: [{ text: "Stable", link: "/specification/stable/skills" }],
|
|
},
|
|
],
|
|
},
|
|
socialLinks: [{ icon: "github", link: repository }],
|
|
search: { provider: "local" },
|
|
editLink: {
|
|
pattern:
|
|
"https://github.com/modelcontextprotocol/ext-skills/edit/main/specification/stable/skills.mdx",
|
|
},
|
|
},
|
|
}),
|
|
);
|