thesysdev / openui
git clone https://github.com/thesysdev/openui.git
@openuidev/cli@0.6.0 · 5d ago
🔥 on GitHub Trending today
The Open Standard for Generative UI
+402
stars, 24h · #32
+1.4k
stars, 7 days · #54
+2.7k
stars, 30 days · #129
13k
★ total · +12% this week
850
forks · 169 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseMIT
Created2024-12-02 (1y ago)
Last push1d ago
Watchers40
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #10 daily in typescript · +402 ★
- 2026-10-20 — #21 monthly in typescript · +2,671 ★
- 2026-10-20 — #18 weekly in typescript · +1,353 ★
GitHub topics
Links
- GitHub: github.com/thesysdev/openui
- Homepage: https://www.openui.com
- Releases · Issues · Hacker News mentions
README excerpt
# OpenUI - The Open Standard for Generative UI OpenUI is a full-stack, framework-agnostic Generative UI framework built around a compact, streaming-first language. A framework-agnostic core powers first-party runtimes for React, Vue, Svelte, and Angular, and React additionally ships built-in component libraries and ready-to-use chat interfaces. OpenUI Lang uses up to 67% fewer tokens than JSON. Docs · Playground · Discord · Contributing > **Important:** OpenUI has no official cryptocurrency, token, or coin. Any asset using the OpenUI name is unaffiliated with this project and is not endorsed by its maintainers. --- ## What is OpenUI At the center of OpenUI is **OpenUI Lang**: a compact, streaming-first language for model-generated UI. Instead of treating model output as only text, OpenUI lets you define components, generate prompt instructions from that component library, and render structured UI as the model streams. **Core capabilities:** - **OpenUI Lang** - A compact language for structured UI generation designed for streaming output. - **Built-in component libraries** - Charts, forms, tables, layouts, and more, ready to use or extend. - **Prompt generation from your component library** - Generate model instructions directly from the components you allow. - **Streaming renderer** - Parse and render model output progressively in React, Vue, Svelte, or Angular as tokens arrive. - **Chat and app surfaces** - Use the same foundation for assistants, copilots, and broader interactive product flows. ## Quick Start [code] This is the fastest way to start with OpenUI. The scaffolded app gives you an end-to-end starting point with streaming, built-in UI, and OpenUI Lang support. What this gives you: - **OpenUI Lang support** - Start with structured UI generation built into the app flow. - **Library-driven prompts** - Generate instructions from your allowed component set. - **Streaming support** - Update the UI progressively as output arrives. - **Working app foundation** - Start from a ready-to-run example instead of wiring everything manually. ## How it works Your components define what the model can generate. [code] 1. Define or reuse a component library. 2. Generate a system prompt from that library. 3. Send that prompt to your model. 4. Stream OpenUI Lang output back to the client. 5. Render the output progressively with Renderer. Try it yourself in the Playground: generate UI live with the default component library. ## Packages | Package | Best for | Description | | :--------------------------------------------------------------------------------------------------------- | :----------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | | `@openuidev/lang-core` | Framework-agnostic parsing and prompt generation | Core parser, prompt-generation, runtime-evaluation, and type layer with no React, Angular, Vue, or Svelte dependency | | `@openuidev/langc