Petabridge.Templates 2.1.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet new install Petabridge.Templates::2.1.0                
This package contains a .NET Template Package you can call from the shell/command line.

Petabridge.Templates

.NET CLI templates for Petabridge-style projects.

Goals

The goal of this project is provide templates for creating professional-quality OSS projects that do the following:

  1. Have unit tests;
  2. Have performance tests;
  3. Have documentation;
  4. Have build system support, x-plat; and
  5. Have standardized conventions that allow all of the above to be extended and workable.

Installation and Use

To use these templates, execute the following command on the dotnet CLI:

dotnet new -i "Petabridge.Templates::*"

This will download the latest available Petabridge.Templates package from NuGet and install it into your CLI.

After the installation process is complete, you'll see all of the templates included in the Petabridge.Templates package listed in your set of available templates if you execute the dotnet new -l command:

Template Name                                       Short Name           Language    Tags
--------------------------------------------------  -------------------  ----------  --------------------------
Class Library                                       classlib             [C#],F#,VB  Common/Library
Console App                                         console              [C#],F#,VB  Common/Console
Petabridge .NET Core Library                        pb-lib               [C#]        Petabridge/DocFx/Tests
Petabridge Akka.Cluster Starter App                 pb-akka-cluster      [C#]        Petabridge/DocFx/Tests
Petabridge ASP.NET Core + Akka.Cluster Starter App  pb-akka-web          [C#]        Petabridge/DocFx/Tests

To uninstall the package, use the following command:

dotnet new -u Petabridge.Templates

Available Templates

The following templates are installed as part of your Petabridge.Templates installation:

Template Name Short Name Description
Petabridge.Library pb-lib A professional .NET Core project setup including build scripts, documentation, unit tests, and performance tests for a class library project.
Petabridge.App pb-akka-cluster Creates a headless .NET 6 service that includes full Akka.NET clustering support, Docker support, documentation, and build systems.
Petabridge.App.Web pb-akka-web Does the same as pb-akka-cluster, but hosts Akka.NET inside an ASP.NET Core 6 simple web application.

You can read more about how these templates work by clicking on their titles and reading the README.md for each individual project.

To use one of these templates, you can use the dotnet new command followed by the name or shortname.

dotnet new pb-lib [-n name] [other arguments]

So for instance, if I execute dotnet new pb-lib -n "MyProject" the following output will appear in my working directory:

D:\MyProject\.nuke
D:\MyProject\build.cmd
D:\MyProject\build.ps1
D:\MyProject\build.sh
D:\MyProject\MyProject.sln
D:\MyProject\README.md
D:\MyProject\RELEASE_NOTES.md
D:\MyProject\build
D:\MyProject\build\_build.csproj
D:\MyProject\build\Build.CI.GitHubActions.cs
D:\MyProject\build\Build.cs
D:\MyProject\build\Configuration.cs
D:\MyProject\build\Directory.Build.props
D:\MyProject\build\Directory.Build.targets
D:\MyProject\docs
D:\MyProject\docs\api
D:\MyProject\docs\articles
D:\MyProject\docs\docfx.json
D:\MyProject\docs\images
D:\MyProject\docs\index.md
D:\MyProject\docs\toc.yml
D:\MyProject\docs\api\index.md
D:\MyProject\docs\articles\index.md
D:\MyProject\docs\articles\toc.yml
D:\MyProject\docs\images\icon.png
D:\MyProject\src
D:\MyProject\src\Directory.Build.props
D:\MyProject\src\MyProject
D:\MyProject\src\MyProject.Tests
D:\MyProject\src\MyProject.Tests.Performance
D:\MyProject\src\MyProject\Class1.cs
D:\MyProject\src\MyProject\MyProject.csproj
D:\MyProject\src\MyProject.Tests\MyProject.Tests.csproj
D:\MyProject\src\MyProject.Tests\UnitTest1.cs
D:\MyProject\src\MyProject.Tests.Performance\MyProject.Tests.Performance.csproj
D:\MyProject\src\MyProject.Tests.Performance\UnitTest1.cs

I'll have a new .NET 6 library project complete with a cross-platform build system, documentation, unit tests, performance tests, and a README explaining how all of the above work ready to go from day one.

See the official dotnet new documentation for more information on the sorts of options that are available when using project templates.

Questions, Comments, and Suggestions

We accept pull requests! Please let us know what we can do to make these templates more useful, extensible, or easier to use.

About Petabridge

Petabridge logo

Petabridge is a company dedicated to making it easier for .NET developers to build distributed and high-performance applications in .NET.

Petabridge provides Akka.NET consulting, training, and support including advanced training in Akka.Remote, Akka.Cluster, and Akka.NET Design Patterns!


Copyright 2015 - 2022 Petabridge® All rights reserved.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.2.0 1,354 2/22/2023
2.1.1 692 8/10/2022
2.1.0 614 6/9/2022
2.0.3 605 3/16/2022
2.0.2 438 3/4/2022
2.0.1 456 2/18/2022
2.0.0 427 2/17/2022
1.2.0 2,575 4/15/2021
1.1.1 379 4/1/2021
1.1.0 640 3/2/2020
1.0.5 595 1/30/2020
1.0.4 556 11/26/2019
1.0.3 561 11/25/2019
1.0.2 572 10/31/2019
1.0.1 613 10/6/2019
1.0.0 554 10/5/2019
0.5.3 633 8/5/2019
0.5.2 794 3/15/2019
0.5.1 606 3/14/2019
0.5.0 600 3/7/2019
0.4.3 681 2/17/2019
0.4.2 737 12/31/2018
0.4.1 654 12/31/2018
0.3.1 933 9/7/2018
0.3.0 998 7/14/2018
0.2.1 1,069 4/19/2018
0.2.0 1,091 1/17/2018
0.1.3 1,907 10/18/2017
0.1.2 1,037 8/19/2017
0.1.1 986 8/15/2017
0.1.0 914 8/15/2017

- Migrated Petabridge.App and Petabridge.App.Web templates to use [Akka.Hosting](https://github.com/akkadotnet/Akka.Hosting)
- Migrated Petabridge.App and Petabridge.App.Web to use file-scoped namespaces and minimal .NET 6 APIs
- Enabled nullability for Petabridge.App and Petabridge.App.Web
- Removed dependency on Akka.Bootstrap.Docker, migrated to using Microsoft.Extensions.Configuration instead