Skip to content

feat: add Claude Code marketplace and dexter-lsp plugin#59

Open
pquadri wants to merge 5 commits into
remoteoss:mainfrom
pquadri:docs/claude-code-lsp-setup
Open

feat: add Claude Code marketplace and dexter-lsp plugin#59
pquadri wants to merge 5 commits into
remoteoss:mainfrom
pquadri:docs/claude-code-lsp-setup

Conversation

@pquadri
Copy link
Copy Markdown

@pquadri pquadri commented May 5, 2026

Summary

Turns the dexter repo into a Claude Code marketplace, so users can install Dexter as their Elixir LSP in Claude Code with just two commands:

claude plugin marketplace add remoteoss/dexter
claude plugin install dexter-lsp@dexter

Changes

  • .claude-plugin/marketplace.json — makes this repo a Claude Code marketplace named dexter
  • plugins/dexter-lsp/.claude-plugin/plugin.json — plugin manifest that wires up dexter lsp for .ex, .exs, and .heex files, with followDelegates and debug exposed as user-configurable options
  • README.md — adds a Claude Code section to the editor setup docs

How it works

Claude Code's LSP tool supports a plugin system. The lspServers entry in plugin.json tells Claude Code to spawn dexter lsp when opening Elixir files, giving it go-to-definition, hover docs, find references, workspace symbols, and more.

Test plan

  • claude plugin marketplace add remoteoss/dexter succeeds
  • claude plugin install dexter-lsp@dexter succeeds
  • Open an Elixir project — LSP tool resolves hover and go-to-definition on .ex files
  • userConfig prompts appear for followDelegates and debug on install

Note

Low Risk
Low risk: mainly adds plugin/README metadata and only loosens Initialize option parsing to accept string booleans for followDelegates/debug.

Overview
Enables installing Dexter as an Elixir LSP in Claude Code by adding a repo-level .claude-plugin/marketplace.json and a dexter-lsp plugin manifest that launches dexter lsp for .ex, .exs, and .heex files with user-configurable followDelegates and debug.

Updates the LSP server Initialize path to accept boolean initialization options provided as either JSON booleans or string values (e.g. from Claude Code template substitution), and expands tests to cover default behavior and the new coercion cases. Documentation is updated with Claude Code setup and install commands.

Reviewed by Cursor Bugbot for commit 06e9523. Bugbot is set up for automated code reviews on this repo. Configure here.

pquadri added 2 commits May 5, 2026 16:51
Explains how to wire up Dexter as the Elixir LSP for Claude Code's LSP
tool (go-to-definition, hover docs, find references) using a local plugin
manifest.
Turns the dexter repo into a Claude Code marketplace so users can install
Dexter as their Elixir LSP with two commands:

  claude plugin marketplace add remoteoss/dexter
  claude plugin install dexter-lsp@dexter

The plugin wires up `dexter lsp` for .ex/.exs/.heex files and exposes
followDelegates and debug as user-configurable options.
@pquadri pquadri changed the title docs: add Claude Code LSP setup guide feat: add Claude Code marketplace and dexter-lsp plugin May 5, 2026
Comment thread plugins/dexter-lsp/.claude-plugin/plugin.json Outdated
@JesseHerrick JesseHerrick self-requested a review May 6, 2026 04:04
@JesseHerrick
Copy link
Copy Markdown
Member

Thanks for the PR @pquadri! I think this is a great addition. Going to sleep on whether to keep this in the same repo or in a different one. If you have any docs on the matter, I'd also be glad to read them. Should be able to merge this tomorrow.

"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "dexter-lsp",
"description": "Dexter language server for Elixir (.ex, .exs, .heex)",
"version": "0.6.0",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say that this would be the version of the plugin itself, no? So v0.1

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 305f540. Configure here.

Comment thread plugins/dexter-lsp/.claude-plugin/plugin.json
Comment thread plugins/dexter-lsp/.claude-plugin/plugin.json
Claude Code plugin template substitution (${user_config.X}) always
produces a JSON string even when the userConfig type is "boolean".
The strict `.(bool)` type assertions silently dropped the user's
followDelegates/debug settings, leaving them stuck at hardcoded defaults.

Add a coerceBool helper that accepts both native bool and string forms
("true"/"false"/"1"/"0"). Expand the initializationOptions test to call
server.Initialize and cover both forms.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants