By daig
TypeScript LSP with full-workspace findReferences. Drop-in replacement for the official typescript-lsp plugin — auto-discovers all tsconfig.json projects at startup so findReferences and incomingCalls search the entire workspace.
npx claudepluginhub daig/ts-lspTypeScript LSP plugin for Claude Code with full-workspace findReferences support.
Drop-in replacement for the official typescript-lsp plugin. Auto-discovers all tsconfig.json projects at startup and forces TSServer to load them, so findReferences and incomingCalls search the entire workspace instead of just the nearest project.
TSServer only loads projects for files that have been explicitly opened. In monorepos with many packages, this means findReferences only searches a fraction of the codebase. This plugin fixes that by opening one entry file per tsconfig.json project during initialization.
npm install -g typescript-language-server typescript
Both must be available on your PATH.
If available in your Claude Code plugin marketplace, enable ts-lsp and disable the official typescript-lsp.
claude --plugin-dir ~/path/to/ts-lsp
Or add to your Claude Code settings:
{
"plugins": {
"ts-lsp": { "source": "local", "path": "~/path/to/ts-lsp" }
}
}
Make sure to disable the official TypeScript LSP plugin to avoid conflicts.
.lsp.jsontypescript-language-server --stdio as a child processinitialize request to extract workspace root(s)initialized, it walks the workspace to find all tsconfig.json filestextDocument/didOpen notificationFor each tsconfig.json directory, the proxy tries these candidates in order:
src/index.tssrc/index.dts.tssrc/main.tssrc/index.tsxsrc/main.tsxindex.tsmain.tsindex.tsxmain.tsx.ts/.tsx file in src/.ts/.tsx file in the directoryThe walker skips: node_modules, dist, .git, build, out, .next, .nuxt, .cache, coverage, .turbo, .nx, and any directory starting with .
All configuration is via environment variables:
| Variable | Default | Purpose |
|---|---|---|
TS_LSP_DEBUG | off | Log discovery and didOpen activity to stderr |
TS_LSP_MAX_FILES | 250 | Maximum files to open during warmup |
TS_LSP_BATCH_SIZE | 5 | Files per didOpen batch |
TS_LSP_BATCH_DELAY | 50 | Milliseconds between batches |
To enable debug logging, set the environment variable before launching Claude Code:
TS_LSP_DEBUG=1 claude
| Feature | Official typescript-lsp | ts-lsp |
|---|---|---|
Spawns typescript-language-server | Yes | Yes |
| Language mappings | .ts, .tsx, .js, .jsx | + .mts, .cts, .mjs, .cjs |
| Monorepo workspace loading | Only opened files | All tsconfig.json projects |
findReferences coverage | Partial (nearest project) | Full workspace |
| Dependencies | None | None |
| Overhead for single-project repos | N/A | Negligible (opens 1 file) |
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Comprehensive collection of specialized Rust development agents with Claude Code best practices. Includes rust-teamlead agent and rust-team skill for multi-agent collaborative development via Claude Code experimental agent teams. rust-analyzer LSP integration for real-time code intelligence. Handoff protocol via rust-agent-handoff skill for context sharing. Adversarial critic agent for stress-testing designs. Updated for Rust Edition 2024 and modern tooling.
Official .NET language server with rich C# support
Perl language support via PerlNavigator LSP