Skip to content

Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272

Open
brunoborges wants to merge 3 commits intostagedfrom
skill/lsp-setup
Open

Add lsp-setup skill for configuring LSP servers in Copilot CLI#1272
brunoborges wants to merge 3 commits intostagedfrom
skill/lsp-setup

Conversation

@brunoborges
Copy link
Copy Markdown
Contributor

Summary

Adds a new lsp-setup skill that guides users through installing and configuring Language Server Protocol (LSP) servers for GitHub Copilot CLI.

What it does

The skill provides an interactive workflow:

  1. Asks which language(s) the user wants LSP support for
  2. Detects the user's OS (macOS / Linux / Windows)
  3. Installs the appropriate LSP server
  4. Writes the lsp-config.json configuration (user-level or repo-level)
  5. Verifies the setup

Included languages

Bundled reference data covers 14 languages with per-OS install commands and ready-to-use config snippets:

Language LSP Server
TypeScript / JavaScript typescript-language-server
Java Eclipse JDT Language Server (jdtls)
Python pylsp / Pyright
Go gopls
Rust rust-analyzer
C / C++ clangd
C# csharp-ls
Ruby solargraph
PHP intelephense
Kotlin kotlin-language-server
Swift sourcekit-lsp
Lua lua-language-server
YAML yaml-language-server
Bash bash-language-server

Files changed

  • skills/lsp-setup/SKILL.md — skill definition and agent instructions
  • skills/lsp-setup/references/lsp-servers.md — bundled reference data
  • docs/README.skills.md — auto-generated (via npm run build)

Validation

  • npm run skill:validate — all 272 skills valid
  • npm run build — README and marketplace regenerated
  • bash scripts/fix-line-endings.sh — line endings normalized

Adds a new skill that helps users install and configure Language Server
Protocol servers for GitHub Copilot CLI. Includes:

- Interactive workflow: detect OS, install server, write config, verify
- Bundled reference with 14 languages (Java/jdtls, TypeScript, Python,
  Go, Rust, C/C++, C#, Ruby, PHP, Kotlin, Swift, Lua, YAML, Bash)
- Per-OS install commands and ready-to-use lsp-config.json snippets
- Support for both user-level and repo-level configuration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@brunoborges brunoborges requested a review from aaronpowell as a code owner April 2, 2026 19:21
Copilot AI review requested due to automatic review settings April 2, 2026 19:22
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🔍 Skill Validator Results

2 resource(s) checked | ✅ All checks passed

Full output
Found 1 skill(s)
[lsp-setup] 📊 lsp-setup: 815 BPE tokens [chars/4: 830] (detailed ✓), 6 sections, 1 code blocks
�[32m✅ All checks passed (1 skill(s))�[0m

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new lsp-setup skill to help users install/configure Language Server Protocol (LSP) servers for GitHub Copilot CLI, including bundled per-language install guidance and example configuration snippets.

Changes:

  • Add skills/lsp-setup skill instructions describing an interactive LSP setup workflow and config locations/format.
  • Add bundled reference data (references/lsp-servers.md) covering install commands + config snippets for 14 languages.
  • Update docs/README.skills.md to include the new skill entry.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
skills/lsp-setup/SKILL.md Defines the LSP setup workflow, config locations, and expected JSON structure.
skills/lsp-setup/references/lsp-servers.md Provides per-language install commands and config snippets used by the skill.
docs/README.skills.md Registers the new skill in the skills index.
Comments suppressed due to low confidence (1)

skills/lsp-setup/SKILL.md:28

  • This section lists only ~/.copilot/lsp-config.json and .github/lsp.json as config locations, but the Learning Hub plugin docs also mention lsp.json at the repo root as a valid location. If root lsp.json is supported, include it here (and in the scope question) so the skill doesn’t omit a documented option.
Copilot CLI reads LSP configuration from two locations (repo-level takes precedence):

- **User-level**: `~/.copilot/lsp-config.json`
- **Repo-level**: `.github/lsp.json`

- Update SKILL.md description to mention both config paths (user-level
  and repo-level) instead of only lsp-config.json
- Clarify workflow step 6 with explicit file paths
- Add note in references/lsp-servers.md explaining snippets are objects
  to insert under the lspServers key
- Regenerate docs/README.skills.md with updated description

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment on lines +24 to +28
Copilot CLI reads LSP configuration from two locations (repo-level takes precedence):

- **User-level**: `~/.copilot/lsp-config.json`
- **Repo-level**: `.github/lsp.json`

Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The skill only offers repo-level config at .github/lsp.json, but repo docs also mention lsp.json at the repo root as a valid location for LSP server configs. Consider offering both options (and clarifying precedence) so users don’t end up writing to a path Copilot CLI won’t read in their setup.

Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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