setup

Usa esta habilidad antes de ejecutar cualquiera de los scripts npm run test:* , npm run lint , npm run typecheck , o npm run build en un checkout nuevo (o después de extraer cambios que afecten los archivos package.json).

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

clickhouse-js Repository Setup

Use this skill before running any of the npm run test:*, npm run lint, npm run typecheck, or npm run build scripts in a fresh checkout (or after pulling changes that touch package.json files).

Prerequisites

  • Node.js 22 recommended (matches .nvmrc). The root package.json declares "engines": { "node": ">=20.19.0" }, and CI tests Node 20, 22, 24, and 26.
  • Docker with the Compose plugin (docker compose ...). Required only for integration tests and any example that talks to a real server.

1. Install dependencies

This is an npm workspaces repo (packages/*), with two additional independent example packages (examples/node, examples/web) that have their own package.json and are not part of the workspaces.

Install all three:

npm install
npm --prefix examples/node install
npm --prefix examples/web install

The root postinstall script patches node_modules/parquet-wasm/package.json; it runs automatically as part of npm install.

2. Build the workspace packages

The workspace packages (@clickhouse/client-common, @clickhouse/client, @clickhouse/client-web) must be built before some tests, examples, and typechecks can resolve their inter-package imports:

npm run build

This runs build in every workspace package.

3. Start ClickHouse (only for integration tests / examples)

Unit tests do not need a server. Integration tests (npm run test:*:integration*) and the example runners do.

From the repo root:

docker compose up -d

This starts both the single-node setup (clickhouse on 8123/9000, clickhouse_tls on 8443/9440) and the two-node cluster (clickhouse1, clickhouse2, plus the nginx round-robin entrypoint on 8127). All services use non-overlapping ports so a single up -d covers every integration test mode.

To override the server version, set CLICKHOUSE_VERSION when starting Compose; for example: CLICKHOUSE_VERSION=head docker compose up -d, CLICKHOUSE_VERSION=latest docker compose up -d, or CLICKHOUSE_VERSION=24.8 docker compose up -d to use an explicit version tag.

4. Verify

After the steps above you can run, for example:

  • npm run lint — lint every workspace package
  • npm run typecheck — typecheck every workspace package
  • npm run test:node:unit / npm run test:web:unit — unit tests, no server required
  • npm run test:node:integration / npm run test:web:integration — integration tests, server required
  • From examples/node or examples/web: npm run lint, npm run typecheck, npm run run-examples

See npm run from the repo root for the full list of test scripts.

Más skills de clickhouse

clickhouse-best-practices
clickhouse
28 reglas de mejores prácticas de ClickHouse organizadas por diseño de esquema, optimización de consultas y estrategia de ingesta de datos. Cubre tres áreas críticas: selección de clave primaria y tipo de datos (decisiones de diseño inmutables), optimización de JOIN y consultas, y agrupación de inserciones con evitación de mutaciones. Incluye 28 reglas priorizadas por impacto, con reglas de diseño de esquema y optimización de consultas marcadas como CRÍTICAS debido al almacenamiento columnar y los mecanismos de índices dispersos de ClickHouse. Proporciona procedimientos de revisión estructurados para...
official
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…
official
clickhousectl-cloud-deploy
clickhouse
Usar cuando un usuario quiera implementar ClickHouse en la nube, pasar a producción, usar ClickHouse Cloud, alojar un servicio administrado de ClickHouse o migrar desde un entorno local…
official
clickstack-otel-collector
clickhouse
Use when a user wants to wire an OpenTelemetry collector into a Managed ClickStack service on ClickHouse Cloud, either by deploying a new local collector…
official
infra-clickhouse
clickhouse
Configura y administra ClickHouse mediante la CLI de clickhousectl: instala y ejecuta un servidor local de ClickHouse para desarrollo, y crea instancias administradas de ClickHouse Cloud…
official
infra-postgres
clickhouse
Sets up and manages Postgres using the clickhousectl CLI — runs a local Docker-backed Postgres for development, and creates and operates managed ClickHouse…
official
clickhouse-best-practices
clickhouse
DEBE USARSE al revisar esquemas, consultas o configuraciones de ClickHouse. Contiene 31 reglas que DEBEN verificarse antes de proporcionar recomendaciones. Siempre leer…
official
setup
clickhouse
Guía a los usuarios en la configuración de la conexión del servidor ClickHouse MCP incluido con este plugin. Úsalo cuando el usuario instale el plugin por primera vez o tenga problemas…
official