beet

beet

A very bevy metaframework 🦄

Stars: 80

Visit
 screenshot

Beet is a collection of crates for authoring and running web pages, games and AI behaviors. It includes crates like `beet_flow` for scenes-as-control-flow bevy library, `beet_spatial` for spatial behaviors, `beet_ml` for machine learning, `beet_sim` for simulation tooling, `beet_rsx` for authoring tools for html and bevy, and `beet_router` for file-based router for web docs. The `beet` crate acts as a base crate that re-exports sub-crates based on feature flags, similar to the `bevy` crate structure.

README:

beet

The Bevy Expansion Pack

Crates.io version Download docs.rs docs

Beet is a very bevy metaframework, bringing bevy patterns and principles (thats where the 'very' comes in) to the rest of the stack.

Thats right fam, we're going full-stack bevy. Its early days so your mileage may vary depending on your application:

readiness meter

  • 🌳 documented and tested
  • 🌿 docs and tests are incomplete
  • 🌱 highly experimental

Beet crates fall into a few main categories.

Utils

General patterns and tools for application development.

Crate Status Description
beet_utils 🌱 Absolute base level utility crate
beet_core 🌱 Core utilities and types for other beet crates
sweet 🌿 A pretty cross platform test runner
sweet-cli 🌿 A pretty cross platform test runner

Control Flow

Control flow crates for use in behavior paradigms like behavior trees, utility AI or agentic systems.

world.spawn((
    Name::new("My Behavior"),
    Sequence
  ))
	.with_child((
    Name::new("Hello"),
    ReturnWith(RunResult::Success),
  ))
  .with_child((
    Name::new("World"),
    ReturnWith(RunResult::Success),
  ))
  .trigger(OnRun::local());
Crate Status Description
beet_flow 🌳 An ECS control flow library
beet_spatial 🌿 Spatial actions built upon beet_flow
beet_ml 🌱 Machine Learning actions built upon beet_flow
beet_sim 🌱 Game AI simulation primitives.

Web

Crates for building and deploying web apps. At this stage it is only recommended to develop locally by cloning this repo. See [Contributing] (crates/beet_site/src/docs/contributing.md) for more details.

#[template]
fn Counter(initial: i32) -> impl Bundle {
  let (get, set) = signal(initial);

  rsx! {
    <button onclick=move |_| set(get() + 1)>
      Cookie Count: {get}
    </button>
  }
}
Crate Status Description
beet_net 🌱 Cross-platform networking utilities
beet_dom 🌱 Utilities for dom rendering and interaction
beet_parse 🌱 Parsers for various text and token formats
beet_rsx 🌱 A rust/bevy implementation of jsx dom interaction
beet_rsx_combinator 🌱 JSX-like parser combinator for Rust
beet_router 🌱 ECS router and server utilities
beet_build 🌱 Codegen and compilation tooling
beet_design 🌱 Design system and components for beet rsx
beet-cli 🌱 Tools for building and deploying beet apps
beet_site 🌱 The beet website, built with beet

Experiments

Crate Status Description
beet_agent 🌱 Bevy-friendly patterns for interaction with agents
beet_query 🌱 Extend beet server actions with database queries
beet_examples 🌱 bits and pieces for substantial beet examples
emby 🌱 the beetmash ambassador
beet_mcp 🌱 Experimental mcp server

Bevy Versions

This chart is for matching a bevy version against a particular beet version.

bevy beet
0.16 0.0.6
0.15 0.0.4
0.14 0.0.2
0.12 0.0.1

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for beet

Similar Open Source Tools

For similar tasks

For similar jobs