Favorites - Cargo Generate Documentation
Description: cargo, make me a project

# Favorites

Favorite templates can be defined in a config file, that by default is placed at `$CARGO_HOME/cargo-generate.toml` or `$CARGO_HOME/cargo-generate`. To specify an alternate configuration file, use the `--config <config-file>` option.

> ⚠️ NOTE: A relative `--config` option, will be relative to the template root during expansion.

Each favorite template is specified in its own section, e.g.:

    [favorites.demo]
    description = "<optional description, visible with --list-favorites>"
    git = "https://github.com/rustwasm/wasm-pack-template"
    branch = "<optional-branch>"
    subfolder = "<optional-subfolder>"
    vcs = "<optional: None|Git>"
    init = optional true|false
    overwrite = optional true|false

Values may be overridden using the CLI arguments of the same names (e.g. `--subfolder` for the `subfolder` value).

Note: Specifying `init = true` has the effect of forcing the template to exhibit behaviour as if `--init` is specified on the commandline, as there is no counter-option!

Note: Specifying `overwrite = true` has the effect of allowing the template to always overwrite files as there is no counter-option!

When favorites are available, they can be generated simply by invoking:

    cargo gen <favorite>

or slightly more involved:

    cargo generate demo --branch mybranch --name expanded_demo --subfolder myfolder

> ⚠️ NOTE: when `<favorite>` is not defined in the config file, it is interpreted as a git repo like as if `--git <favorite>`