---
title: Getting Started
description: Set up chkit from an example or add it to an existing project.
sidebar:
  order: 0
  label: Overview
---

import { LinkCard, CardGrid } from '@astrojs/starlight/components';
import CopyPromptButton from '../../../components/CopyPromptButton.astro';

chkit manages ClickHouse schemas and migrations in TypeScript and Python, and ingests application APIs through TypeScript streams. Pick the path that matches what you're working on.

For API data, start with the [API sync quickstart](/api-sync/quickstart/) or [install the authoring skill](/api-sync/agent-skill/).

:::note[Working in Python?]
Install [chkit-py](/python/overview/) with `pip install chkit-py`. Use the Python tabs in the schema and CLI reference pages.
:::

## Let an agent set it up

Paste this prompt into your coding agent to install chkit, configure the project, and prepare the first migration. The prompt links to the [agent instructions](/ai-agents/).

<CopyPromptButton prompt="Set up chkit (ClickHouse schema management) in this repo. First fetch https://chkit.obsessiondb.com/ai-agents.md and follow the instructions there: install the agent skill, scaffold the config, recommend any plugins this project needs, and walk me through the first migration. Don't apply anything to the database without confirming with me first." />

For manual setup, start with an example or add chkit to an existing project.

<CardGrid>
  <LinkCard
    title="Start with an example"
    href="/getting-started/with-an-example/"
    description="Scaffold the hello example with create-chkit: two tables and one migration. ClickBench stays available for a full dataset load."
  />
  <LinkCard
    title="Add to an existing project"
    href="/getting-started/add-to-existing-project/"
    description="Install chkit in a TypeScript or Python project and prepare the first migration."
  />
</CardGrid>

## Prerequisites

Both paths need the same baseline:

- Node.js 20+ or Bun 1.3.5+
- A ClickHouse endpoint (`CLICKHOUSE_URL`, optionally `CLICKHOUSE_USER`, `CLICKHOUSE_PASSWORD`): ClickHouse 24.x or newer (see [compatibility](/guides/clickhouse-compatibility/)). The [example path](/getting-started/with-an-example/) can claim a free ObsessionDB dev instance from the scaffold prompt instead.

## Where to next

Once either path is working:

- [The migration workflow](/guides/migration-workflow/): how generate, snapshot, and migrate fit together, and what to commit
- [CLI reference](/cli/overview/): every command, flag, and expected output
- [Configuration](/configuration/overview/): wire up `clickhouse.config.ts`
- [Schema DSL](/schema/dsl-reference/): define tables, views, materialized views, and dictionaries
- [Troubleshooting](/guides/troubleshooting/): fixes for common errors if a command fails
