Based on the .NET Templating engine https://github.com/dotnet/templating.
This engine is used in the
dotnet new command (docs) and in Visual Studio (
File -> New -> ..)
- additional templates can be installed from a directory or a nuget package (remote by id or local)
- support options, bundling files, post install actions, variabile substitution, etc
- discovery of template packages by package type
- template can contains files, a project, multiple projects, anything.
- some types (like project) have special features (target framework, etc)
Some samples and how to:
The base is the
.template.config/template.json file, who contains the info about the template.