bevyengine/bevy
Tooling
The internal tooling that lives under tools/, plus the configuration files that govern style and CI. None of this is published to crates.io; it exists to make the workspace easier to develop in.
tools/ci
The single source of truth for "what does CI run?" Defined as a regular Cargo binary at tools/ci/. Subcommands map to focused jobs:
| Command | What it does | Source |
|---|---|---|
cargo run -p ci -- check |
The default — runs every check below. | tools/ci/src/ci.rs |
cargo run -p ci -- format |
cargo fmt --all -- --check. |
tools/ci/src/commands/format.rs |
cargo run -p ci -- lints |
Format + clippy + doc lints. | tools/ci/src/commands/lints.rs |
cargo run -p ci -- clippy |
Workspace-wide cargo clippy. |
tools/ci/src/commands/clippy.rs |
cargo run -p ci -- compile |
Just cargo check everything; no tests. |
tools/ci/src/commands/compile.rs |
cargo run -p ci -- compile-check |
cargo check with --all-targets. |
tools/ci/src/commands/compile_check.rs |
cargo run -p ci -- test |
cargo test --workspace --no-fail-fast. |
tools/ci/src/commands/test.rs |
cargo run -p ci -- test-check |
cargo check --tests. |
tools/ci/src/commands/test_check.rs |
cargo run -p ci -- doc |
cargo doc --no-deps --workspace. |
tools/ci/src/commands/doc.rs |
cargo run -p ci -- doc-check |
Doc warnings as errors. | tools/ci/src/commands/doc_check.rs |
cargo run -p ci -- doc-test |
Run rustdoc tests. | tools/ci/src/commands/doc_test.rs |
cargo run -p ci -- bench-check |
cargo check -p benches. |
tools/ci/src/commands/bench_check.rs |
cargo run -p ci -- compile-fail |
Run trybuild compile-fail tests. | tools/ci/src/commands/compile_fail.rs |
cargo run -p ci -- example-check |
cargo check --examples per example. |
tools/ci/src/commands/example_check.rs |
cargo run -p ci -- integration-test / -check / -clean |
Run/check/clean tests-integration/. |
tools/ci/src/commands/integration_test*.rs |
The binary is invoked directly by the GitHub workflows in .github/workflows/ci.yml. Reproducing CI locally is a single command.
tools/build-templated-pages
A code-generator that updates files in the repo from data sources. Run it after adding examples or features.
cargo run -p build-templated-pages -- update examples
cargo run -p build-templated-pages -- update featuresIt rewrites:
examples/README.mdfrom the[[example]]metadata in the workspaceCargo.toml.docs/cargo_features.mdfrom the[features]table.
CI checks the regenerated output against what's committed and fails if they differ.
Source: tools/build-templated-pages/src/.
tools/build-wasm-example
Builds an example for the browser using wasm-bindgen. Outputs an HTML page plus the .wasm file you can drop on any static-file host:
cargo run -p build-wasm-example -- breakoutThe output goes to examples/wasm/target/. Wasm-builds use the webgl2 and webgpu features; pass --api webgl2 or --api webgpu to force a backend.
Source: tools/build-wasm-example/.
tools/example-showcase
Runs every example for a few seconds and captures a screenshot. The repo's CI uploads the screenshots to Pixel Eagle for visual regression review.
cargo run -p example-showcase -- run-examplesSource: tools/example-showcase/.
tools/build-easefunction-graphs
Generates the SVG plots embedded in bevy_math::curve documentation, so the rustdoc stays in sync with the implementations.
cargo run -p build-easefunction-graphsSource: tools/build-easefunction-graphs/.
tools/compile_fail_utils
Helper used by the compile_fail/ test crates to share infrastructure for trybuild assertions across bevy_derive, bevy_ecs, and bevy_reflect.
Source: tools/compile_fail_utils/.
tools/export-content
Exports release notes and migration guides into the format the Bevy website expects. Used at release time by the post-release.yml workflow.
Source: tools/export-content/.
Configuration files
| File | Purpose |
|---|---|
Cargo.toml (root) |
Workspace, members, lints, dependencies, [[example]] entries. ~3,400 lines. |
clippy.toml |
Doc-valid identifiers, banned methods (the f32::* math ban), macro brace conventions. |
rustfmt.toml |
Bevy's formatting config — minimal, mostly defaults. |
deny.toml |
cargo-deny rules for licenses and advisories. |
typos.toml |
Custom dictionary for the typos spell checker. |
.cargo/config_fast_builds.toml |
"Fast compiles" toolchain config; copy to .cargo/config.toml to opt in. |
.gitattributes, .gitignore |
Standard Git config, plus special handling for binary asset diff suppression. |
CI workflows
The GitHub Actions workflows that consume the above:
| Workflow | What it does |
|---|---|
.github/workflows/ci.yml |
The main CI — calls tools/ci. Runs on every PR. |
.github/workflows/dependencies.yml |
Periodic cargo update and dependency review. |
.github/workflows/docs.yml |
Builds rustdoc and uploads to GitHub Pages. |
.github/workflows/example-run.yml |
Runs examples and captures screenshots. |
.github/workflows/example-run-report.yml |
Posts the example run results back to PRs. |
.github/workflows/send-screenshots-to-pixeleagle.yml |
Uploads screenshots for visual diff. |
.github/workflows/post-release.yml |
Publishes crates and updates the website after a release. |
.github/workflows/security-static-analysis.yml |
cargo audit + cargo deny. |
.github/workflows/update-caches.yml |
Refreshes the GitHub Actions cache. |
.github/workflows/welcome.yml |
First-time-contributor greeting. |
.github/workflows/validation-jobs.yml |
Periodic deeper checks. |
.github/workflows/action-on-PR-labeled.yml |
Routes PRs based on labels. |
.github/workflows/ci-comment-failures.yml |
Posts CI failure summaries to PRs. |
Useful third-party tooling
Not maintained in-tree, but the community uses these enough to mention:
bevy-inspector-egui— the de-facto runtime inspector.bevy_lint— additional Bevy-specific lints.bevy_dev_console— interactive debug console.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.