Domain SDK

Contributing

Set up the workspace, make a focused change, and run the repository checks.

Set up the workspace

Terminal
bun install
bun run dev

The repository uses Bun 1.3.14 and Turborepo. The docs run at http://domain-sdk.localhost:1355 through the sudo-free Portless proxy.

Work in the right package

  • packages/sdk contains the public client, normalized types, adapters, and tests.
  • apps/fumadocs contains the docs and landing page.
  • packages/config contains shared TypeScript and lint configuration.

Keep changes focused. Preserve existing provider boundaries and do not add placeholder adapters, speculative options, or network-dependent tests.

Test provider changes

Provider tests belong in packages/sdk/test/providers. Use an injected fetch fixture for every provider request; tests must not require credentials or internet access. Cover request paths, response normalization, idempotent add/remove behavior, malformed responses, and normalized errors.

Terminal
cd packages/sdk
bun test
bun run check-types
bun run lint
bun run build

Test documentation changes

Check generated MDX types and the production build before opening a pull request.

Terminal
cd apps/fumadocs
bun run check-types
bun run lint
bun run build

Run the full repository checks

Terminal
bun run test
bun run typecheck
bun run lint
bun run build

Open a pull request that explains the behavior change, provider API assumptions, and validation you ran. Include screenshots for visible docs or landing-page changes.