Open-Source Wikis

/

Bevy

/

How to contribute

bevyengine/bevy

How to contribute

Bevy is community-driven. Contributions land via GitHub pull requests reviewed by the Bevy maintainer team. This section is the code-level companion to the official contributor's guide; read that first for the social and process side, then come here for the day-to-day mechanics.

At a glance

  • Branch off main, push to a fork, open a PR.
  • CI must be green: cargo run -p ci -- check reproduces it locally.
  • Use migration-guide-friendly commit messages — the changelog is generated from PR titles and labels.
  • Anything user-facing requires docs and (where it makes sense) an example.

Pages in this section

Page What's covered
Development workflow Branching, PRs, draft → ready, what reviewers look at.
Testing Unit tests, doctests, examples-as-smoke-tests, the trybuild compile-fail harness.
Debugging Logs, RUST_LOG, tracing, profilers, GPU debuggers, the BRP.
Patterns and conventions Coding style, idiomatic ECS, error handling, lints.
Tooling tools/ci, tools/build-templated-pages, tools/build-wasm-example, the clippy.toml and rustfmt.toml settings.

Definition of done

For a typical PR:

  • All cargo run -p ci -- check jobs pass on Linux/macOS/Windows.
  • Public APIs have rustdoc — the workspace lints (missing_docs = "warn") will tell you if you forgot.
  • Breaking changes carry a migration-guide entry under _release-content/.
  • New cargo features are added to Cargo.toml and described in docs/cargo_features.md (auto-generated by tools/build-templated-pages).
  • Where applicable, an example exists or has been updated.

Where to look first when changing X

You want to change... Start in...
The plugin system, schedules, the App lifecycle bevy_app
Anything ECS — entities, queries, systems, observers bevy_ecs
Reflection, scene serialization, type registry bevy_reflect, bevy_scene
Asset loading, hot reload, the asset processor bevy_asset
Rendering core (extract/prepare/queue, render graph) bevy_render, bevy_core_pipeline
PBR materials, lighting, shadows bevy_pbr, bevy_light
2D / sprites bevy_sprite, bevy_sprite_render
UI nodes, layout, widgets bevy_ui, bevy_ui_widgets, bevy_feathers
Input, gamepads, focus bevy_input, bevy_gilrs, bevy_input_focus
Windowing, platform integration bevy_window, bevy_winit
Animation bevy_animation
Audio bevy_audio
The remote inspector / BRP bevy_remote, API
State machines (Menu / Game / Paused) bevy_state

Communication

  • Discord#contributors-general and #dev-help are the most active channels.
  • GitHub Issues — for bugs and concrete feature work.
  • GitHub Discussions — for open-ended questions.
  • RFCs repo (bevyengine/rfcs) — for cross-cutting design proposals.

License contributions

By submitting a PR you agree that your contribution is dual-licensed under MIT/Apache-2.0, matching the rest of the project. There is no CLA.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

How to contribute – Bevy wiki | Factory