Skip to content
ExtraBinossPublic

About

Build fast, accessible interfaces in Rust. Modular widgets, GPU rendering and native integrations across desktop and WebAssembly.

Topics

Resources

Stars

34 stars

Watchers

1 watching

Forks

Repository files navigation

Argui

Argui is a retained Rust UI engine for native windows and WebAssembly. Solid and React TSX applications describe a shared native element tree; Rust owns layout, text, input, accessibility, animation, and WGPU rendering. Rust applications can use the runtime directly without JavaScript. The desktop TSX host embeds QuickJS. The browser host renders into a WebGPU canvas.

Start an application

Once the 0.4 CLI release archives are published, install the verified binary on Linux or macOS:

curl -fsSL https://raw.githubusercontent.com/ExtraBinoss/argui/main/scripts/install-cli.sh | bash

Before publication, build this checkout's CLI with Rust 1.89 or newer:

cargo install --path crates/argui-cli --locked
argui doctor

A generated app also needs the 0.4 crates to be published or patched to this checkout. Once those crates are available, create and run an app with the CLI:

argui init solid --dir my-app --yes
cd my-app
argui check
argui dev --target native

Choose react instead of solid for React, or rust for a native Rust project. The Solid and React templates use one TSX source for native and Web. Run argui doctor web and argui dev --target web inside a TSX project to serve its browser build. Web rendering needs a WebGPU capable browser and adapter. The getting started guide covers the prerequisites, both targets, and the generated application files. The CLI guide covers installation, builds, testing, assets, and release output. The crates and features guide explains which Rust dependencies and optional features belong in an application.

The 0.4 CLI release will have Linux/macOS and Windows installers. Each verifies its downloaded archive before installing it.

Explore the gallery

Install Bun, then from the repository root:

bun install --frozen-lockfile
bun run check:ts
bun run test:ts
bun run dev

bun run dev:react runs the native React gallery. bun run dev:web:solid and bun run dev:web:react build the WASM host and start the browser gallery. The current gallery has 12 widget pages in each adapter, plus layout, scrollbar, animation, and desktop capability examples. The reusable controls are exported from @argui/widgets/solid and @argui/widgets/react; the gallery guide names the current pages and limitations. On Linux, graphical checks use the private display helper.

Website

The Nuxt website renders the current documentation on the server and embeds the real Solid and React WASM galleries on its Components page. It uses Bun and Pinia; the browser canvas requires WebGPU. Build both gallery adapters with cd website && bun install --frozen-lockfile && bun run gallery:build, then run bun run dev, bun run build for SSR, or bun run generate for pre-rendered static output.

Documentation

The documentation index links to architecture, layout, animation, UI and widgets, desktop windows and OS limits, platform services, and contributor guides. The host contract explains how the Solid and React adapters share the Rust engine.

Contribute

Read AGENTS.md, the development guide, and the code quality rules. The complete quality gate checks source hygiene, Rust and WASM builds, public API examples, and per-crate coverage.

License

Dual licensed under MIT or Apache-2.0, at your option.

About

Build fast, accessible interfaces in Rust. Modular widgets, GPU rendering and native integrations across desktop and WebAssembly.

Topics

Resources

Stars

34 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages