thesysdev/openuiPublic

The Open Standard for Generative UI

AI summary: A renderer-agnostic Generative UI framework utilizing a compact, streaming-first language for LLMs.

Stars
10K
+34 today
Forks
696
Watchers
30
Open issues
57
Open PRs
98
Contributors
~50
Commits
967
Branches
202

TypeScriptMITCreated Dec 2, 2024Last push 2d agoLatest release @openuidev/[email protected]+132 stars this week+1.4K this month

Quick answers

What is openui?
A renderer-agnostic Generative UI framework utilizing a compact, streaming-first language for LLMs.
What does openui do?
OpenUI provides a standardized framework for building Generative UI applications that work across different rendering targets. It is built around a highly efficient, streaming-first language specifically designed to reduce token usage when communicating with Large Language Models. The framework includes official React support, offering ready-to-use component libraries and chat interfaces out-of-the-box. By abstracting the UI generation process, it allows developers to swap rendering engines without changing the underlying generative logic. OpenUI Lang claims to use significantly fewer tokens compared to traditional JSON-based UI representations.
Who is openui for?
Frontend developers and AI engineers building interactive applications that rely on Large Language Models to generate UI components dynamically. It requires experience with React and an understanding of LLM streaming capabilities.
How do I get started with openui?
Visit www.openui.com for documentation and setup instructions.
How popular is openui on GitHub?
thesysdev/openui has 9,966 stars and 696 forks on GitHub, and gained 132 stars in the last 7 days.
What license does openui use?
thesysdev/openui is released under the MIT license.

Star history

since Jul 29, 2026
02.5K5K7.5KJul 2026Aug 2026Sep 2026Oct 2026
10K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 0 commits2025-10-06: 3 commits2025-10-07: 4 commits2025-10-08: 1 commit2025-10-09: 1 commit2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 2 commits2025-10-23: 0 commits2025-10-24: 1 commit2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 1 commit2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 1 commit2025-11-13: 0 commits2025-11-14: 1 commit2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 1 commit2025-11-20: 4 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 1 commit2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 1 commit2025-12-02: 0 commits2025-12-03: 2 commits2025-12-04: 0 commits2025-12-05: 1 commit2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 2 commits2025-12-11: 3 commits2025-12-12: 1 commit2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 1 commit2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 1 commit2025-12-23: 3 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 2 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 1 commit2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 2 commits2026-01-17: 0 commits2026-01-18: 1 commit2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 1 commit2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 1 commit2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 1 commit2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 1 commit2026-03-04: 0 commits2026-03-05: 4 commits2026-03-06: 1 commit2026-03-07: 0 commits2026-03-08: 1 commit2026-03-09: 9 commits2026-03-10: 5 commits2026-03-11: 9 commits2026-03-12: 3 commits2026-03-13: 3 commits2026-03-14: 5 commits2026-03-15: 2 commits2026-03-16: 3 commits2026-03-17: 0 commits2026-03-18: 1 commit2026-03-19: 0 commits2026-03-20: 6 commits2026-03-21: 1 commit2026-03-22: 2 commits2026-03-23: 0 commits2026-03-24: 5 commits2026-03-25: 3 commits2026-03-26: 1 commit2026-03-27: 5 commits2026-03-28: 2 commits2026-03-29: 0 commits2026-03-30: 1 commit2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 1 commit2026-04-03: 4 commits2026-04-04: 1 commit2026-04-05: 0 commits2026-04-06: 3 commits2026-04-07: 6 commits2026-04-08: 4 commits2026-04-09: 3 commits2026-04-10: 3 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 2 commits2026-04-14: 3 commits2026-04-15: 2 commits2026-04-16: 0 commits2026-04-17: 1 commit2026-04-18: 1 commit2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 1 commit2026-04-22: 4 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 4 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 9 commits2026-05-05: 0 commits2026-05-06: 2 commits2026-05-07: 3 commits2026-05-08: 2 commits2026-05-09: 1 commit2026-05-10: 0 commits2026-05-11: 1 commit2026-05-12: 4 commits2026-05-13: 4 commits2026-05-14: 0 commits2026-05-15: 2 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 4 commits2026-05-19: 8 commits2026-05-20: 1 commit2026-05-21: 3 commits2026-05-22: 1 commit2026-05-23: 2 commits2026-05-24: 1 commit2026-05-25: 1 commit2026-05-26: 2 commits2026-05-27: 1 commit2026-05-28: 3 commits2026-05-29: 2 commits2026-05-30: 0 commits2026-05-31: 1 commit2026-06-01: 0 commits2026-06-02: 2 commits2026-06-03: 0 commits2026-06-04: 2 commits2026-06-05: 2 commits2026-06-06: 1 commit2026-06-07: 0 commits2026-06-08: 6 commits2026-06-09: 2 commits2026-06-10: 3 commits2026-06-11: 4 commits2026-06-12: 2 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 2 commits2026-06-16: 5 commits2026-06-17: 0 commits2026-06-18: 2 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 5 commits2026-06-23: 2 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 2 commits2026-06-30: 6 commits2026-07-01: 7 commits2026-07-02: 2 commits2026-07-03: 0 commits2026-07-04: 1 commit2026-07-05: 0 commits2026-07-06: 1 commit2026-07-07: 2 commits2026-07-08: 9 commits2026-07-09: 1 commit2026-07-10: 2 commits2026-07-11: 1 commit2026-07-12: 0 commits2026-07-13: 4 commits2026-07-14: 4 commits2026-07-15: 7 commits2026-07-16: 6 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 1 commit2026-07-21: 7 commits2026-07-22: 5 commits2026-07-23: 14 commits2026-07-24: 21 commits2026-07-25: 3 commits2026-07-26: 0 commits2026-07-27: 6 commits2026-07-28: 10 commits2026-07-29: 8 commits2026-07-30: 6 commits2026-07-31: 10 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 1 commit2026-08-04: 8 commits2026-08-05: 4 commits2026-08-06: 6 commits2026-08-07: 2 commits2026-08-08: 1 commit2026-08-09: 0 commits2026-08-10: 2 commits2026-08-11: 5 commits2026-08-12: 1 commit2026-08-13: 6 commits2026-08-14: 9 commits2026-08-15: 2 commits2026-08-16: 2 commits2026-08-17: 7 commits2026-08-18: 4 commits2026-08-19: 8 commits2026-08-20: 7 commits2026-08-21: 13 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 6 commits2026-08-25: 5 commits2026-08-26: 10 commits2026-08-27: 0 commits2026-08-28: 2 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 7 commits2026-09-01: 4 commits2026-09-02: 7 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 1 commit2026-09-07: 3 commits2026-09-08: 6 commits2026-09-09: 1 commit2026-09-10: 7 commits2026-09-11: 11 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 12 commits2026-09-16: 3 commits2026-09-17: 3 commits2026-09-18: 7 commits2026-09-19: 0 commits2026-09-20: 4 commits2026-09-21: 7 commits2026-09-22: 2 commits2026-09-23: 8 commits2026-09-24: 2 commits2026-09-25: 6 commits2026-09-26: 1 commit2026-09-27: 0 commits2026-09-28: 4 commits2026-09-29: 2 commits2026-09-30: 6 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
630 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    630 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What openui does

OpenUI provides a standardized framework for building Generative UI applications that work across different rendering targets. It is built around a highly efficient, streaming-first language specifically designed to reduce token usage when communicating with Large Language Models. The framework includes official React support, offering ready-to-use component libraries and chat interfaces out-of-the-box. By abstracting the UI generation process, it allows developers to swap rendering engines without changing the underlying generative logic. OpenUI Lang claims to use significantly fewer tokens compared to traditional JSON-based UI representations.

Frontend developers and AI engineers building interactive applications that rely on Large Language Models to generate UI components dynamically. It requires experience with React and an understanding of LLM streaming capabilities.

  • Renderer-agnostic architecture: Decouples the UI generation logic from the underlying framework, allowing for flexible rendering targets.
  • Streaming-first language: Utilizes a custom, compact language optimized for streaming UI updates from LLMs.
  • Token efficiency: Dramatically reduces LLM token consumption compared to generating verbose JSON structures.
  • Native React support: Provides official React bindings, built-in components, and ready-made chat interfaces.
  • Community integrations: Supports extension to other frontend frameworks through community-driven plugins.

Where teams use it

AI chat interfaces

Building responsive, streaming chat applications that dynamically render interactive UI components based on LLM output.

Token-efficient UI generation

Reducing API costs by using OpenUI Lang instead of JSON to instruct LLMs on how to structure user interfaces.

Cross-framework generative UI

Developing generative UI models that can be rendered consistently across React, Vue, or other frontend frameworks.

Dynamic dashboard creation

Allowing an AI agent to instantly generate and render custom data visualization dashboards based on user prompts.

Getting started: Visit www.openui.com for documentation and setup instructions.

README

main branch
OpenUI - The Open Standard for Generative UI

OpenUI - The Open Standard for Generative UI

Build License: MIT Discord

thesysdev%2Fopenui | Trendshift

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.

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

OpenUI Demo

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

npx @openuidev/cli@latest create --name genui-chat-app
cd genui-chat-app
echo "OPENAI_API_KEY=sk-your-key-here" > .env
npm run dev

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.

flowchart LR
    A["Component Library"] --> B["System Prompt"]
    B --> C["LLM"]
    C --> D["OpenUI Lang Stream"]
    D --> E["Renderer"]
    E --> F["Live UI"]
Loading
  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/langchain LangChain and LangGraph agents Agent transformer and server helpers that stream OpenUI through AG-UI
@openuidev/react-lang React rendering runtimes Define component libraries, generate prompts, and render streamed OpenUI Lang in React
@openuidev/react-headless Bring-your-own React chat UI Headless chat state, streaming adapters, and message format converters
@openuidev/react-ui Fastest path to a full React chat experience Prebuilt chat layouts, standalone UI primitives, and two built-in component libraries
@openuidev/react-email Email generation and HTML export React Email component definitions plus prompt options for model-generated emails
@openuidev/assistant-ui assistant-ui apps Tool UI renderers and instruction wiring for streaming OpenUI Lang inside assistant-ui
@openuidev/vue-lang Vue integrations Vue 3 bindings for defining model-renderable components and rendering streamed OpenUI Lang
@openuidev/svelte-lang Svelte integrations Svelte 5 bindings for defining model-renderable components and rendering streamed OpenUI Lang
@openuidev/angular-lang Angular integrations Angular bindings for defining component libraries and rendering streamed OpenUI Lang
@openuidev/browser-bundle CDN, iframe, and no-build embeds Prebuilt browser bundle that ships the renderer, UI library, React, and styles as script + stylesheet assets
@openuidev/a2ui A2UI with OpenUI Lang component payloads Framework-agnostic A2UI v1.0 protocol client with an optional React renderer
@openuidev/server Server side utilities Server utilities for OpenUI and OpenUI Gateway
@openuidev/observability-cloud Hosted observability in the Thesys console Cloud sink that batches OpenUI events and ships them to OpenUI Gateway
@openuidev/cli Project scaffolding and prompt generation CLI for creating new apps and generating system prompts or JSON schema from a library definition
@openuidev/openclaw-os-plugin OpenClaw workspaces OpenClaw OS plugin for serving OpenUI-powered OpenClaw workspaces

Common starting points:

# React app with OpenUI rendering and prebuilt components
npm install @openuidev/react-lang @openuidev/react-ui

# Framework-agnostic backend or Edge prompt generation
npm install @openuidev/lang-core

# LangChain/LangGraph agent and server integration
npm install @openuidev/langchain @langchain/langgraph

# Vue, Svelte, or Angular runtime
npm install @openuidev/vue-lang
npm install @openuidev/svelte-lang
npm install @openuidev/angular-lang

# A2UI protocol with OpenUI Lang component payloads
npm install @openuidev/a2ui zod

Why OpenUI Lang

OpenUI Lang is designed for model-generated UI that needs to be both structured and streamable.

  • Streaming output - Emit UI incrementally as tokens arrive.
  • Token efficiency - Up to 67% fewer tokens than equivalent JSON (see benchmarks).
  • Controlled rendering - Restrict output to the components you define and register.
  • Typed component contracts - Define component props and structure up front with Zod schemas.

Token efficiency benchmarks

Measured with tiktoken (GPT-5 encoder). OpenUI Lang vs two JSON-based streaming formats across seven UI scenarios:

Scenario Vercel JSON-Render Thesys C1 JSON OpenUI Lang vs Vercel vs C1
simple-table 340 357 148 -56.5% -58.5%
chart-with-data 520 516 231 -55.6% -55.2%
contact-form 893 849 294 -67.1% -65.4%
dashboard 2247 2261 1226 -45.4% -45.8%
pricing-page 2487 2379 1195 -52.0% -49.8%
settings-panel 1244 1205 540 -56.6% -55.2%
e-commerce-product 2449 2381 1166 -52.4% -51.0%
TOTAL 10180 9948 4800 -52.8% -51.7%

Full methodology and reproduction steps in benchmarks/.

Documentation

Detailed documentation is available at openui.com.

Repository structure

openui/
├── packages/
│   ├── react-lang/       # Core runtime (parser, renderer, prompt generation)
│   ├── react-headless/   # Headless chat state & streaming adapters
│   ├── react-ui/         # Prebuilt chat layouts & component libraries
│   ├── react-email/      # React Email component library for generated emails
│   ├── assistant-ui/     # assistant-ui Tool UI renderers for OpenUI Lang
│   ├── lang-core/        # Framework-agnostic parser, prompt, and runtime layer
│   ├── langchain/        # LangChain/LangGraph streaming integration
│   ├── vue-lang/         # Vue runtime bindings for OpenUI Lang
│   ├── svelte-lang/      # Svelte runtime bindings for OpenUI Lang
│   ├── angular-lang/     # Angular runtime bindings for OpenUI Lang
│   ├── browser-bundle/   # Script-tag bundle for CDN / iframe / no-build embeds
│   ├── a2ui/             # A2UI protocol with OpenUI Lang component payloads
│   ├── server/           # Server utilities for OpenUI & OpenUI Gateway
│   ├── observability/    # Framework-free observability event bus
│   ├── observability-cloud/ # Cloud sink shipping OpenUI events to Thesys
│   ├── devtools/         # Dev-only OpenUI Inspect widget
│   └── openui-cli/       # CLI for scaffolding & prompt generation
├── examples/             # Cookbooks and integration reference implementations
│   ├── agent-frameworks/
│   ├── app-frameworks/
│   ├── cookbooks/
│   ├── design-systems/
│   ├── harnesses/
│   └── miscellaneous/
├── docs/                 # Documentation site (openui.com)
└── benchmarks/           # Token efficiency benchmarks

Good places to start:

Community

  • Discord - Ask questions, share what you're building
  • GitHub Issues - Report bugs or request features

How OpenUI compares

Feature OpenUI json-render (Vercel) A2UI (Google) CopilotKit OpenGenUI
Tokens 1x 3x 3x 4x
Latency (60 tok/s) 4.9s 14.2s 14.2s ~20s
Streaming Yes Yes Yes Partial
Consistent output Yes Yes Yes No
Components Library + custom Library + custom Custom only None
Multi-platform Web, mobile, email Web, mobile, PDF, email, video Web, iOS, Android Web
Built-in data fetching Yes No No No
Chat UI included Yes No No Yes

For more details, refer to the official OpenUI Lang comparison documentation.

Adopters

A list of organizations and projects using OpenUI is maintained in ADOPTERS.md. If you're using OpenUI, please consider adding your organization; it helps the project gain momentum and helps other adopters find peers using OpenUI in similar contexts.

Contributing

Contributions are welcome. See CONTRIBUTING.md for contribution guidelines and ways to get involved.

Agent Skill

OpenUI ships an Agent Skill so AI coding assistants (Claude Code, Codex, Cursor, Copilot, etc.) can help you scaffold, build, and debug Generative UI apps using OpenUI Lang.

The skill is maintained in the thesysdev/skills repository.

Install

# With the skills CLI (works across all agents)
npx skills add thesysdev/skills --skill openui

The skill covers component library design, OpenUI Lang syntax, system prompt generation, the Renderer, SDK packages, and debugging malformed LLM output.

Feedback

Found a bug or have an idea? Open an issue, or send anonymous feedback from your terminal:

npx @openuidev/cli feedback "Describe the problem or idea"

Coding agents using the OpenUI skill can send feedback for you. They remove personal details and code from the message and ask for your approval before sending it.

License

This project is available under the terms described in LICENSE.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

24 total
  1. ### Patch Changes - [#1068](https://github.com/thesysdev/openui/pull/1068) [`a935fcd`](https://github.com/thesysdev/openui/commit/a935fcd56ea38eb45e13c2192a43b9e0e94ffd51) Thanks [@iambharathpadhu](https://github.com/iambharathpadhu)! - Prevent Enter from submitting either built-in composer while IME composition is active, including browsers that report the keyCode 229 fallback. Enter after composition finishes still submits, and Shift+Enter continues to insert a newline. - Updated dependencies []: - @openuidev/[email protected]

  2. No changes in this release.

  3. ### Patch Changes - [#1223](https://github.com/thesysdev/openui/pull/1223) [`b7d6a72`](https://github.com/thesysdev/openui/commit/b7d6a72c4d49ca38b0292c19452b28eecd1aa0cc) Thanks [@devin-ai-integration](https://github.com/apps/devin-ai-integration)! - Add a preflight git check with per-OS install hints, retry network failures with backoff during source checkout, catalog fetch, and dependency installation, and record retry attempts in failure telemetry alongside a new `cli_network_retry` event.

  4. ### Minor Changes - [#1194](https://github.com/thesysdev/openui/pull/1194) [`68c9280`](https://github.com/thesysdev/openui/commit/68c9280106387f5a4571408c03501bff82a1b450) Thanks [@AbhinRustagi](https://github.com/AbhinRustagi)! - Add `createAutofix` from `@openuidev/server/openai` for Chat Completions and `@openuidev/server/vercel` for Vercel AI SDK UI message streams. Both expose `fix({ generation, messages, signal })` for completed text. Streaming uses `chat.completions({ stream, messages, signal })` for Chat Completions, `responses()` for OpenAI Responses (not yet supported), and `ai({ stream, messages, signal })` for Vercel AI SDK UI message streams. Validate locally and call Autofix only for invalid UI. Streaming appends the complete corrected program as native text deltas before completion, preserving tool calls and metadata. A closed ```openui-lang fence is held back so the repair is inserted inside that same fence. The Vercel AI SDK 7 helper accepts `toUIMessageStream({ stream: result.stream })` output and returns AI SDK UI message SSE. `@openuidev/server/openai` also exports `storeChatCompletionHistory` and `chatCompletionMessagesToItems` (moved off

  5. ### Patch Changes - [#1207](https://github.com/thesysdev/openui/pull/1207) [`1b1f3ba`](https://github.com/thesysdev/openui/commit/1b1f3ba95ace51402b0104a47a37a7391e6e8f23) Thanks [@devin-ai-integration](https://github.com/apps/devin-ai-integration)! - Split the reliability banner CTA into a primary "Get API key" button linking to the Thesys Console and a secondary "View docs" button. - [#1208](https://github.com/thesysdev/openui/pull/1208) [`21d8df3`](https://github.com/thesysdev/openui/commit/21d8df3f9cbce6201871f26c7d3479648a7e8c9f) Thanks [@devin-ai-integration](https://github.com/apps/devin-ai-integration)! - Bundle Inter (latin variable subset) with the devtools widget so it renders in Inter regardless of the host app's fonts, instead of silently falling back to the system font.

Code frequency

additions and deletions
+1.3M-1.3MWeek of 2025-10-05: +1,798 linesWeek of 2025-10-05: -883 linesWeek of 2025-10-12: +0 linesWeek of 2025-10-12: -0 linesWeek of 2025-10-19: +5,010 linesWeek of 2025-10-19: -17 linesWeek of 2025-10-26: +0 linesWeek of 2025-10-26: -0 linesWeek of 2025-11-02: +263 linesWeek of 2025-11-02: -50 linesWeek of 2025-11-09: +3,552 linesWeek of 2025-11-09: -52 linesWeek of 2025-11-16: +3,738 linesWeek of 2025-11-16: -3,632 linesWeek of 2025-11-23: +21 linesWeek of 2025-11-23: -2 linesWeek of 2025-11-30: +21 linesWeek of 2025-11-30: -21 linesWeek of 2025-12-07: +198 linesWeek of 2025-12-07: -26 linesWeek of 2025-12-14: +19 linesWeek of 2025-12-14: -7 linesWeek of 2025-12-21: +1,629 linesWeek of 2025-12-21: -140 linesWeek of 2025-12-28: +0 linesWeek of 2025-12-28: -0 linesWeek of 2026-01-04: +835 linesWeek of 2026-01-04: -8 linesWeek of 2026-01-11: +5,361 linesWeek of 2026-01-11: -343 linesWeek of 2026-01-18: +1,264 linesWeek of 2026-01-18: -1,312 linesWeek of 2026-01-25: +325 linesWeek of 2026-01-25: -28 linesWeek of 2026-02-01: +446 linesWeek of 2026-02-01: -21 linesWeek of 2026-02-08: +0 linesWeek of 2026-02-08: -0 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +0 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +123,437 linesWeek of 2026-03-01: -90,392 linesWeek of 2026-03-08: +52,895 linesWeek of 2026-03-08: -15,440 linesWeek of 2026-03-15: +4,202 linesWeek of 2026-03-15: -1,243 linesWeek of 2026-03-22: +23,716 linesWeek of 2026-03-22: -6,389 linesWeek of 2026-03-29: +14,834 linesWeek of 2026-03-29: -438 linesWeek of 2026-04-05: +23,971 linesWeek of 2026-04-05: -6,291 linesWeek of 2026-04-12: +4,250 linesWeek of 2026-04-12: -510 linesWeek of 2026-04-19: +2,139 linesWeek of 2026-04-19: -823 linesWeek of 2026-04-26: +965 linesWeek of 2026-04-26: -23 linesWeek of 2026-05-03: +1,966 linesWeek of 2026-05-03: -501 linesWeek of 2026-05-10: +963 linesWeek of 2026-05-10: -255 linesWeek of 2026-05-17: +2,563 linesWeek of 2026-05-17: -1,107 linesWeek of 2026-05-24: +1,375 linesWeek of 2026-05-24: -638 linesWeek of 2026-05-31: +4,111 linesWeek of 2026-05-31: -397 linesWeek of 2026-06-07: +6,950 linesWeek of 2026-06-07: -17,064 linesWeek of 2026-06-14: +4,842 linesWeek of 2026-06-14: -659 linesWeek of 2026-06-21: +3,141 linesWeek of 2026-06-21: -508 linesWeek of 2026-06-28: +36,723 linesWeek of 2026-06-28: -22,599 linesWeek of 2026-07-05: +3,152 linesWeek of 2026-07-05: -439 linesWeek of 2026-07-12: +10,215 linesWeek of 2026-07-12: -5,305 linesWeek of 2026-07-19: +58,190 linesWeek of 2026-07-19: -11,048 linesWeek of 2026-07-26: +21,758 linesWeek of 2026-07-26: -27,885 linesWeek of 2026-08-02: +13,534 linesWeek of 2026-08-02: -4,902 linesWeek of 2026-08-09: +6,632 linesWeek of 2026-08-09: -870 linesWeek of 2026-08-16: +1,278,228 linesWeek of 2026-08-16: -427,455 linesWeek of 2026-08-23: +242,942 linesWeek of 2026-08-23: -927,535 linesWeek of 2026-08-30: +416,205 linesWeek of 2026-08-30: -152,252 linesWeek of 2026-09-06: +32,445 linesWeek of 2026-09-06: -10,111 linesWeek of 2026-09-13: +38,308 linesWeek of 2026-09-13: -51,130 linesWeek of 2026-09-20: +101,899 linesWeek of 2026-09-20: -29,943 linesWeek of 2026-09-27: +95,053 linesWeek of 2026-09-27: -54,813 linesOct 5, 2025Sep 27, 2026
+2.7M lines added, -1.9M removed over the last year.

Commits per week

last 52 weeks
510Week of 2025-10-05: 9 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 3 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 1 commitsWeek of 2025-11-09: 2 commitsWeek of 2025-11-16: 5 commitsWeek of 2025-11-23: 1 commitsWeek of 2025-11-30: 4 commitsWeek of 2025-12-07: 6 commitsWeek of 2025-12-14: 1 commitsWeek of 2025-12-21: 4 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 3 commitsWeek of 2026-01-11: 2 commitsWeek of 2026-01-18: 1 commitsWeek of 2026-01-25: 2 commitsWeek of 2026-02-01: 1 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 6 commitsWeek of 2026-03-08: 35 commitsWeek of 2026-03-15: 13 commitsWeek of 2026-03-22: 18 commitsWeek of 2026-03-29: 7 commitsWeek of 2026-04-05: 19 commitsWeek of 2026-04-12: 9 commitsWeek of 2026-04-19: 5 commitsWeek of 2026-04-26: 4 commitsWeek of 2026-05-03: 17 commitsWeek of 2026-05-10: 11 commitsWeek of 2026-05-17: 19 commitsWeek of 2026-05-24: 10 commitsWeek of 2026-05-31: 8 commitsWeek of 2026-06-07: 17 commitsWeek of 2026-06-14: 9 commitsWeek of 2026-06-21: 7 commitsWeek of 2026-06-28: 18 commitsWeek of 2026-07-05: 16 commitsWeek of 2026-07-12: 21 commitsWeek of 2026-07-19: 51 commitsWeek of 2026-07-26: 40 commitsWeek of 2026-08-02: 22 commitsWeek of 2026-08-09: 25 commitsWeek of 2026-08-16: 41 commitsWeek of 2026-08-23: 23 commitsWeek of 2026-08-30: 18 commitsWeek of 2026-09-06: 29 commitsWeek of 2026-09-13: 25 commitsWeek of 2026-09-20: 30 commitsWeek of 2026-09-27: 12 commitsOct 5, 2025Sep 27, 2026
630 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 1 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 2 commitsSun 10:00 — 3 commitsSun 11:00 — 1 commitsSun 12:00 — 1 commitsSun 13:00 — 0 commitsSun 14:00 — 3 commitsSun 15:00 — 3 commitsSun 16:00 — 2 commitsSun 17:00 — 0 commitsSun 18:00 — 1 commitsSun 19:00 — 0 commitsSun 20:00 — 2 commitsSun 21:00 — 2 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 1 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 6 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 3 commitsMon 10:00 — 0 commitsMon 11:00 — 12 commitsMon 12:00 — 8 commitsMon 13:00 — 17 commitsMon 14:00 — 20 commitsMon 15:00 — 14 commitsMon 16:00 — 15 commitsMon 17:00 — 10 commitsMon 18:00 — 20 commitsMon 19:00 — 10 commitsMon 20:00 — 9 commitsMon 21:00 — 5 commitsMon 22:00 — 5 commitsMon 23:00 — 9 commitsTue 0:00 — 11 commitsTue 1:00 — 3 commitsTue 2:00 — 0 commitsTue 3:00 — 2 commitsTue 4:00 — 4 commitsTue 5:00 — 0 commitsTue 6:00 — 1 commitsTue 7:00 — 1 commitsTue 8:00 — 1 commitsTue 9:00 — 1 commitsTue 10:00 — 6 commitsTue 11:00 — 4 commitsTue 12:00 — 21 commitsTue 13:00 — 19 commitsTue 14:00 — 14 commitsTue 15:00 — 16 commitsTue 16:00 — 18 commitsTue 17:00 — 23 commitsTue 18:00 — 14 commitsTue 19:00 — 14 commitsTue 20:00 — 9 commitsTue 21:00 — 8 commitsTue 22:00 — 6 commitsTue 23:00 — 4 commitsWed 0:00 — 4 commitsWed 1:00 — 4 commitsWed 2:00 — 1 commitsWed 3:00 — 0 commitsWed 4:00 — 3 commitsWed 5:00 — 1 commitsWed 6:00 — 4 commitsWed 7:00 — 2 commitsWed 8:00 — 2 commitsWed 9:00 — 4 commitsWed 10:00 — 2 commitsWed 11:00 — 10 commitsWed 12:00 — 13 commitsWed 13:00 — 20 commitsWed 14:00 — 19 commitsWed 15:00 — 24 commitsWed 16:00 — 14 commitsWed 17:00 — 14 commitsWed 18:00 — 19 commitsWed 19:00 — 8 commitsWed 20:00 — 4 commitsWed 21:00 — 4 commitsWed 22:00 — 5 commitsWed 23:00 — 4 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 2 commitsThu 3:00 — 1 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 1 commitsThu 7:00 — 0 commitsThu 8:00 — 3 commitsThu 9:00 — 2 commitsThu 10:00 — 4 commitsThu 11:00 — 7 commitsThu 12:00 — 11 commitsThu 13:00 — 14 commitsThu 14:00 — 18 commitsThu 15:00 — 19 commitsThu 16:00 — 22 commitsThu 17:00 — 16 commitsThu 18:00 — 10 commitsThu 19:00 — 6 commitsThu 20:00 — 9 commitsThu 21:00 — 12 commitsThu 22:00 — 6 commitsThu 23:00 — 6 commitsFri 0:00 — 9 commitsFri 1:00 — 5 commitsFri 2:00 — 3 commitsFri 3:00 — 1 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 1 commitsFri 8:00 — 2 commitsFri 9:00 — 1 commitsFri 10:00 — 4 commitsFri 11:00 — 11 commitsFri 12:00 — 15 commitsFri 13:00 — 11 commitsFri 14:00 — 14 commitsFri 15:00 — 22 commitsFri 16:00 — 18 commitsFri 17:00 — 9 commitsFri 18:00 — 9 commitsFri 19:00 — 13 commitsFri 20:00 — 5 commitsFri 21:00 — 4 commitsFri 22:00 — 7 commitsFri 23:00 — 2 commitsSat 0:00 — 2 commitsSat 1:00 — 1 commitsSat 2:00 — 1 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 3 commitsSat 13:00 — 2 commitsSat 14:00 — 2 commitsSat 15:00 — 1 commitsSat 16:00 — 2 commitsSat 17:00 — 4 commitsSat 18:00 — 2 commitsSat 19:00 — 1 commitsSat 20:00 — 3 commitsSat 21:00 — 1 commitsSat 22:00 — 4 commitsSat 23:00 — 2 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Mar 12, 2026daily#23+136
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    456.7K stars · TypeScript

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    285.8K stars · Python

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python