clickhouse-local-dev-loop

Configure ClickHouse local development with hot reload and testing. Use when setting up a development environment, configuring test workflows, or establishing a fast iteration cycle with ClickHouse. Trigger with phrases like "clickhouse dev setup", "clickhouse local development", "clickhouse dev environment", "develop with clickhouse".

claude-code
6 Tools
clickhouse-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEditBash(npm:*)Bash(pnpm:*)Grep

Provided by Plugin

clickhouse-pack

Claude Code skill pack for ClickHouse (24 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the clickhouse-pack plugin:

/plugin install clickhouse-pack@claude-code-plugins-plus

Click to copy

Instructions

ClickHouse Local Dev Loop

Overview

Set up a fast, reproducible local development workflow for ClickHouse.

Prerequisites

  • Completed clickhouse-install-auth setup
  • Node.js 18+ with npm/pnpm
  • Code editor with TypeScript support
  • Git for version control

Instructions

Step 1: Create Project Structure


my-clickhouse-project/
├── src/
│   ├── clickhouse/
│   │   ├── client.ts       # ClickHouse client wrapper
│   │   ├── config.ts       # Configuration management
│   │   └── utils.ts        # Helper functions
│   └── index.ts
├── tests/
│   └── clickhouse.test.ts
├── .env.local              # Local secrets (git-ignored)
├── .env.example            # Template for team
└── package.json

Step 2: Configure Environment


# Copy environment template
cp .env.example .env.local

# Install dependencies
npm install

# Start development server
npm run dev

Step 3: Setup Hot Reload


{
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "test": "vitest",
    "test:watch": "vitest --watch"
  }
}

Step 4: Configure Testing


import { describe, it, expect, vi } from 'vitest';
import { ClickHouseClient } from '../src/clickhouse/client';

describe('ClickHouse Client', () => {
  it('should initialize with API key', () => {
    const client = new ClickHouseClient({ apiKey: 'test-key' });
    expect(client).toBeDefined();
  });
});

Output

  • Working development environment with hot reload
  • Configured test suite with mocking
  • Environment variable management
  • Fast iteration cycle for ClickHouse development

Error Handling

Error Cause Solution
Module not found Missing dependency Run npm install
Port in use Another process Kill process or change port
Env not loaded Missing .env.local Copy from .env.example
Test timeout Slow network Increase test timeout

Examples

Mock ClickHouse Responses


vi.mock('@clickhouse/sdk', () => ({
  ClickHouseClient: vi.fn().mockImplementation(() => ({
    // Mock methods here
  })),
}));

Debug Mode


# Enable verbose logging
DEBUG=CLICKHOUSE=* npm run dev

Resources

Next Steps

See clickhouse-sdk-patterns for production-ready code patterns.

Ready to use clickhouse-pack?