---
title: Entry points
description: Choose the DomainKit public entry point that matches your runtime, programming model, and React integration layer.
sidebar:
  label: Entry points
seo:
  title: DomainKit entry points
---

DomainKit publishes provider-independent core entry points and an optional React package. Public
imports come from the entry points below; internal source paths are not supported API.

## Install

```package-install
domainkit effect@rc
```

Add the React package when your product needs packaged flows or semantic parts:

```package-install
@domainkit/react @effect/atom-react@rc react react-dom
```

## Entry points

| Import                        | Purpose                                                       |
| ----------------------------- | ------------------------------------------------------------- |
| `domainkit`                   | Canonical Effect services, schemas, plans, providers, and DNS |
| `domainkit/promise`           | Promise adapters for hosts that do not expose Effect directly |
| `domainkit/testing`           | In-memory services and provider conformance helpers           |
| `@domainkit/react`            | React flows, models, semantic parts, messages, and theme      |
| `@domainkit/react/styles.css` | Optional default styles for the React package                 |

The Promise entry point adapts the same domain model. It is not a second lifecycle or wire
protocol. Prefer the Effect API inside Effect applications and adapt at a foreign-runtime boundary.

## Runtime requirements

- `domainkit` requires Node.js 24.10 or newer and Effect 4.
- `@domainkit/react` requires React 19, React DOM 19, Effect 4, and Effect Atom React 4.
- Provider credentials, OAuth state, connections, plans, and receipts remain on the server.

## Version alignment

Install `domainkit` and `@domainkit/react` at the same release version. The React transport imports
wire models from the core package, so mixed versions can disagree about schemas and lifecycle
outcomes.

Continue with the [Core API](/docs/reference/core), [Promise API](/docs/reference/promise),
[Testing API](/docs/reference/testing), or [React components](/components).
