Fast, JSON-driven Rust scaffolder for projects, files, and variants.
MIT - Changelog - Contributing - crates.io - docs.rs
cargo install duck-templateduck-template init
duck-template create my-app --variant cli
duck-template create-variant webThe generator reads a template descriptor (local file or remote URL) and emits the project tree from JSON. Flags are injected dynamically into template placeholders.
| Command | What |
|---|---|
duck-template init |
interactive setup |
duck-template create <name> [--variant] |
generate from current template |
duck-template create-variant <name> |
add a variant under the template |
A template is a JSON file with this shape:
{
"name": "my-template",
"variants": {
"cli": { "files": [ ] },
"web": { "files": [ ] }
},
"flags": { "name": "string", "rust_version": "string" }
}See public/schema.json for the full schema.
git clone https://github.com/gentleeduck/duck-template
cd duck-template
cargo build --release
./target/release/duck-template --help- crates.io
- docs.rs
- duck-ui website - cross-linked
PR checklist + style notes in CONTRIBUTING.md.
Security: SECURITY.md. Behaviour: CODE_OF_CONDUCT.md.
MIT. See LICENSE.