longbridge / gpui-kit
git clone https://github.com/longbridge/gpui-kit.git
v0.8.0 · 3d ago
🔥 on GitHub Trending today
Rust GUI component library and framework for building cross-platform desktop apps on the GPUI rendering engine.
Why you might care
Provides 75+ prebuilt components, virtualized data tables and lists, a code editor with Tree-sitter and LSP support, and dock layouts for Rust desktop apps. Includes AccessKit accessibility, headless UI integration testing, and WebAssembly support.
+22
stars, 24h · #674
+~154
stars, 7 days · #817
+3.9k
stars, 30 days · #137
18k
★ total · +1% this week
1.1k
forks · 116 open issues
Star history (as recorded here)
LanguageRust
License—
Created2024-06-13 (2y ago)
Last pushtoday
Watchers52
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #3 monthly in rust · +3,959 ★
- 2026-10-21 — #11 daily in rust · +164 ★
- 2026-10-21 — #3 monthly in rust · +3,937 ★
- 2026-10-20 — #11 daily in rust · +185 ★
- 2026-10-20 — #3 monthly in rust · +3,797 ★
GitHub topics
Links
- GitHub: github.com/longbridge/gpui-kit
- Homepage: http://gpui-kit.com
- Releases · Issues · Hacker News mentions
README excerpt
GPUI Kit English | 简体中文 Build fantastic, high-performance desktop apps with Rust and GPUI. GPUI Kit is a comprehensive Rust desktop application framework. It combines a production-ready UI system with application-grade data, layout, and editing capabilities, all built on a reusable foundation of behavior, state, and infrastructure. GPUI Kit ships 75+ documented components and primitives, WebAssembly support, AccessKit accessibility, UI integration testing, and an optional JavaScript extension runtime. Documentation: [code] `gpui-kit` pins the matching GPUI release and re-exports GPUI, base, component, and assets, so a Rust application lists a single dependency. JavaScript extension hosts add `gpui-shell` separately; its default `components` feature supplies the styled catalog. See the executable application recipe and AI-assisted development acceptance checks for a tested starting point and verification commands. ## Features - **75+ Components and Primitives**: Forms, navigation, overlays, data display, editing, feedback, and layout, with polished interactions and productive defaults. - **Production Ready**: Used to build Longbridge Pro from day one and continuously refined in a publicly shipped commercial desktop application. - **WebAssembly**: Run applications and the same component showcases on the web with `wasm32-unknown-unknown`. - **Accessibility**: AccessKit roles, names, states, relationships, and actions are built into the interaction layer and covered by tests. - **UI Integration Testing**: Render real components in headless windows, drive pointer and keyboard input, and assert state, focus, layout, and accessibility. - **Native Feel**: Modern controls inspired by macOS and Windows, backed by semantic themes and multiple sizes. - **120 FPS**: GPU-accelerated interfaces that remain smooth under load. - **Data Tables**: Virtual scrolling, fixed and resizable columns, sorting, and cell selection across hundreds of thousands of rows. - **Virtual Lists**: Render only the visible range, including lists whose items have different sizes. - **Code Editor**: Stable performance at 200K lines with Tree-sitter highlighting and LSP diagnostics, completion, and hover. - **Dock Layout**: Resizable panels, draggable tabs, nested splits, and edge docks — all serializable. - **Rich Content**: Native Markdown and HTML rendering, syntax highlighting, and built-in charts. - **Design Freedom**: Use the complete visual system or build your own on the behavior and infrastructure in `gpui-base`. - **JavaScript Extensions**: `gpui-shell` lets a shipped Rust host load panels and business logic as scripts, with every capability granted explicitly. - **Cross Platform**: Ship one Rust codebase to macOS, Windows, and Linux. ## Framework Architecture ### Three layers. One ecosystem. Use `gpui-component` to keep the application coherent with one complete visual and interaction system. Use `gpui-base` when your product needs to create and own that system itself. Use
Blurb generated by claude-haiku-5-5 1d ago. Star deltas marked ~ are extrapolated from partial history.