{ // Place your svelte-mcp workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. // Placeholders with the same ids are connected. // Example: "Setup Function": { "scope": "javascript,typescript", "prefix": "!setup-mcp", "body": [ "import type { SvelteMcp } from '../../index.js';", "import * as v from 'valibot';", "import { icons } from '../../icons/index.js';", "", "export function ${1:function_name}(server: SvelteMcp) {", "\t$0", "}", ], "description": "Create a setup function for a tool/resource/prompt handler", }, "Autofixer": { "scope": "javascript,typescript", "prefix": "!autofixer", "body": [ "import type { Autofixer } from './index.js';", "export const ${1:autofixer_name}: Autofixer = {", "\t$0", "};", ], "description": "Create a setup export for an autofixer", }, "Prompt Generator": { "scope": "javascript,typescript", "prefix": "!prompt", "body": [ "import type { SvelteMcp } from '../../index.js';", "import { icons } from '../../icons/index.js';", "", "/**", " * Function that actually generates the prompt string. You can use this in the MCP server handler to generate the prompt, it can accept arguments", " * if needed (it will always be invoked manually so it's up to you to provide the arguments).", " */", "function ${1:prompt_name}() {", "\treturn `$0`;", "}", "", "/**", " * This function is used to generate the prompt to update the docs in the script `/scripts/update-docs-prompts.ts` it should use the default export", " * function and pass in the arguments. Since it will be included in the documentation if it's an argument that the MCP will expose it should", " * be in the format [NAME_OF_THE_ARGUMENT] to signal the user that it can substitute it.", " * ", " * The name NEEDS to be `generate_for_docs`.", " */", "export async function generate_for_docs() {", "\treturn ${1:prompt_name}();", "}", "", "/**", " * Human readable description of what the prompt does. It will be included in the documentation.", " * ", " * The name NEEDS to be `docs_description`.", " */", "export const docs_description = '';", "", "export function setup_${1:prompt_name}(server: SvelteMcp) {", "\tserver.prompt(", "\t\t{", "\t\t\tname: '${1:prompt_name}',", "\t\t\ttitle: '${2:title}',", "\t\t\tdescription:", "\t\t\t\t'${3:llm_description}',", "\t\t\ticons,", "\t\t},", "\t\tasync () => {", "\t\t\treturn {", "\t\t\t\tmessages: [", "\t\t\t\t\t{", "\t\t\t\t\t\trole: 'assistant',", "\t\t\t\t\t\tcontent: {", "\t\t\t\t\t\t\ttype: 'text',", "\t\t\t\t\t\t\ttext: ${1:prompt_name}(),", "\t\t\t\t\t\t},", "\t\t\t\t\t},", "\t\t\t\t],", "\t\t\t};", "\t\t},", "\t);", "}", ], "description": "Create a setup export for a prompt generator", }, }