--- name: Bevy Game Engine description: Data-driven game engine with ECS architecture. metadata: labels: [rust, bevy, game, ecs] triggers: files: ['**/main.rs', 'assets/**'] keywords: [bevy, App, Component, Query, Resource, Commands] --- # Bevy Standards ## App Setup ```rust use bevy::prelude::*; fn main() { App::new() .add_plugins(DefaultPlugins) .add_systems(Startup, setup) .add_systems(Update, (movement, collision).chain()) .run(); } fn setup(mut commands: Commands) { commands.spawn(Camera2dBundle::default()); } ``` ## Components ```rust #[derive(Component)] struct Player { speed: f32, } #[derive(Component)] struct Health(u32); #[derive(Component)] struct Velocity(Vec2); // Spawn entity with components fn spawn_player(mut commands: Commands) { commands.spawn(( Player { speed: 200.0 }, Health(100), Velocity(Vec2::ZERO), SpriteBundle { transform: Transform::from_xyz(0.0, 0.0, 0.0), ..default() }, )); } ``` ## Systems ```rust // Query components fn movement( time: Res