> For the complete documentation index, see [llms.txt](https://docs.baas.sh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.baas.sh/baas-sdk/integrations.md).

# Integration guides

Integrate the BaaS SDK into your stack, with framework guides and environment setup.

The SDK is framework-agnostic. Pick the framework guide below, or check the compatibility list before integrating.

## Installation

{% tabs %}
{% tab title="npm" %}

```bash
npm install @baas.sh/sdk
```

{% endtab %}

{% tab title="pnpm" %}

```bash
pnpm add @baas.sh/sdk
```

{% endtab %}

{% tab title="yarn" %}

```bash
yarn add @baas.sh/sdk
```

{% endtab %}
{% endtabs %}

## Guides

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Use with React</strong></td><td>A client, a session hook, and sign in and out.</td><td><a href="/baas-sdk/integrations/react.md">Use with React</a></td></tr><tr><td><strong>Complete example</strong></td><td>A provider, a sign-in screen with the three methods, and a route guard.</td><td><a href="/baas-sdk/integrations/react-app-example.md">Complete example</a></td></tr><tr><td><strong>TanStack Query recipe</strong></td><td>Reads and writes with useQuery and useMutation.</td><td><a href="/baas-sdk/integrations/react-query.md">TanStack Query recipe</a></td></tr><tr><td><strong>Push notifications</strong></td><td>Register FCM tokens so your automations can push to your users.</td><td><a href="/baas-sdk/integrations/push-notifications.md">Push notifications</a></td></tr></tbody></table>

## Supported bundlers and frameworks

| Environment                                                 | Status                         |
| ----------------------------------------------------------- | ------------------------------ |
| Vite, Next.js (app & pages router), Remix, SvelteKit, Astro | ✅                              |
| Webpack 5, esbuild, Rollup                                  | ✅                              |
| React Native                                                | ❌ Uses browser APIs (WebAuthn) |

{% hint style="warning" %}
**Server-side rendering.** Create the client in browser code only. See [Server-side rendering](/baas-sdk/integrations/react.md#server-side-rendering) in the React guide.
{% endhint %}

## TypeScript setup

The SDK is written in TypeScript and ships with full type definitions, so no extra `@types` package is needed. See [Exported types](/baas-sdk/resources/exported-types.md) for what you can import.

If your editor flags module resolution issues, set `moduleResolution` to `"bundler"` (or `"node16"` / `"nodenext"`) in your `tsconfig.json`. This is the same setting Vite, Next.js, and most modern toolchains already use.

```jsonc
{
  "compilerOptions": {
    "moduleResolution": "bundler"
  }
}
```
