Skip to content

Getting started

Prerequisites

  • .NET 10 SDK
  • Node.js + npm (Tailwind/Flowbite build)

Scaffold

dotnet new install <installer-package-or-path>
dotnet new connectsoft-blazor-mfe -n Acme.Portal

Common options (see parameters):

# DaisyUI adapter, dark theme, compact density, RTL on
dotnet new connectsoft-blazor-mfe -n Acme.Portal --uiKitAdapter DaisyUI --theme Dark --density Compact --enableRTL true

# Shell port (the only port symbol that actually affects generated output)
dotnet new connectsoft-blazor-mfe -n Acme.Portal --ShellPort 8000

BffApiPort, SelfServiceMfePort, and AdminMfePort also exist as template symbols but have no effect on generated output (no BFF project or separate MFE host exists for them to configure) — don't pass them expecting a result.

The template runs dotnet restore and npm install as post-actions.

Run

cd Acme.Portal
npm install
dotnet run --project src/Shell.BlazorServer

The shell hosts the two sample microfrontends in-process, at /admin (+ /admin/users) and /self-service (+ /self-service/profile). These are Razor Class Libraries referenced by Shell.BlazorServer.Core and composed via ShellMfeRegistry — not separate WASM apps or processes, and there are no catch-all routes involved.

Test

dotnet test    # MSTest + bUnit (component tests) + NetArchTest (architecture tests)

When to use the Shell template instead

If you only need a shell host (no sample MFEs composed in, no UIKit adapter choice at generation time), the template's own metadata points you to connectsoft-blazor-shell.

See also