| name | lsp |
| description | Configure LSP language servers for real-time diagnostics after code edits |
| slash | lsp |
| aliases | diagnostics |
Kraken has built-in LSP integration that provides real-time diagnostics (errors, warnings) after every file edit. Language servers start lazily when you first edit a file of that language.
Built-in Servers
| Name | Command | Extensions | Requires |
|---|
| typescript | typescript-language-server --stdio | .ts .tsx .js .jsx | npm i -g typescript-language-server typescript |
| rust | rust-analyzer | .rs | rustup component add rust-analyzer |
| python | pyright-langserver --stdio | .py .pyi | npm i -g pyright |
| go | gopls serve | .go | go install golang.org/x/tools/gopls@latest |
Built-in servers are auto-detected. If the binary is not installed, the server is silently skipped.
Adding a Custom Server
Edit ~/.kraken/kraken.jsonc and add an entry under the lsp key:
{
"lsp": {
"elixir": {
"command": ["elixir-ls"],
"extensions": [".ex", ".exs"]
},
"zig": {
"command": ["zls"],
"extensions": [".zig"]
},
"svelte": {
"command": ["svelteserver", "--stdio"],
"extensions": [".svelte"]
},
"tailwindcss": {
"command": ["tailwindcss-language-server", "--stdio"],
"extensions": [".css", ".html"]
}
}
}
Requirements for custom servers:
- Must support
--stdio transport (stdin/stdout JSON-RPC)
- Must support
textDocument/publishDiagnostics notifications
- Binary must be in PATH
Disabling Servers
Disable all LSP:
{ "lsp": false }
Disable a specific server:
{
"lsp": {
"typescript": { "enabled": false }
}
}
How It Works
- You edit/write a file via tools
- Kraken detects the file extension and starts the appropriate LSP server (if not running)
- File content is sent to the server via
textDocument/didChange
- Server responds with
textDocument/publishDiagnostics
- Errors and warnings are appended to the tool result
- You (the agent) see them immediately and can fix issues
Common Server Install Commands
npm i -g typescript-language-server typescript
npm i -g pyright
rustup component add rust-analyzer
go install golang.org/x/tools/gopls@latest
npm i -g svelte-language-server
npm i -g @vue/language-server
npm i -g @tailwindcss/language-server
npm i -g yaml-language-server
npm i -g bash-language-server
npm i -g dockerfile-language-server-nodejs
When to Use This Skill
- The user asks to set up diagnostics for a language not in the built-in list
- The user wants to configure or disable LSP servers
- You need to install a language server binary