> ## Documentation Index
> Fetch the complete documentation index at: https://docs.collab-kit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Build real-time collaborative apps and agents in minutes.

# What is CollabKit?

CollabKit is a real-time collaboration platform that helps you build multiplayer experiences. It provides a **server** and a **client SDK** (for the browser) that handle the hard parts of real-time collaboration so you can focus on the product.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Get up and running in under 5 minutes.
  </Card>

  <Card title="Client SDK" icon="code" href="/sdk/overview">
    Explore the browser SDK modules.
  </Card>

  <Card title="API Reference" icon="square-terminal" href="/api-reference/overview">
    Full HTTP API documentation.
  </Card>

  <Card title="Guides" icon="book-open" href="/guides/cursor-tracking">
    Practical tutorials and examples.
  </Card>

  <Card title="Limits and Benchmarks" icon="gauge-high" href="/limits-and-benchmarks">
    Review operational limits, SLAs, and benchmark targets.
  </Card>
</CardGroup>

## Key Features

| Feature              | Description                                                                          |
| -------------------- | ------------------------------------------------------------------------------------ |
| **Users Management** | Manage participants, track online/offline status in real-time.                       |
| **Follow Users**     | Let users follow each other's cursors and actions in real-time.                      |
| **Presence**         | Share ephemeral state (cursors, selections, scroll positions) with 50ms throttling.  |
| **Stores**           | Schema-driven, type-safe KV stores synced across all connected clients in real time. |
| **Version Control**  | Track changes per user and roll back to previous versions.                           |
| **CRDT (Yjs)**       | Optional Yjs provider for conflict-free collaborative editing.                       |
| **Comments**         | Threaded comments with replies, reactions, and user tagging.                         |
| **Broadcasts**       | Send custom events to all participants or specific users. Fire-and-forget messaging. |
| **File Storage**     | Upload, list, and serve files scoped to rooms via R2 object storage.                 |
| **Webhooks**         | HTTP callbacks for server-side events (user joined, session started, etc.).          |
| **Workflows**        | Run custom JavaScript in response to events via Cloudflare Workers.                  |

## Architecture

CollabKit is split into three npm packages:

```
@collab-kit/client   -- Browser SDK (WebSocket + HTTP)
@collab-kit/utils    -- Shared types, enums, and schema utilities
@collab-kit/server   -- Cloudflare Worker (Durable Objects, D1, R2, KV)
```

The **client** connects to the **server** over a WebSocket for real-time features (presence, stores, comments, broadcasts, CRDT) and uses HTTP for file storage and user creation.

The **utils** package provides shared TypeScript types and the `defineStores()` schema utility used by both client and server.

## Packages

<CardGroup cols={3}>
  <Card title="@collab-kit/client" icon="npm" href="/sdk/overview">
    Browser SDK for connecting to rooms and using collaboration features.
  </Card>

  <Card title="@collab-kit/utils" icon="npm" href="/sdk/stores#schema-definition">
    Shared types, enums, and the `defineStores()` schema utility.
  </Card>

  <Card title="@collab-kit/server" icon="server">
    Cloudflare Worker server. Self-hosted or managed.
  </Card>
</CardGroup>

## Next Steps

<Steps>
  <Step title="Sign up and get your API key">
    Create an account on the [dashboard](https://dash.collab-kit.com) and find your API key in **Settings**.
  </Step>

  <Step title="Create a room and add users">
    Use the REST API to [create a room](/api-reference/rooms/create-room) and [create users](/api-reference/users/create-user) to get a JWT token. Alternatively, you can also do this through the [dashboard](https://dash.collab-kit.com).
  </Step>

  <Step title="Install the SDK and connect">
    Install `@collab-kit/client`, pass the JWT token, and call `connect()` + `join()`.
  </Step>

  <Step title="Build collaboration features">
    Use [presence](/sdk/presence), [stores](/sdk/stores), [comments](/sdk/comments), and more.
  </Step>
</Steps>
