# DomainKit > Domain setup infrastructure for SaaS, with reviewable DNS plans and React flows. ## Docs - [Domain setup infrastructure](https://domain-kit.dev/docs): Build provider-connected domain setup into your SaaS with exact DNS plans, host-owned credentials, and React flows you control. - [Your first safe DNS plan](https://domain-kit.dev/docs/quickstart): Create, review, authorize, and apply a DNS plan against an in-memory provider, then confirm that a second plan is an exact no-op. ### Build - [Integrate a host application](https://domain-kit.dev/docs/guides/host-integration): Place identity, authorization storage, provider credentials, plan attempts, receipts, authenticated endpoints, and React transport around DomainKit. - [Provision and clean up records](https://domain-kit.dev/docs/guides/provision-and-clean-up): Create and persist an exact DNS plan, authorize its digest, apply it, and later build a separately authorized cleanup plan from the receipt. - [Observe DNS](https://domain-kit.dev/docs/guides/observe-dns): Observe a requirement through public DNS, provider readback, or both without collapsing propagation, mismatch, and transport failure into a Boolean. - [Implement a DNS provider](https://domain-kit.dev/docs/guides/implement-provider): Implement DomainKit's narrow provider contract and prove planning, stale-state, partial-apply, and cleanup semantics with the conformance runner. - [Migrate to 0.3](https://domain-kit.dev/docs/guides/migrate-to-0-3): Move from the 0.2 package hierarchy to the Effect-first 0.3 root and align the core and React packages. - [Troubleshooting](https://domain-kit.dev/docs/guides/troubleshooting): Diagnose installation, provider connection, zone discovery, stale plans, partial applies, cleanup blocks, observation, and React transport failures. ### Concepts - [Plans, authorization, and receipts](https://domain-kit.dev/docs/core/plans): Understand why DomainKit separates DNS requirements, immutable plans, digest-bound authorization, apply receipts, and cleanup plans. - [Provider authorization and domain grants](https://domain-kit.dev/docs/core/connections): Understand how provider credentials, account context, host owners, domain grants, reusable connections, continuations, and revocation fit together. - [Provider evidence and public DNS](https://domain-kit.dev/docs/core/verification): Understand why authoritative-provider state, recursive public DNS, and product readiness are separate forms of evidence. ### Providers - [Connect Cloudflare](https://domain-kit.dev/docs/providers/cloudflare): Connect a Cloudflare account with OAuth or a scoped API token, discover the account from a known zone, and persist the resulting authorization on your server. - [Connect Vercel](https://domain-kit.dev/docs/providers/vercel): Connect Vercel through an Integration installation or personal access token and preserve the personal or team context required for later DNS requests. ### React - [React](https://domain-kit.dev/docs/react): Add DomainKit React flows for connection, provisioning, verification, and cleanup. The browser talks to your authenticated transport, never the provider. - [Choose an integration level](https://domain-kit.dev/docs/react/integration-levels): Choose standalone DNS record primitives, a complete Domain flow, focused lifecycle flows, or direct Effect Atom models for an existing product screen. - [Transport](https://domain-kit.dev/docs/react/transport): Implement the DomainKit React transport with authenticated app endpoints. Provider credentials and API clients stay on the server. - [Composition](https://domain-kit.dev/docs/react/composition): Compose DomainKit React parts with Base UI render props, built-in provider marks, host overrides, and CSS tokens that match your product. - [Shadcn registry](https://domain-kit.dev/docs/react/registry): Copy model-free DNS presentation components into your application through the DomainKit Shadcn registry without installing its managed runtime. ### Reference - [Packages and entry points](https://domain-kit.dev/docs/reference/packages): Choose the DomainKit package and entry point that matches your runtime and integration layer. - [Core API](https://domain-kit.dev/docs/reference/core): Reference for the namespaces exported by the canonical domainkit Effect entry point. - [Promise API](https://domain-kit.dev/docs/reference/promise): Reference for the domainkit/promise adapter entry point. - [Testing API](https://domain-kit.dev/docs/reference/testing): Reference for DomainKit in-memory services and provider conformance helpers. - [Transport API](https://domain-kit.dev/docs/reference/transport): Reference for the browser-safe application transport consumed by DomainKit React. - [React API](https://domain-kit.dev/docs/reference/react): Reference for the namespaces exported by @domainkit/react. - [Provider APIs](https://domain-kit.dev/docs/reference/providers): Reference for the provider contract and bundled Cloudflare and Vercel adapters.