Bead is an actively developed, MIT-licensed Rust framework for building Wayland shells. It provides reusable rendering, input, Luau UI, widgets, host adapters, and optional desktop-service primitives. Bead is an independent framework; applications supply their own identity, shell content, assets, configuration, service routes, and installation policy.
Status: workspace crates are not published to crates.io. Applications should pin a reviewed Git revision; APIs may change between revisions.
Views describe presentation and behavior in Luau. Rust owns reusable platform, rendering, input, and service primitives. Reload validates a complete new view generation before swapping it atomically; invalid changes leave the last working UI active and report a source location and error.
examples/minimal-shell is a standalone host using only Bead. Its headless check is:
cargo run -p bead-minimal-shell --locked -- --checkOmit --check to open the Wayland window. The lower-level bead --example minimal is a renderer/facade smoke example.
Install or build the bead CLI, then check and run a folder app:
bead check examples/hello-bar
bead run examples/hello-barStart with the documentation index and 15-minute bar tutorial.
crates/— framework crates.examples/— minimal host and plugin example.docs/— framework contracts and development guides.protocols/— protocol definitions used by the workspace.tools/— repository checks and test support.
See the crate guide for the workspace crate breakdown.
See the examples guide for the minimal host and plugin example.
See the documentation index for the tutorial, references, examples, architecture decisions, and specifications.
Bead framework code and original documentation are licensed under the MIT License in LICENSE. Third-party components retain their own notices and licenses; see the notices under vendor/ and crates/bead-test/fonts/.
See the CI guide and repository rules before contributing.