# NIH-plug: bundler and other utilities This is NIH-plug's `cargo xtask` command, but as a library. This way you can use it in your own projects without forking this repo or copying the binary into your own repo. This is necessary until Cargo supports [running binaries from dependencies directly](https://github.com/rust-lang/rfcs/pull/3168). To use this, add an `xtask` binary to your project using `cargo new --bin xtask` and add it to the Cargo workspace in your repository's main `Cargo.toml` file: ```toml # Cargo.toml [workspace] members = ["xtask"] ``` Then add `nih_plug_xtask` to your new xtask package's dependencies: ```toml # xtask/Cargo.toml [dependencies] nih_plug_xtask = { git = "https://github.com/robbert-vdh/nih-plug" } ``` Call `nih_plug_xtask`'s main function own xtask binary: ```rust # xtask/src/main.rs fn main() -> nih_plug_xtask::Result<()> { nih_plug_xtask::main() } ``` And finally create a `.cargo/config` file in your repository and add a Cargo alias so you can invoke the binary with `cargo xtask`: ```toml # .cargo/config [alias] xtask = "run --package xtask --release --" ```