[Pi](https://pi.dev) supports [packages](https://pi.dev/docs/packages) that bundle extensions and skills. Svelte has a Pi package published under `@sveltejs/pi`. ## Installation With Pi 0.99.0 or newer, install the package from the command line: ```sh pi install npm:@sveltejs/pi ``` Add `-l` to install it only for the current project. That's it! You now have the Svelte [MCP server](mcp), [skills](skills) and the [instructions](instructions) configured for you. If you already configured the Svelte MCP server in your `mcp.json`, the package will use that instead of registering a new one. > [!NOTE] Unlike the other plugins, the Pi package doesn't include the `svelte-file-editor` [subagent](subagent), as Pi deliberately doesn't ship with subagents. If you want to delegate work to an isolated context, you can ask Pi to spawn another instance of itself (e.g. with `pi --print ""`). The spawned instance loads your installed packages too, so it will still have access to the Svelte MCP server, skills and instructions. ## Configuration By default, the MCP server, skills and instructions are enabled. You can customize the MCP server and the instructions by creating a `svelte.json` file: - locally, in `.pi/svelte.json` (only read in trusted projects) - globally, in `~/.pi/agent/svelte.json` ```json { "$schema": "https://svelte.dev/pi/schema.json", "mcp": { "type": "local", // or "remote"; defaults to local "enabled": true, "exposure": "direct" // or "codemode", "deferred", "hidden"; defaults to direct }, "instructions": { "enabled": true } } ``` Run `/reload` after changing the configuration. ### Skills Skills are managed by Pi itself: you can enable or disable each one with `pi config` (or `pi config --local` for the current project), or filter them in your Pi `settings.json`: ```json { "packages": [ { "source": "npm:@sveltejs/pi", "skills": ["skills/svelte-code-writer"] // or [] to disable all of them } ] } ``` See [Pi package filtering](https://pi.dev/docs/latest/packages#select-package-resources) for more details.