This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a collection of LSP (Language Server Protocol) plugins for Claude Code. Each plugin enables language intelligence features (go-to-definition, find-references, hover, diagnostics) for a specific programming language.
Each plugin is a self-contained directory with this structure:
<plugin-name>/
├── .claude-plugin/
│ └── plugin.json # Plugin metadata
├── .lsp.json # LSP server configuration (auto-discovered)
└── hooks/
├── hooks.json # Hook definitions (auto-discovered, runs on SessionStart)
└── check-<name>.sh # Auto-install script for the LSP binary
Configures the language server. Only required fields:
command: The LSP binary to executeextensionToLanguage: Maps file extensions to language IDs
Optional: args, loggingConfig (for debug logging support)
Auto-install scripts that run on session start. Pattern:
- Check if LSP binary exists → exit silently if yes
- Check if language runtime exists → show install instructions if no
- Attempt auto-install → show PATH instructions if needed
- Create a new directory with the plugin name
- Add
.claude-plugin/plugin.jsonwith name, description, version, and author - Add
.lsp.jsonwith command and extensionToLanguage mapping - Add
hooks/hooks.jsonto run auto-install on SessionStart - Add
hooks/check-<name>.shauto-install script - Update README.md: add to Available Plugins table and Manual Installation section
Note: .lsp.json and hooks/hooks.json are auto-discovered from default locations - no need to reference them in plugin.json.
Plugins that support args/env-based logging should include loggingConfig:
- Args-based:
"loggingConfig": { "args": ["--verbose"] } - Env-based:
"loggingConfig": { "env": { "DEBUG": "true" } }
Use ${CLAUDE_PLUGIN_LSP_LOG_FILE} for log file paths.
- Official LSP docs
- Requires Claude Code 2.0.74+