Blazor and MAUI Template Alignment¶
This page defines the current alignment standard for Blazor and MAUI templates. Backend-style base-template submodule composition is intentionally deferred.
Repo classification¶
- Templates generate a reusable starter solution and must be installable with
dotnet new. - Concrete templates generate a specific shell or microfrontend implementation and must also be installable with
dotnet new. - Libraries are reusable packages. They are not required to expose template metadata unless the repo intentionally acts as a generator.
ConnectSoft.Maui.UIKit is treated as a library. ConnectSoft.Blazor.UIKit keeps its existing generator metadata and is packaged as ConnectSoft.Blazor.UIKit.Template.
Required template surface¶
Every real template must include:
.template.config/template.json.template.config/dotnetcli.host.json.template.config/ide.host.json- a
.nuspecwith package typeTemplate azure-pipelines-template.yml- central package management through
Directory.Packages.props - solution, source, tests, and docs exclusions for generated output
Standard parameters¶
Templates use these normalized parameter names:
FrameworkuiKitAdapterincludeTestsincludeSamplesincludeDocsUseLocalizationUseObservabilityUseSecurityUseValidatedOptionsskipRestore
Use specialCustomOperations casing in template manifests.
ConnectSoft extension baseline¶
Blazor shell and microfrontend templates reference ConnectSoft packages for options, metrics, localization, logging, observability, telemetry, web security, rate limiting, request timeout, and testing.
Blazor and MAUI UI libraries reference the library-safe baseline: core extensions, options, metrics, localization, and testing.
Build matrix¶
| Repository | Classification | Template metadata | Packaging | Extension baseline | Restore check |
|---|---|---|---|---|---|
ConnectSoft.Blazor.Mfe.ECS.AdminTemplate |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.ECS.MonitoringTemplate |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.ECS.SelfServiceTemplate |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.Identity.AdminTemplate |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.Identity.SelfServiceTemplate |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.Logistics.Template |
Concrete template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.ECS.ShellTemplate |
Concrete shell template | Aligned | Aligned | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.AIChatTemplate |
Existing template | Normalized | Existing | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.Mfe.AuthorizationServer.AdminTemplate |
Existing template | Normalized | Existing | Runtime baseline | Requires authenticated ConnectSoft feed |
ConnectSoft.Blazor.UIKit |
Library with generator metadata | Normalized | Aligned | Library baseline | Passes restore |
ConnectSoft.Maui.UIKit |
Library | Not required | Not required | Library baseline | Passes restore |
ConnectSoft.MauiBaseTemplate |
MAUI template | Existing | Existing | Runtime baseline | Passes restore with OpenTelemetry advisory warnings |
Gaps closed¶
- Missing
.template.configmetadata on concrete Blazor shell and microfrontend templates. - Missing CLI and IDE host metadata for concrete Blazor templates.
- Missing template
.nuspecfiles and CI pack/install/scaffold smoke steps. - Inconsistent parameter names and casing, including
IncludeTests/IncludeGalleryandSpecialCustomOperations. - Missing
defaultName, solution-level template type, primary outputs, and.slnxcustom operations in selected template manifests. - Missing ConnectSoft extension baselines for options, metrics, localization, observability, security, request timeout, rate limiting, and template tests.
- Invalid JSON comments in MAUI appsettings files.
Remaining operational gaps¶
- Blazor runtime template restore depends on authenticated access to the ConnectSoft package feed for
ConnectSoft.Extensions.*packages. ConnectSoft.MauiBaseTemplaterestore reports moderate vulnerability advisories forOpenTelemetry.Exporter.OpenTelemetryProtocol1.13.1.- Backend-style base-template/submodule composition remains intentionally deferred.
Validation expectations¶
Template pipelines must pack the template, install the package, instantiate a smoke project with --skip-restore true, and publish the generated .nupkg artifact.