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.
| Choice | In one line |
|---|---|
| Hexagonal architecture | One project per domain, boundaries checked by tests |
| A gateway that keeps the session | No token in the browser |
| OpenIddict for identity | Your own OpenID Connect server, open source |
| Wolverine for messaging | Integration events with a transactional outbox, open source |
| Aspire in development | The whole graph with one command |
| A separate migration runner | Schema changes are a step, not a side effect |
| Repositories tested on real PostgreSQL | What the database does, tested on the database |
| A design system of its own | One 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.