repowisefschutt/azul

fschutt / azul

Desktop GUI Framework

Rust★ 6,126

github.com/fschutt/azulIndexed at 3e5ccbcUp to date with upstream

What is azul?

azul is a desktop GUI framework for building native desktop applications with Rust, C, and C++. It uses a CSS and HTML-like document object model with the WebRender rendering engine. Azul is primarily written in Rust.

Written by a model from the README and the source

1,814 files and 84,401 symbols in 11 modules, led by Rust (1,161 files) and C (56).

Code health

3.7out of 10At risk

This codebase scores 3.7 out of 10 for code health, which we rate at risk. It also scores maintainability 5.3 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 314 of 1,814 files are git hotspots, and they average 2.7 — which is where the fixes pay off most.

On the leaderboards:#13 of 13 Rust repos

Use fschutt/azul in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

  1. 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
  2. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 4.Repowise's tools are now available in your Claude chats.

Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.

Docs
bash
https://api.repowise.dev/mcp/fschutt/azul
Editors need an API key: sign in to create one.Sign in to connect

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is azul put together?")
  • get_why("why is azul structured this way?")

Explore azul

Key features of azul

  • azul provides a reactive GUI framework for Rust, C, and C++.
  • azul uses the WebRender rendering engine for desktop interface rendering.
  • azul uses a CSS and HTML-like document object model for native desktop applications.
  • azul provides code generation for a stable public API across multiple languages.

How fschutt/azul works

Application inputs enter through platform shells as DOM and layout trees, CSS, glyph resources, and window events. The core runtime processes these inputs and builds render scenes for native desktop runtimes and a web UI or server. The layout module handles document layout, including window behavior in layout/src/window.rs. The layout/src/text3/cache.rs file manages text-related caching, while layout/src/solver3/fc.rs and layout/src/solver3/display_list.rs support layout solving and display-list generation. The dll module provides desktop integration, including platform-specific code in dll/src/desktop/shell2/macos/mod.rs. The resulting output includes interactive pixels and accessibility actions.

The codebase has 1,814 files and 84,401 symbols in 11 modules, led by Rust, C and Shell. Code health is 3.7 out of 10, rated at risk.

Getting started with azul

  1. Build the azul-doc package in release mode.
    cargo build -r -p azul-doc
  2. Generate the required public API code with azul-doc.
    ./target/release/azul-doc codegen all
  3. Set the dynamic linking path for Rust rebuilds.
    export AZ_LINK_PATH=/path/to/azul/target/release
  4. Add azul with dynamic linking and run a release build of a project.
    cargo add azul --features link_dynamic

Commands copied from the README

fschutt/azul FAQ

What is azul?

azul is a desktop GUI framework for building native desktop applications with Rust, C, and C++. It uses a CSS and HTML-like document object model and WebRender.

How does azul work?

azul processes DOM and layout trees, CSS, glyph resources, and window events through platform shells. It builds render scenes and outputs interactive pixels and accessibility actions.

How do I install azul?

azul can be built with cargo build -r -p azul-doc, followed by code generation with ./target/release/azul-doc codegen all. Projects can add azul with the link_dynamic feature.

What language is azul written in?

azul is written primarily in Rust, with support for Rust, C, and C++ application development.

How is the azul code organized?

azul is organized into modules including layout, dll, webrender, core, css, doc, scripts, and examples. The layout module handles layout work, while dll contains desktop integration.

Who is azul for?

azul is for developers building native desktop applications with Rust, C, or C++ using a CSS and HTML-like document model.

What license does azul use?

azul uses the MIT license.

The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.

About this page

Get a page like this for your own codebase

Repowise built this map of fschutt/azul from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.