mirror of
https://github.com/sveltejs/ai-tools.git
synced 2026-07-06 12:50:53 +08:00
95 lines
3.3 KiB
Plaintext
95 lines
3.3 KiB
Plaintext
{
|
|
// 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",
|
|
},
|
|
}
|