mirror of
https://github.com/sveltejs/ai-tools.git
synced 2026-07-07 21:26:35 +08:00
113 lines
4.6 KiB
Markdown
113 lines
4.6 KiB
Markdown
# @sveltejs/opencode
|
|
|
|
OpenCode plugin for Svelte that provides the Svelte MCP server, a specialized file editor subagent and instruction files.
|
|
|
|
## Installation
|
|
|
|
Add `@sveltejs/opencode` to your OpenCode config (either global or local):
|
|
|
|
```json
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"plugin": ["@sveltejs/opencode"]
|
|
}
|
|
```
|
|
|
|
That's it! You now have the Svelte MCP server and the file editor subagent configured automatically.
|
|
|
|
## Features
|
|
|
|
### Svelte MCP Server
|
|
|
|
The plugin automatically configures the [Svelte MCP server](https://mcp.svelte.dev) which provides:
|
|
|
|
- **list-sections** - Discover available Svelte 5 and SvelteKit documentation sections
|
|
- **get-documentation** - Retrieve full documentation content for specific sections
|
|
- **svelte-autofixer** - Analyze Svelte code and get issues/suggestions
|
|
- **playground-link** - Generate Svelte Playground links with provided code
|
|
|
|
### Svelte File Editor Subagent
|
|
|
|
A specialized subagent (`svelte-file-editor`) that is automatically used when creating, editing, or reviewing `.svelte`, `.svelte.ts`, or `.svelte.js` files. It fetches relevant documentation and validates code using the Svelte MCP server tools.
|
|
|
|
### Agent Instructions
|
|
|
|
The plugin injects instructions that teach the agent how to effectively use the Svelte MCP tools.
|
|
|
|
## Configuration
|
|
|
|
Create `svelte.json` to customize how the plugin configures MCP, the Svelte subagent, instructions, and skills.
|
|
|
|
```json
|
|
{
|
|
"$schema": "https://svelte.dev/opencode/schema.json",
|
|
"mcp": {
|
|
"type": "remote",
|
|
"enabled": true
|
|
},
|
|
"subagent": {
|
|
"enabled": true,
|
|
"agents": {
|
|
"svelte-file-editor": {
|
|
"model": "anthropic/claude-sonnet-4-20250514",
|
|
"temperature": 0.7,
|
|
"top_p": 0.9,
|
|
"maxSteps": 20
|
|
}
|
|
}
|
|
},
|
|
"instructions": {
|
|
"enabled": true
|
|
},
|
|
"skills": {
|
|
"enabled": ["svelte-code-writer", "svelte-core-bestpractices"]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Defaults
|
|
|
|
If omitted, the plugin uses these defaults:
|
|
|
|
- `mcp.type`: `"remote"`
|
|
- `mcp.enabled`: `true`
|
|
- `subagent.enabled`: `true`
|
|
- `subagent.agents`: `{}`
|
|
- `instructions.enabled`: `true`
|
|
- `skills.enabled`: `true`
|
|
|
|
### Configuration Options
|
|
|
|
| Option | Type | Default | Description |
|
|
| ------------------------------------------------ | --------------------- | ---------- | ---------------------------------------------------------------------------------------------- |
|
|
| `mcp.type` | `"remote" \| "local"` | `"remote"` | Use `https://mcp.svelte.dev/mcp` (`remote`) or run `@sveltejs/mcp` via `npx` (`local`). |
|
|
| `mcp.enabled` | `boolean` | `true` | Enable or disable the Svelte MCP server entry. |
|
|
| `subagent.enabled` | `boolean` | `true` | Enable or disable registration of the `svelte-file-editor` subagent. |
|
|
| `subagent.agents.svelte-file-editor.model` | `string` | main agent | Override the model used by the Svelte file editor subagent. |
|
|
| `subagent.agents.svelte-file-editor.temperature` | `number` | unset | Set temperature for the subagent. |
|
|
| `subagent.agents.svelte-file-editor.top_p` | `number` | unset | Set top-p sampling for the subagent. |
|
|
| `subagent.agents.svelte-file-editor.maxSteps` | `number` | unlimited | Limit the number of steps the subagent can execute. |
|
|
| `instructions.enabled` | `boolean` | `true` | Enable or disable automatic instruction-file injection. |
|
|
| `skills.enabled` | `boolean \| string[]` | `true` | Enable all skills (`true`), disable all skills (`false`), or enable only specific skill names. |
|
|
|
|
### Supported Skill Names
|
|
|
|
When using `skills.enabled` as an array, these built-in names are currently available:
|
|
|
|
- `svelte-code-writer`
|
|
- `svelte-core-bestpractices`
|
|
|
|
### Config File Locations and Precedence
|
|
|
|
The plugin reads from these files (lowest priority first, highest priority last):
|
|
|
|
- `~/.config/opencode/svelte.json`
|
|
- `$OPENCODE_CONFIG_DIR/svelte.json` (when `OPENCODE_CONFIG_DIR` is set)
|
|
- `.opencode/svelte.json` in the current project
|
|
|
|
If the same key is defined in multiple files, the later location overrides earlier ones.
|
|
|
|
## License
|
|
|
|
MIT
|