LSP Support
Overview
Rimuru's Language Server Protocol (LSP) integration provides intelligent code assistance directly in your editor. Get agent-powered completions, diagnostics, and workflow validation as you type.
Supported Editors
| Editor | Status | Installation |
|---|---|---|
| VS Code | ✅ Stable | Install from marketplace |
| Neovim | ✅ Stable | Via native LSP client |
| Emacs | ✅ Stable | Via lsp-mode or eglot |
| JetBrains | 🚧 Beta | Via LSP plugin |
| Helix | ✅ Stable | Built-in LSP support |
Installing the LSP
VS Code
# From the marketplace
ext install rimuru.rimuru-lsp
# Or via CLI
code --install-extension rimuru.rimuru-lspNeovim (lspconfig)
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'yaml', 'rimuru' },
callback = function()
vim.lsp.start({
name = 'rimuru',
cmd = { 'rimuru', 'lsp' },
})
end,
})Emacs (eglot)
(add-to-list 'eglot-server-programs
'((yaml-mode rimuru-mode) . ("rimuru" "lsp")))Features
Workflow Validation
Real-time validation of workflow YAML files:
- Syntax checking
- Agent reference validation
- MCP server connection verification
- Workflow cycle detection
Autocompletion
Smart completions for:
- Agent names and parameters
- Workflow triggers and actions
- MCP server tools
- Configuration keys
Diagnostics
Inline diagnostics for:
- Configuration errors
- Missing dependencies
- Deprecated features
- Security vulnerabilities
Hover Information
Hover over any element to see:
- Agent capabilities and temperature
- Tool descriptions and parameters
- Configuration documentation
- Memory/state information
Code Actions
Quick fixes and refactoring:
- Auto-import missing agents
- Fix configuration paths
- Convert between YAML and JSON
- Optimize workflow structure
Configuration
{
"rimuru.lsp.enabled": true,
"rimuru.lsp.trace.server": "off",
"rimuru.lsp.maxNumberOfProblems": 100,
"rimuru.lsp.agentSuggestions": true
}Troubleshooting
- LSP not starting — Ensure
rimuruis in your PATH - No completions — Check that the LSP server is running:
rimuru lsp --check - Slow responses — Reduce
maxNumberOfProblemssetting - Editor integration issues — File an issue on GitHub