PouryaKit
ReferencePackages

PouryaKit.Templates

A dotnet new template package.

A dotnet new template package. A new application starts from the Proving Sample's business code in one of its compositions: the monolith, one Module that grows into the modular monolith when a second Module arrives; the modular monolith, several Modules in one Host; and the service, one Module in a Host of its own that receives another Host's Integration Events and Snapshots over RabbitMQ.

Install

dotnet new install PouryaKit.Templates@<version>

Name the version: the template package's version becomes the Kit version every generated project pins. Install the templates gives the published one.

When to use it

  • You start a new application on the Kit.
  • You choose between a monolith, a modular monolith and a service.
  • You grow the monolith into a modular monolith, or split a Module out as a service over RabbitMQ.

A generated solution references the Kit's packages, such as PouryaKit.Modularity and PouryaKit.Web, at the template package's version, and tests itself with PouryaKit.Testing.

Quick start

Generate one solution, by the composition you want:

dotnet new pouryakit-monolith -n Acme.Shop
dotnet new pouryakit-modular-monolith -n Acme.Shop
dotnet new pouryakit-service -n Acme.Stock

Then start PostgreSQL, apply the migrations and run it: Your first Host walks through each step.

What you get

  • The Proving Sample's business code.
  • A Composition Root and endpoint adapters for each composition.
  • A smoke test in every generated solution.
  • The SDK, the test runner, dotnet-ef and csharpier pinned as the Kit pins them.

The generated Host applies no migration at startup and does not start without its bearer settings. Your first Host walks through both.

Learn more

On this page