bevyengine / bevy Architecture and code health
A refreshingly simple data-driven game engine built in Rust
github.com/bevyengine/bevyIndexed at 4cdbe88Up to date with upstreamRefreshes weekly
What is bevy?
Bevy is a data-driven game engine built in Rust, used to create 2D and 3D games and applications. It is organized around the Entity Component System paradigm, where game data is stored in components and processed by systems. Its main language is Rust.
Written by a model from the README and the source
2,268 files and 51,473 symbols in 9 modules, led by Rust (1,961 files) and Kotlin (4).
Code health
Hotspots average 4.6, the place fixes pay off most.
On the leaderboards:#2 of 3 Rust UI libraries#3 of 15 Rust repos
Use bevyengine/bevy 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.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.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 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.
Docshttps://api.repowise.dev/mcp/bevyengine/bevy
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_risk(["crates/bevy_render/src/camera.rs"])
- get_answer("how is bevy put together?")
- get_why("why is bevy structured this way?")
Explore bevy
- DocumentationModule-by-module documentation, 3,656 pages.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of bevy
- Offers a complete 2D and 3D feature set.
- Uses a data-oriented architecture based on the Entity Component System paradigm.
- Is modular, so users can use only the parts they need and replace the ones they do not like.
- Aims to be simple enough for newcomers to pick up while staying flexible for advanced users.
How bevyengine/bevy works
Application code enters through the public library entry point in src/lib.rs, which exposes the apps, systems, components and assets that a program is built from. The crates directory holds the core work, with small Rust crates that each implement a focused part of the engine, such as ECS-facing primitives, camera and visibility behavior, and transform propagation. Rendering and scene code lives in files such as crates/bevy_scene/src/lib.rs and crates/bevy_pbr/src/render/light.rs, which handle extraction for rendering and UI before the running application produces output. The examples directory contains runnable programs that show how these parts are used together, and benches/src/lib.rs provides shared setup for the per-area benchmark programs. Cargo.toml files describe the packages that make up the project.
The codebase has 2,268 files and 51,473 symbols in 9 modules, led by Rust, Kotlin and JavaScript. Code health is 6.8 out of 10, rated fair.
Getting started with bevy
- Switch the cloned repository to the latest release.
git checkout latest - Run the breakout example to try Bevy.
cargo run --example breakout
Commands copied from the README
bevyengine/bevy FAQ
What is Bevy?
Bevy is a data-driven game engine built in Rust for making 2D and 3D games. It uses the Entity Component System paradigm to organize game data and logic. It is released under the Apache-2.0 license.
How does Bevy work?
Bevy runs an app built from systems, components and assets, with rendering and UI extraction driving the output. The engine is split into small Rust crates that each handle a focused part of its functionality.
How do I install Bevy?
Bevy is set up by cloning its repository and checking out the latest release with git checkout latest. You can then run the breakout example with cargo run --example breakout.
What language is Bevy written in?
Bevy is written in Rust, and its repository also includes some TypeScript, JavaScript, Kotlin and shell files. Its Rust API is what application code uses to build games.
How is the Bevy code organized?
Bevy keeps its public library entry point in src/lib.rs and groups its functionality into the crates directory. Runnable programs live in the examples directory, and benchmarks live in the benches directory.
Who is Bevy for?
Bevy is aimed at developers who want a complete 2D and 3D feature set in a modular engine. The project aims to be easy for newcomers to pick up while staying flexible for advanced users.
What license does Bevy use?
Bevy uses the Apache-2.0 license, which is the SPDX identifier Apache-2.0. Contributions submitted for inclusion are dual licensed under the same terms.
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 bevyengine/bevy 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.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain bevyengine/bevy?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of bevyengine/bevy. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/bevyengine/bevy?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/bevyengine/bevy?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/bevyengine/bevy?src=badge_card)