A collection of dotnet new templates for common project types and workflows.
Blueprints is published to GitHub Packages. To install it, you'll need a GitHub
personal access token (PAT) with at least read:packages scope.
Go to GitHub Settings → Developer Settings → Personal Access Tokens
and create a token with the read:packages scope.
Store your PAT as an environment variable rather than entering it in plain text on the command line.
macOS/Linux
export GITHUB_PAT=your_pat_herePowerShell
$env:GITHUB_PAT = "your_pat_here"Windows (Command Prompt)
setx GITHUB_PAT "your_pat_here"The --name flag sets the key used to identify this source in your local NuGet
configuration. It can be anything you like -- the value below is just a suggestion.
macOS/Linux
dotnet nuget add source "https://nuget.pkg.github.com/scottoffen/index.json" \
--name "scottoffen" \
--username YOUR_GITHUB_USERNAME \
--password $GITHUB_PATPowerShell
dotnet nuget add source "https://nuget.pkg.github.com/scottoffen/index.json" `
--name "scottoffen" `
--username YOUR_GITHUB_USERNAME `
--password $env:GITHUB_PATWindows (Command Prompt)
dotnet nuget add source "https://nuget.pkg.github.com/scottoffen/index.json" ^
--name "scottoffen" ^
--username YOUR_GITHUB_USERNAME ^
--password %GITHUB_PAT%dotnet new install ScottOffen.BlueprintsTo update to the latest version:
dotnet new update ScottOffen.BlueprintsTo remove the templates:
dotnet new uninstall ScottOffen.BlueprintsTo install the templates locally from source for testing:
dotnet new install src/BlueprintsTo uninstall:
dotnet new uninstall src/BlueprintsAfter making changes to the templates, uninstall and reinstall to pick up the changes:
dotnet new uninstall src/Blueprints && dotnet new install src/BlueprintsTo verify the templates are installed:
dotnet new list --author "Scott Offen"Template folder names follow the convention template-[scope]-[ecosystem]-[descriptor].
Scope describes what the template creates:
| Value | Description |
|---|---|
repo |
An entire repository structure |
sln |
A solution structure (multiple projects) |
project |
A single project |
partial |
A partial project addition (e.g., a Docker container, a GitHub Actions workflow) |
Ecosystem identifies the technology:
| Value | Description |
|---|---|
dotnet |
C# / .NET |
php |
PHP |
js |
JavaScript |
ts |
TypeScript |
docker |
Docker |
gh |
GitHub (Actions, workflows, etc.) |
Descriptor is a short name for what the template specifically creates, such as
osspkg, webapi, console, mysql, or postgres.
| Short Name | Description |
|---|---|
| coming soon | coming soon |
This project is dual licensed under the MIT License and the Apache License 2.0. You may choose either license at your option.