# cargo-wizard [![Build Status]][actions] [![Latest Version]][crates.io] [Build Status]: https://github.com/kobzol/cargo-wizard/actions/workflows/check.yml/badge.svg [actions]: https://github.com/kobzol/cargo-wizard/actions?query=branch%3Amain [Latest Version]: https://img.shields.io/crates/v/cargo-wizard.svg [crates.io]: https://crates.io/crates/cargo-wizard Cargo subcommand that applies [profile](https://doc.rust-lang.org/cargo/reference/profiles.html) and [config](https://doc.rust-lang.org/cargo/reference/config.html#configuration-format) templates to your Cargo project to configure it for maximum performance, fast compile times or minimal binary size. ![Demo of cargo-wizard](img/wizard-demo.gif) # Motivation I often see Rust users asking online about how can they best configure Cargo get e.g. the fastest compilation times, best runtime performance or minimal binary size. While this information can be found in various [books](https://nnethercote.github.io/perf-book/build-configuration.html), [repositories](https://github.com/johnthagen/min-sized-rust) or [blog posts](https://kobzol.github.io/rust/rustc/2023/10/21/make-rust-compiler-5percent-faster.html), it is annoying to hunt for it everytime we want to configure a new Cargo project. This tool tries to automate that process to make it easier. # Installation ```bash $ cargo install cargo-wizard ``` # Usage - Interactive mode (CLI dialog that guides you through the process): ```bash $ cargo wizard ``` - Non-interactive mode (directly apply a predefined template to your Cargo workspace): ```bash $ cargo wizard apply