# bevy_api_gen This crate is a part of the ["bevy_mod_scripting" workspace](https://github.com/makspll/bevy_mod_scripting). bevy_api_gen is a Cargo plugin that generates reflection-powered wrappers for Bevy types. It can list Reflect types in a workspace and perform arbitrary codegen using Tera templates. # Installation To install bevy_api_gen, use the following command: ```bash cargo +nightly-2024-01-24 install bevy_api_gen ``` # Usage ## Generate To run the main codegen process, use the following command: ```bash cargo +nightly-2024-01-24 bevy-api-gen generate ``` This will perform all parts of the process and generate meta as well as .rs files for each crate in your workspace in your `/target/plugin-nightly-2024-01-24/bevy_api_gen` directory ## Collect After generating all the files, you can 'collect' them in a mod.rs file like so: ```bash cargo +nightly-2024-01-24 bevy-api-gen collect ``` ## List Types To see a list of all `Reflect` implementing types in your workspace run: ```bash cargo +nightly-2024-01-24 bevy-api-gen list-types > all_types.txt ``` ## List Templates To see the list of all templates which you can override use: ```bash cargo +nightly-2024-01-24 bevy-api-gen list-templates ``` ## Print Template You can also print any of the templates to stdout: ```bash cargo +nightly-2024-01-24 bevy-api-gen print item.tera ```