Lumeo.Templates
5.12.0
dotnet new install Lumeo.Templates@5.12.0
Lumeo.Templates
dotnet new templates for Lumeo Blazor projects — two app
starters (a WASM client, and a batteries-included full stack) plus item scaffolds for pages,
forms, and components.
Install
dotnet new install Lumeo.Templates
After install, dotnet new list lumeo lists all five templates. Remove them with
dotnet new uninstall Lumeo.Templates.
| Template | Short name | Kind | What you get |
|---|---|---|---|
| Lumeo Blazor WASM App | lumeo-app |
project | A styled, dark-mode-ready Blazor WebAssembly app |
| Lumeo Full-Stack App | lumeo-fullstack |
project | The WASM client + a real API (Identity + Postgres + email) |
| Lumeo Page | lumeo-page |
item | A .razor page with the standard layout |
| Lumeo Form | lumeo-form |
item | A validated form via the [LumeoForm] generator |
| Lumeo Component | lumeo-component |
item | A reusable component following the Lumeo contract |
Start a new app
dotnet new lumeo-app -n MyApp
cd MyApp
dotnet run
That's the whole setup. The app boots styled and dark-mode-ready with zero manual steps —
AddLumeo() is wired, the prebuilt CSS/JS are linked from the NuGet package, and it ships a
collapsible sidebar shell plus Dashboard, Form, and Settings example pages.
Authentication (--auth)
Like the Microsoft "Individual Accounts" templates, lumeo-app scaffolds an auth story via a
choice option — dotnet new lumeo-app -n MyApp --auth <value>:
--auth |
What you get |
|---|---|
demo (default) |
A full auth UI — /login, /register, /forgot-password built from Lumeo's auth blocks in a full-screen auth layout — backed by an in-browser localStorage AuthenticationStateProvider. No backend: any email + any password ≥ 6 chars signs in. The whole app is protected ([Authorize] + AuthorizeRouteView + RedirectToLogin) and the sidebar footer shows the signed-in user with a Profile / Sign-out dropdown. |
none |
No authentication — the original starter with public pages and a static sidebar user card. |
oidc |
Real OIDC/OAuth wiring: Microsoft.AspNetCore.Components.WebAssembly.Authentication + AddOidcAuthentication + a RemoteAuthenticatorView route styled inside the same Lumeo auth layout. Configure your authority in wwwroot/appsettings.json. |
The demo variant is the showcase path, and its one swap seam — the
AuthenticationStateProvider — is documented in the generated project's README.md ("Demo
auth — swap the provider"), with pointers to OIDC, an ASP.NET Core Identity API, and hosted
providers (Auth0 / Entra).
Full-stack starter (lumeo-fullstack)
Where lumeo-app --auth demo is a client with a fake backend, lumeo-fullstack is the
real thing — the same polished Lumeo shell plus an actual API, database, and email:
dotnet new lumeo-fullstack -n MyApp
cd MyApp
docker compose up -d --build # app :8081 · API/Scalar :8080 · MailHog :8025
API (src/MyApp.Api) |
ASP.NET Core Identity via MapIdentityApi (register / login / refresh / confirm-email / 2FA), EF Core + PostgreSQL (Npgsql, auto-migrated on startup in Development), a Scalar OpenAPI reference at /scalar, an IEmailSender sending real SMTP to MailHog, CORS, /health, and a seeded /api/orders endpoint. Email confirmation is required, so sign-up is real end to end. |
Client (src/MyApp.Client) |
The lumeo-app shell, but auth talks to the real Identity endpoints (bearer token + silent refresh), register triggers a confirmation email + a "check your inbox" state, login is blocked until confirmed, and the dashboard grid loads live /api/orders. |
| Ops | docker-compose.yml (Postgres + MailHog + API + nginx-served client) and a .env for all ports/credentials. Ships a hybrid dev loop too: docker compose up -d postgres mailhog then dotnet run both apps. |
Design picks (all documented in the generated README.md): bearer tokens over cookies
for the cleanest cross-origin WASM flow, nginx proxy (same-origin) in Docker vs CORS
in hybrid, and the same single-AuthenticationStateProvider swap seam as lumeo-app.
Item templates
The item templates drop files into an existing Lumeo project (see
Prerequisites below, or just start from lumeo-app).
lumeo-page
A .razor page with an @page directive, Container + Stack, a Heading + Lumeo.Text
header, and a starter Card with buttons.
dotnet new lumeo-page --name Dashboard --route dashboard
| Option | Description | Default |
|---|---|---|
--name / -n |
Page class + file name (PascalCase) | NewPage |
--route |
URL route, without the leading slash | new-page |
lumeo-form
A POCO annotated with [LumeoForm] plus a page that renders it. The
[LumeoForm] source generator (shipped in the core
package) emits the whole <Form> — wired to the built-in DataAnnotationsFormValidator, so
invalid submits show per-field errors automatically.
dotnet new lumeo-form --ModelName Feedback --PageName FeedbackPage --route feedback
| Option | Description | Default |
|---|---|---|
--ModelName |
Model class + file name (PascalCase) | ContactForm |
--PageName |
Page class + file name (PascalCase) | ContactFormPage |
--route |
Page route, without the leading slash | contact |
lumeo-component
A reusable .razor component pre-wired with the Lumeo component contract: an explicit
@namespace, a Class parameter, an AdditionalAttributes splat, and Variant / Size /
Disabled parameters flowing through a class-merging builder.
dotnet new lumeo-component --ComponentName Hero --namespace MyApp.Components
| Option | Description | Default |
|---|---|---|
--ComponentName |
Component class + file name (PascalCase) | MyComponent |
--namespace |
Target namespace | MyApp.Components |
Prerequisites for item templates
The item templates assume a Blazor project already set up for Lumeo. dotnet new lumeo-app
does all of this for you; to add Lumeo to an existing app:
Reference the package(s). Core, plus any satellite you use:
dotnet add package Lumeo dotnet add package Lumeo.DataGrid # only if you use DataGrid / DataTable / FilterRegister the services in
Program.cs:using Lumeo; builder.Services.AddLumeo();Link the prebuilt assets in
wwwroot/index.html. All four are shipped inside the Lumeo NuGet package as static web assets — no Tailwind build, no copying. Miss thelumeo-utilities.csslink and the app renders unstyled; misstheme.jsand dark mode / theming break:<link rel="stylesheet" href="_content/Lumeo/css/lumeo.css" /> <link rel="stylesheet" href="_content/Lumeo/css/lumeo-utilities.css" /> <script src="_content/Lumeo/js/theme.js"></script> <script src="_content/Lumeo/js/components.js" type="module"></script>Import the namespaces in
_Imports.razor:@using Lumeo @using Lumeo.Services
Conventions enforced
@namespacedeclared at the top of component.razorfiles.[Parameter] public string? Classfor consumer-supplied CSS classes.[Parameter(CaptureUnmatchedValues = true)] public Dictionary<string, object>? AdditionalAttributessplatted onto the root element.- Theme tokens via Tailwind classes (e.g.
bg-card,text-foreground,border-border) — never raw hex / hsl / rgb, and nodark:prefix (dark mode is CSS-variable driven). - Icons via the built-in
LumeoIconsset +<SvgGlyph>— icons ship in the Lumeo core since 4.1, e.g.<SvgGlyph Svg="@(LumeoIcons.Star)" class="h-4 w-4" />. No separate icon package is required.
Own your components
Beyond consuming the NuGet package, the Lumeo CLI lets you
vendor individual components as source (lumeo add button) or eject to a fully NuGet-free
project (lumeo eject). See the docs for the full guide.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.12.0 | 41 | 9/25/2026 |
| 5.11.3 | 38 | 9/25/2026 |
| 5.11.2 | 38 | 9/25/2026 |
| 5.11.1 | 43 | 9/25/2026 |
| 5.11.0 | 38 | 9/24/2026 |
| 5.10.5 | 71 | 9/23/2026 |
| 5.10.4 | 93 | 9/16/2026 |
| 5.10.3 | 92 | 9/16/2026 |
| 5.10.2 | 89 | 9/16/2026 |
| 5.10.1 | 83 | 9/15/2026 |
| 5.10.0 | 87 | 9/15/2026 |
| 5.9.1 | 112 | 9/4/2026 |
| 5.9.0 | 106 | 9/4/2026 |
| 5.8.0 | 117 | 9/3/2026 |
| 5.7.0 | 110 | 9/3/2026 |
| 5.6.0 | 119 | 9/2/2026 |
| 5.5.0 | 107 | 9/2/2026 |
| 5.4.0 | 110 | 9/2/2026 |
| 5.3.1 | 104 | 9/2/2026 |
| 5.3.0 | 107 | 9/2/2026 |