Skip to content
DomainKit
Esc
navigateopen⌘Jpreview
On this page

Entry points

Choose the DomainKit public entry point that matches your runtime, programming model, and React integration layer.

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

npm install domainkit effect@rc
pnpm add domainkit effect@rc
yarn add domainkit effect@rc
bun add domainkit effect@rc

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

npm install @domainkit/react @effect/atom-react@rc react react-dom
pnpm add @domainkit/react @effect/atom-react@rc react react-dom
yarn add @domainkit/react @effect/atom-react@rc react react-dom
bun add @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, Promise API, Testing API, or React components.

Was this page helpful?