lspkit-treesitter 0.0.1

LanguageParser trait + content-hash-keyed parse cache. Bundles no grammars.
Documentation

lspkit

A generic Rust workspace of cross-cutting building blocks for LSP and MCP servers, published as lspkit-* crates.

What it is

The headline contribution is the "one engine, two surfaces" contract: a single EngineApi trait that an LSP backend and an MCP server both consume, so live analysis state is computed once and vended two ways.

Crate Responsibility
lspkit Façade. EngineApi trait + supporting types. Optional tracing-setup feature.
lspkit-server Hand-rolled JSON-RPC LSP server scaffolding built on lsp-types. Capability builder, URI helpers, diagnostics fan-out, progress, cancellation.
lspkit-vfs Concurrent open-document store with rope-based incremental edits and position-encoding negotiation.
lspkit-live File-watcher → debouncer → single-flight scheduler → session lifecycle.
lspkit-mcp rmcp adapter that mounts an EngineApi impl as MCP tools, resources, and prompts.
lspkit-config Layered TOML loader generic over the consumer's config struct.
lspkit-treesitter LanguageParser trait + content-hash-keyed parse cache. Bundles no grammars.
lspkit-sidecar Framed-IPC primitives + lifecycle/health/respawn. Pure transport.

Status

v0. Public API surfaces are locked; implementations continue to land in follow-up releases.

Build

make ci      # lint + test + build (full CI simulation)
make test    # fail-fast tests + coverage + threshold
make lint    # cargo clippy -- -D warnings

Spec

Behavior contract: docs/specs/lspkit-spec.md. Execution plans: docs/plans/.

License

MIT — see LICENSE-MIT. © Nimblesite.