# cargo-bin
[](https://github.com/gensmusic/cargo-bin)
[](https://crates.io/crates/cargo-bin)
![Rust](https://github.com/gensmusic/cargo-bin/workflows/Rust/badge.svg)
The `cargo bin` subcommand provides some operations to manage binaries in Cargo.toml.
# install
```shell script
# install
cargo install cargo-bin
```
# usage
## create a new binary main file and add into Cargo.toml
Create a new binary `abc` and add into Cargo.toml.
The following will create a file abc.rs with a default `fn main()` in current folder.
And a `[[bin]]` will be added into the Cargo.toml.
```shell script
cd src
cargo bin new abc
# or
cargo bin new abc.rs
```
The Cargo.toml file.
```toml
[[bin]]
name = "abc"
path = "src/abc.rs"
```
## tidy
`cargo bin tidy` will add all `.rs` file with a `main` function into Cargo.toml.
It will also clean up all the invalid `[[bin]]`s which doesn't exists.
```shell script
cargo bin tidy
```