Skip to content

Frameworks

GistUI has a renderer for React, Vue, Svelte, Solid and vanilla JavaScript. They share one engine, one catalog and one stylesheet.

Updated View as Markdown

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 <GistUI library={ui} stream={…} />
Vue 3.5+, Nuxt @gistui/vue <GistUI :source="…" :streaming="…" />
Svelte 5, SvelteKit @gistui/svelte <GistUI source={…} streaming={…} />
Solid, SolidStart @gistui/solid <GistUI source={…} streaming={…} />
Anything else, or no framework @gistui/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.
  • The actions. One callback receives every button press and form submit: see 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
Navigation

Type to search…

↑↓ navigate↵ selectEsc close