Why these choices

A starter's choices become yours the day you clone it. These pages explain each one in the same three parts, so you can decide what to keep:

  • The problem it solves — what goes wrong without it.
  • What it costs — in code, in moving parts, in learning.
  • What you can relax — and what breaks if you do.
ChoiceIn one line
Hexagonal architectureOne project per domain, boundaries checked by tests
A gateway that keeps the sessionNo token in the browser
OpenIddict for identityYour own OpenID Connect server, open source
Wolverine for messagingIntegration events with a transactional outbox, open source
Aspire in developmentThe whole graph with one command
A separate migration runnerSchema changes are a step, not a side effect
Repositories tested on real PostgreSQLWhat the database does, tested on the database
A design system of its ownOne set of tokens and components for every front end

One principle runs through all of them: every dependency is under an open-source licence, so nothing has to be bought to build or run the product you make with the Starter.