Open-source C# libraries for building .NET 10 / Blazor applications — a strict value-object foundation, a multi-site web kernel, in-process messaging, and a unified AI layer.
Everything targets net10.0, ships with XML docs and symbol packages, and is trim-annotated.
The Zonit.Extensions repository is a monorepo: one value-object foundation plus the domain cores
and the web kernel layered on top. The five domain cores have no ASP.NET Core dependency — they
work from a console, worker or WASM host.
| Package | NuGet | Downloads | What it does |
|---|---|---|---|
| Zonit.Extensions | Value-object foundation: Identity, Permission, Role, Title, Url, Asset, Price/Money, Schedule, Culture, Zone. Registers nothing in DI. |
||
| Zonit.Extensions.Auth | Framework-agnostic auth core. You implement IAuthSource; the web side adds [RequirePermission]. |
||
| Zonit.Extensions.Cultures | Translations, per-scope culture and time-zone state. | ||
| Zonit.Extensions.Organizations | Workspace context — the active organization and switching between them. | ||
| Zonit.Extensions.Projects | Catalog / project context scoped to the active organization. | ||
| Zonit.Extensions.Tenants | Per-domain tenant identity and settings, with strongly-typed plugin settings. | ||
| Zonit.Extensions.Website | The web kernel: several Sites in one app, plug-in areas, layouts, page base classes, navigation, breadcrumbs, toasts, cookies. | ||
| Zonit.Extensions.Website.MudBlazor | MudBlazor inputs bound to value objects, plus layout primitives. | ||
| Zonit.Extensions.Ai | One IAiProvider over OpenAI, Anthropic, Google, xAI and ElevenLabs — text, images, embeddings, audio, agents, MCP, cost tracking. |
||
| Zonit.Extensions.Databases | Repository abstractions over EF Core, with source-generated value-object mapping. |
Note on
*.Abstractions. EveryZonit.Extensions.*.Abstractionspackage is retired. The abstractions moved into the main package of each domain. Do not add them to new projects.
In-process Commands (CQRS), Events (pub/sub), Tasks (background jobs) and Schedules (recurring jobs). Handlers are discovered by a source generator at compile time — no assembly scanning, no reflection.
| Package | NuGet | Downloads | What it does |
|---|---|---|---|
| Zonit.Messaging.Commands | Request/response with IRequestHandler<,>. |
||
| Zonit.Messaging.Events | Pub/sub fan-out with IEventHandler<T>. |
||
| Zonit.Messaging.Tasks | Background jobs with progress, retries and monitoring. | ||
| Zonit.Messaging.Schedules | Recurring jobs driven by the Schedule value object. |
| Package | NuGet | Downloads | What it does |
|---|---|---|---|
| Zonit.Services.Dashboard | Admin dashboard UI on top of the web kernel: MudBlazor chrome, drawer/toolbar extension slots, theming. |
- Zonit.Plugins — shared contracts and event types for plugin-based architectures.
Installing a Zonit package also installs instructions for your AI assistant. At build time the package unpacks guides into the surfaces your editor already reads:
.zonit/extensions/<area>/*.md neutral guides, human- and agent-readable
.claude/skills/…/SKILL.md Claude Code skill
.cursor/rules/*.mdc Cursor rules, glob-scoped
.github/instructions/*.md Copilot instructions
CLAUDE.md · .github/copilot-instructions.md
Only editors actually present in your repo get files, nothing is written on CI, and each package
ships only its own guides — installing Zonit.Extensions.Cultures does not dump the web-kernel
documentation on you. Turn it off with <ZonitExtInstructions>false</ZonitExtInstructions>.
dotnet add package Zonit.Extensions.Websitebuilder.Services.AddWebsite(o => o.AddArea<MyArea>()); // registers Auth, Cultures,
// Organizations, Projects, Tenants too
var app = builder.Build();
app.UseWebsite<App>("/", o => o.AddArea<MyArea>());
app.Run();Each repository's Readme.md documents its own packages; the per-package guides under
.zonit/extensions/ go deeper.
Contributions welcome — open an issue or a pull request on any repository.