A workspace is a set of packages shares the same Cargo.lock and the same output directory. There are multiple ways to structure a workspace, but here is one common way:

To start, add the following lines to Cargo.toml:

[workspace]
 
members = [
    "adder",
]

Next, we’ll create the adder binary crate by running cargo new:

$ cargo new adder
     Created binary (application) `adder` package

Reference