# Introduction
> cargo, make me a project
[](https://github.com/cargo-generate/cargo-generate/actions?query=workflow%3ABuild+branch%3Amain+)
[](https://crates.io/crates/cargo-generate)
[](https://deps.rs/repo/github/cargo-generate/cargo-generate)
`cargo-generate` is a developer tool to help you get up and running quickly with a new Rust
project by leveraging a pre-existing git repository as a template.
cargo-generate uses [Shopify's Liquid] template language,
[Rhai](https://docs.rs/rhai/latest/rhai/) for hook scripts and [regex](https://docs.rs/regex/latest/regex/) for placeholders.
Due to the use of [Shopify's Liquid], `cargo-generate` special cases files with the file-ending
`.liquid`, by simply removing the file-ending when processing the files. If you, as a template
author, truly want the `.liquid` file-ending, you need to repeat it twice!
For example: The file `README.md.liquid` will be renamed after templating to `README.md`.
If `README.md` already exists, then it will be overwritten to include the contents of `README.md.liquid`.
Here's an example of using `cargo-generate` with [this template]:

[this template]: https://github.com/rustwasm/wasm-pack-template
[Shopify's Liquid]: http://liquidmarkup.org/