---
title: "Frameworks"
description: "GistUI has a renderer for React, Vue, Svelte, Solid and vanilla JavaScript. They share one engine, one catalog and one stylesheet."
---

> Documentation Index
> Fetch the complete documentation index at: https://gistui.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Frameworks

Pick the package for your app. All five render the same 63 components from the same catalog with the same stylesheet, so an answer looks and behaves the same everywhere.

| Your app | Package | Component |
|---|---|---|
| React 19, Next.js, Vite, Remix | [`@gistui/react`](/docs/frameworks/react/) | `<GistUI library={ui} stream={…} />` |
| Vue 3.5+, Nuxt | [`@gistui/vue`](/docs/frameworks/vue/) | `<GistUI :source="…" :streaming="…" />` |
| Svelte 5, SvelteKit | [`@gistui/svelte`](/docs/frameworks/svelte/) | `<GistUI source={…} streaming={…} />` |
| Solid, SolidStart | [`@gistui/solid`](/docs/frameworks/solid/) | `<GistUI source={…} streaming={…} />` |
| Anything else, or no framework | [`@gistui/vanilla`](/docs/frameworks/vanilla/) | `mount(element, { library: ui, stream })` |

## What is the same everywhere

- **The server side.** `prompt().text` from `@gistui/catalog` is the system prompt, whatever the client is.
- **The options.** `theme`, `color`, `tokens`, `tools`, `mutations`, `allowedHosts`, `autofix` and the rest: see [Renderer options](/docs/reference/renderer-options/).
- **The actions.** One callback receives every button press and form submit: see [Actions and forms](/docs/guides/actions-and-forms/).
- **The pixels.** A parity test suite renders every example in each renderer and compares them.

## What differs

| | React | Vue | Svelte | Solid | Vanilla |
|---|---|---|---|---|---|
| Action callback | `onAction` | `@action` | `onaction` | `onAction` | `onAction` |
| Replace a component | `ui.extend({ Card })` | `:components` | `components` | `components` | `ui.extend({ Card })` |
| Join a form from your field | `useGistField` | `useGistField` | `gistField` | `createGistField` | `formField` |

Source: https://gistui.com/docs/frameworks/index.mdx
