Skip to content

Commit db502e6

Browse files
johnleiderclaude
andcommitted
feat(mcp): add Vuetify0 (@vuetify/v0) support
Add comprehensive support for Vuetify0, a meta framework providing unstyled components and composables for building design systems. - Add vuetify0 installation platform with setup instructions - Add getVuetify0InstallationGuide service to fetch main README - Add getVuetify0PackageGuide service for @vuetify/v0 package docs - Register get_vuetify0_installation_guide MCP tool - Register get_vuetify0_package_guide MCP tool Users can now access Vuetify0 documentation via get_installation_guide with platform: "vuetify0" or through dedicated tools for fetching GitHub repository documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent c309c5e commit db502e6

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

src/services/documentation.ts

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import octokit from '#plugins/octokit'
77

88
const VUETIFY_DEPENDENCIES = 'vue vuetify @mdi/font'
99
const VITE_DEPENDENCIES = 'vite @vitejs/plugin-vue vite-plugin-vuetify unplugin-fonts'
10+
const VUETIFY0_DEPENDENCIES = 'vue @vuetify/v0'
1011

1112
export const SSR_NOTE = `
1213
> **SSR Configuration**: When using Server-Side Rendering use *ssr: true*: \`createVuetify({ ssr: true })\`
@@ -328,6 +329,50 @@ export const INSTALLATION_PLATFORMS = {
328329
\`\`\`
329330
`,
330331
},
332+
'vuetify0': {
333+
name: 'Vuetify0 (@vuetify/v0)',
334+
description: 'Installation guide for Vuetify0 - unstyled components and composables.',
335+
markdown: `
336+
# Vuetify0 (@vuetify/v0) Installation
337+
338+
Vuetify0 provides unstyled components, composables, and utilities as low-level primitives for building modern web applications and design systems.
339+
340+
# Dependencies
341+
\`\`\`bash
342+
[npm|pnpm|yarn|bun] install ${VUETIFY0_DEPENDENCIES}
343+
\`\`\`
344+
345+
# Files
346+
\`\`\`ts [src/plugins/vuetify0.ts]
347+
import { createV0 } from '@vuetify/v0'
348+
349+
export default createV0()
350+
\`\`\`
351+
\`\`\`ts [src/main.ts]
352+
import { createApp } from 'vue'
353+
import App from './App.vue'
354+
import v0 from './plugins/vuetify0'
355+
356+
const app = createApp(App)
357+
app.use(v0).mount('#app')
358+
\`\`\`
359+
360+
# Usage Example
361+
\`\`\`vue
362+
<template>
363+
<Atom>
364+
<h1>Hello Vuetify0</h1>
365+
</Atom>
366+
</template>
367+
368+
<script setup lang="ts">
369+
import { Atom } from '@vuetify/v0'
370+
</script>
371+
\`\`\`
372+
373+
For more information, see the [Vuetify0 GitHub repository](https://github.com/vuetifyjs/0).
374+
`,
375+
},
331376
} as const
332377

333378
export const UPGRADE_FROM_VERSIONS = {
@@ -552,5 +597,43 @@ export function createDocumentationService () {
552597
],
553598
}
554599
},
600+
getVuetify0InstallationGuide: async () => {
601+
const { data } = await octokit.rest.repos.getContent({
602+
owner: 'vuetifyjs',
603+
repo: '0',
604+
path: 'README.md',
605+
mediaType: {
606+
format: 'raw',
607+
},
608+
})
609+
610+
return {
611+
content: [
612+
{
613+
type: 'text',
614+
text: `# Vuetify0 Documentation\n\nSource: https://github.com/vuetifyjs/0\n\n${data}`,
615+
} as const,
616+
],
617+
}
618+
},
619+
getVuetify0PackageGuide: async () => {
620+
const { data } = await octokit.rest.repos.getContent({
621+
owner: 'vuetifyjs',
622+
repo: '0',
623+
path: 'packages/0/README.md',
624+
mediaType: {
625+
format: 'raw',
626+
},
627+
})
628+
629+
return {
630+
content: [
631+
{
632+
type: 'text',
633+
text: `# @vuetify/v0 Package Documentation\n\nSource: https://github.com/vuetifyjs/0/tree/main/packages/0\n\n${data}`,
634+
} as const,
635+
],
636+
}
637+
},
555638
}
556639
}

src/tools/documentation.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,16 @@ export async function registerDocumentationTools (server: McpServer) {
6767
'Get the README contents for @vuetify/one package from GitHub, including installation and usage instructions.',
6868
documentation.getVuetifyOneInstallationGuide,
6969
)
70+
71+
server.tool(
72+
'get_vuetify0_installation_guide',
73+
'Get the README contents for Vuetify0 from GitHub, including installation and usage instructions for unstyled components and composables.',
74+
documentation.getVuetify0InstallationGuide,
75+
)
76+
77+
server.tool(
78+
'get_vuetify0_package_guide',
79+
'Get the README contents for the @vuetify/v0 package from GitHub.',
80+
documentation.getVuetify0PackageGuide,
81+
)
7082
}

0 commit comments

Comments
 (0)