packages/shared-skills/skills/lsp-setup/references/ruby/README.md
ruby-lsp — rubocop --lsp.rb .rake .gemspec .rugem install ruby-lspNote: the builtin id is
ruby-lsp, but the executable actually invoked isrubocop(rubocop --lsp). RuboCop must be installed:gem install rubocop.
gem install rubocop (and gem install ruby-lsp for the install hint's gem)gem install rubocopgem install rubocopIn a Bundler project, prefer adding rubocop to the Gemfile and running via bundle exec.
Confirm it resolves (check rubocop, since that is what runs):
command -v rubocop
Builtin — usually NO config needed (auto-resolved by extension). Configure only to set priority, init options, override extensions, or disable. Same JSON shape in .codex/lsp-client.json (Codex) AND .opencode/lsp.json (OpenCode/omo):
{ "lsp": { "ruby-lsp": { "priority": 100 } } }
For builtin ids in a PROJECT config, command is supplied automatically — only set priority/initialization/extensions/disabled/env. A fully custom (non-builtin) server with its own command must go in the USER config (~/.codex/lsp-client.json).
None commonly required. Behavior is driven by your .rubocop.yml; the server surfaces RuboCop diagnostics, formatting, and code actions over LSP.
ruby-lsp gem server (not builtin) — the standalone Shopify Ruby LSP binary (ruby-lsp executable), richer navigation than RuboCop alone. Configure as a custom server with command: ["ruby-lsp"] in the USER config.solargraph (not builtin) — older completion/type server; install with gem install solargraph, custom command: ["solargraph", "stdio"].rubocop on PATH (that is the invoked binary, not ruby-lsp); reopen shell after install.rubocop not found: the builtin fails even if the ruby-lsp gem is installed — install RuboCop with gem install rubocop.Gemfile, run inside the bundle so versions match..rubocop.yml is valid and not disabling everything.bun ../../scripts/verify-lsp.ts path/to/file.rb