typescript-lsp

Use the TypeScript language server (`typescript-language-server`) for precise code intelligence in the `clickhouse-js` repository: go-to-definition, find…

npx skills add https://github.com/clickhouse/clickhouse-js --skill typescript-lsp

TypeScript Language Server in clickhouse-js

typescript-language-server is declared as a root devDependency, so after npm install (see the setup skill) it is available via npx and uses the workspace-local typescript (6.x) compiler, matching CI exactly.

Starting the server

From the repo root:

npx typescript-language-server --stdio

It speaks LSP (JSON-RPC, Content-Length-framed) over stdio. There is no extra configuration: each packages/* workspace, tests/clickhouse-test-runner, examples/node, and examples/web has its own tsconfig.json, and the server picks the nearest one per opened file automatically.

Protocol essentials

  1. Send initialize with rootUri/workspaceFolders pointing at the repo root, then the initialized notification.
  2. Send textDocument/didOpen with the full file text for every file you want to query (the server reads dependencies from disk on its own; only files you query positions in need to be opened).
  3. Positions are 0-based (line and character).

Verified capabilities (typescript-language-server 5.x, TS 6.x)

RequestNotes
textDocument/hoverReturns the full inferred signature + JSDoc markdown
textDocument/definitionResolves across workspace packages via source, not dist/
textDocument/referencesWithin the opened file's project
workspace/symbole.g. query ClickHouseClient finds class + re-exports
textDocument/completionContext-aware member completions
DiagnosticsPush only (textDocument/publishDiagnostics notifications, sent ~1–3s after didOpen). The pull textDocument/diagnostic request is not supported (-32601) — wait for the push notification instead.

Tips

  • If your environment provides built-in LSP/code-intelligence tooling, point it at npx typescript-language-server --stdio with the repo root as the workspace folder.
  • For one-off scripted queries, spawn the server from Node, frame messages with Content-Length: <bytes>\r\n\r\n<json>, and match responses by id.
  • A full workspace typecheck is still npm run build && npm run typecheck (build first — some workspaces import compiled dist/ outputs); the LSP is for targeted, interactive queries, not for CI-equivalent validation.

Больше skills от clickhouse

clickhouse-best-practices
clickhouse
28 правил лучших практик ClickHouse, организованных по проектированию схемы, оптимизации запросов и стратегии загрузки данных. Охватывает три критически важные области: выбор первичного ключа и типов данных (неизменяемые проектные решения), оптимизация JOIN и запросов, а также пакетная вставка с избеганием мутаций. Включает 28 правил, приоритизированных по влиянию, причем правила проектирования схемы и оптимизации запросов помечены как КРИТИЧЕСКИЕ из-за колоночного хранения ClickHouse и механики разреженных индексов. Предоставляет структурированные процедуры проверки для...
clickhouse-js-node-coding
clickhouse
Ссылка: https://clickhouse.com/docs/integrations/javascript
clickhouse-js-node-coding
clickhouse
Write idiomatic application code with the ClickHouse Node.js client (`@clickhouse/client`). Use this skill whenever a user is *building* against the Node.js…
clickhousectl-cloud-deploy
clickhouse
Используйте, когда пользователь хочет развернуть ClickHouse в облаке, перейти в продакшн, использовать ClickHouse Cloud, разместить управляемый сервис ClickHouse или мигрировать с локального…
clickstack-otel-collector
clickhouse
Используйте, когда пользователь хочет подключить коллектор OpenTelemetry к управляемому сервису ClickStack в ClickHouse Cloud, либо развернув новый локальный коллектор…
infra-clickhouse
clickhouse
Настраивает и управляет ClickHouse с помощью CLI clickhousectl — устанавливает и запускает локальный сервер ClickHouse для разработки, а также создаёт управляемые облачные инстансы ClickHouse Cloud…
infra-postgres
clickhouse
Настраивает и управляет Postgres с помощью CLI clickhousectl — запускает локальный Postgres на базе Docker для разработки, а также создаёт и управляет управляемым ClickHouse…
clickhouse-best-practices
clickhouse
ОБЯЗАТЕЛЬНО использовать при проверке схем ClickHouse, запросов или конфигураций. Содержит 31 правило, которое ОБЯЗАТЕЛЬНО нужно проверить перед предоставлением рекомендаций. Всегда читать…