feat(.claude-plugin): extract LSP servers into individual plugin packages#89
Conversation
…ages Split each LSP server into its own standalone plugin under plugins/ directory. Each plugin contains its own .claude-plugin/plugin.json with lspServers config, enabling users to install only the language servers they need. - Add 28 new LSP plugin packages (astro, bash, biome, clangd, csharp, dart, deno, dockerfile, elixir, fsharp, gleam, gopls, jdtls, kotlin, lua, ocaml, oxlint, php, prisma, pyright, rubocop, rust-analyzer, svelte, swift, terraform, texlab, yaml, zls) - Remove lspServers field from core plugin.json (core handles CLI/hooks only) - Update marketplace.json to register all new plugins, remove graphql-lsp - Update settings.json marketplace name from code-please to code-intelligence
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the project's architecture by modularizing Language Server Protocol (LSP) integrations. Instead of a monolithic core plugin managing multiple LSP servers, each server is now encapsulated within its own dedicated plugin. This change enhances flexibility, allowing users to selectively install only the language support they require, thereby reducing overhead and improving customization. The core plugin is now streamlined to handle only fundamental CLI and hook functionalities. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
1 issue found across 31 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".claude/settings.json">
<violation number="1" location=".claude/settings.json:26">
P1: The enabled plugin is registered under the wrong marketplace name (`claude-intelligence` vs `code-intelligence`), which can prevent `typescript-lsp` from being found and loaded.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
Code Review
This pull request refactors the LSP server configurations by extracting them from the core plugin into individual, standalone plugin packages. This is a significant architectural improvement that will allow users to install only the language servers they need. The changes include updating the marketplace to register 28 new LSP plugins, removing the lspServers configuration from the core plugin, and creating new plugin packages for each server. My review focuses on ensuring consistency in the new plugin definitions and improving maintainability. I've suggested sorting the plugins in the marketplace file and pinning the dependency version in the new plugin configurations for better stability.
Note: Security Review has been skipped due to the limited scope of the PR.
claude-intelligence → code-intelligence to match extraKnownMarketplaces key
- Pin @pleaseai/code version from ^0.1.0 to 0.1.19 in all LSP plugin.json files for stability - Sort plugins array alphabetically in marketplace.json for better maintainability - Update rust-analyzer-lsp description to "Rust Language Server (rust-analyzer)" for consistency
|
✅ @amondnet님의 요청을 완료했습니다 (2m 1s) —— View job Changes Verified ✅
All applied changes look correct. Here's a quick verification of what was done in Version Pinning ( Marketplace Name ( Marketplace sorting + Rust description — ✅ Confirmed One pre-existing issue to note (not introduced by this PR):
|
Summary
plugins/directory.claude-plugin/plugin.jsonwithlspServersconfig, enabling users to install only the language servers they needlspServersfield from coreplugin.jsonso the core plugin now only handles CLI/hooksChanges
New plugin packages (28 total):
plugins/astro-lsp- Astro Language Serverplugins/bash-lsp- Bash Language Serverplugins/biome-lsp- Biome Linter/Formatterplugins/clangd-lsp- C/C++ (clangd) Language Serverplugins/csharp-lsp- C# Language Serverplugins/dart-lsp- Dart Language Serverplugins/deno-lsp- Deno Language Serverplugins/dockerfile-lsp- Dockerfile Language Serverplugins/elixir-lsp- Elixir Language Serverplugins/fsharp-lsp- F# Language Serverplugins/gleam-lsp- Gleam Language Serverplugins/gopls-lsp- Go Language Serverplugins/jdtls-lsp- Java (jdtls) Language Serverplugins/kotlin-lsp- Kotlin Language Serverplugins/lua-lsp- Lua Language Serverplugins/ocaml-lsp- OCaml Language Serverplugins/oxlint-lsp- Oxlint Linterplugins/php-lsp- PHP Language Serverplugins/prisma-lsp- Prisma Language Serverplugins/pyright-lsp- Python (Pyright) Language Serverplugins/rubocop-lsp- Ruby (RuboCop) Language Serverplugins/rust-analyzer-lsp- Rust Language Serverplugins/svelte-lsp- Svelte Language Serverplugins/swift-lsp- Swift Language Serverplugins/terraform-lsp- Terraform Language Serverplugins/texlab-lsp- LaTeX Language Serverplugins/yaml-lsp- YAML Language Serverplugins/zls-lsp- Zig Language ServerUpdated files:
.claude-plugin/marketplace.json- Register all 28 new plugins, remove graphql-lsp, update descriptions.claude-plugin/plugin.json- RemovelspServersfield (core plugin now only handles CLI/hooks).claude/settings.json- Update marketplace name fromcode-pleasetocode-intelligenceTest Plan
plugin.jsonis valid JSON with correctlspServersconfigSummary by cubic
Split all LSP servers into 28 standalone plugins so you can install only the languages you need. The core plugin now handles only MCP/CLI and no longer registers any LSP servers.
Refactors
Migration
Written for commit 90f0a91. Summary will update on new commits.