cargo-cli 1.0.0

Create a command line interface binary with some common dependencies ((clap || docopt) and error_chain)
# cargo-cli
Create a command line interface binary with some common dependencies (([`clap`][clap] ||
[`docopt`][docopt]) and [`error_chain`][error_chain])

# Installation
`cargo install cargo-cli`

# Usage
In general, this is extension is used in the same manner as you would use `cargo new --bin`.
Most of the command line arguments supported by `cargo new` are supported by `cargo cli` and are
actually passed through to `cargo new`.

In addition, `cargo cli` supports the following options:

* `arg_parser`: Specify the argument parser to use in the generated output. [default: clap]  [values: clap, docopt]
* `license`: Specify licensing to include in the generated output. [default: both]  [values: both, mit, apache, none]
* `no-readme`: Turn off README.md generation.
* `no-latest`: Turn off the crates.io query for the latest version (use defaults).

```text
cargo-cli 0.1.0

USAGE:
    cargo-cli cli [FLAGS] [OPTIONS] <path>

FLAGS:
        --frozen       Require Cargo.lock and cache are up to date
    -h, --help         Prints help information
        --locked       Require Cargo.lock is up to date
        --no-latest    Turn off the crates.io query for the latest version (use defaults).
        --no-readme    Turn off README.md generation.
    -q, --quiet        No output printed to stdout
    -v                 Use verbose output (-vv very verbose/build.rs output)

OPTIONS:
    -a, --arg_parser <PARSER>    Specify the argument parser to use in the generated output. [default: clap]  [values: clap, docopt]
        --color <WHEN>           Coloring [default: auto]  [values: auto, always, never]
        --license <TYPE>         Specify licensing to include in the generated output. [default: both]  [values: both, mit, apache, none]
        --name <NAME>            Set the resulting package name, defaults to the value of <path>.
        --vcs <VCS>              Initialize a new repository for the given version control system
                                 or do not initialize any version control at all, overriding a
                                 global configuration. [default: git]  [values: git, hg, pijul, fossil, none]

ARGS:
    <path>
```

# Examples
### With clap
`cargo cli <path>`

### With docopt
`cargo cli -a docopt <path>`

### No licenses or README.md
`cargo cli --license none --no-readme <path>`

### With some `cargo new` arguments
`cargo cli --vcs pijul -vv -a docopt --name flambe <path>`

# CLI Layout

### Default
```text
.
├── Cargo.toml
├── LICENSE-APACHE
├── LICENSE-MIT
├── README.md
└── src
    ├── error.rs
    ├── main.rs
    └── run.rs
```

### No Licenses or README.md
```text
.
├── Cargo.toml
└── src
    ├── error.rs
    ├── main.rs
    └── run.rs
```

[clap]: https://clap.rs/
[docopt]: https://github.com/docopt/docopt.rs
[error_chain]: https://github.com/brson/error-chain