lspeasy-core

Build typed Language Server Protocol clients and servers with JSON-RPC framing and transports.

2|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/pradeepmouli/lspeasy --skill lspeasy-core
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lspeasy-core
Source: https://github.com/pradeepmouli/lspeasy/tree/main/skills/lspeasy-core
Command: npx skills add https://github.com/pradeepmouli/lspeasy --skill lspeasy-core

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

@lspeasy/core provides a typed, transport-agnostic foundation for building Language Server Protocol clients and servers across environments, reducing boilerplate and ensuring consistent protocol handling.

Core Features & Use Cases

  • JSON-RPC core: framing, message types, and Zod-based validation for LSP messages.
  • Transports: browser-friendly and Node.js transports to run clients/servers anywhere JavaScript runs.
  • Middleware: a middleware pipeline with typed, scope-limited middleware for request/notification handling.
  • LSP utilities: cancellation tokens, document version tracking, and helpers for incremental/full text changes.
  • Re-exported API surface: stable core primitives that other packages build upon.

Quick Start

Install @lspeasy/core and bootstrap a minimal LSP client/server using the core transports.

Frequently Asked Questions about lspeasy-core

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a typed language server protocol client in TypeScript?

A typed LSP foundation provides JSON-RPC core, transport abstractions, and middleware pipelines to build capability-aware language server protocol clients in TypeScript across browser, Node, and web-worker environments.

What is the best way to handle JSON-RPC messaging for language servers across different environments?

Using a transport-agnostic core with JSON-RPC framing and transport abstractions like WebSocket and Stdio ensures consistent LSP message handling across browser, Node, and web-worker environments.

Can I use middleware pipelines for LSP request and notification handling?

Yes, you can use a typed, scope-limited middleware pipeline specifically designed for handling LSP requests and notifications within language server protocol implementations.

Does this LSP core support browser and web-worker environments or is it limited to Node.js?

This LSP core supports browser, Node, and web-worker environments, providing browser-friendly transports like WebSocket and DedicatedWorker so clients and servers run anywhere JavaScript executes.

How do I track document versions and handle cancellation tokens in an LSP server?

You can track document versions and handle cancellations using built-in LSP utilities like DocumentVersionTracker and CancellationTokenSource, which support managing incremental and full text document changes.

What are the limitations of using a transport-agnostic LSP core foundation?

As a foundation core, it provides protocol primitives and transport abstractions but requires other packages to build upon its re-exported API surface to deliver complete, full-featured LSP tooling implementations.