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

EditorStatusInstallation
VS Code✅ StableInstall from marketplace
Neovim✅ StableVia native LSP client
Emacs✅ StableVia lsp-mode or eglot
JetBrains🚧 BetaVia LSP plugin
Helix✅ StableBuilt-in LSP support

Installing the LSP

VS Code

# From the marketplace
ext install rimuru.rimuru-lsp

# Or via CLI
code --install-extension rimuru.rimuru-lsp

Neovim (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 rimuru is in your PATH
  • No completions — Check that the LSP server is running: rimuru lsp --check
  • Slow responses — Reduce maxNumberOfProblems setting
  • Editor integration issuesFile an issue on GitHub