Packages¶
The repository contains many packages, but they are easier to understand when grouped by role rather than read as a flat list.
Core foundation¶
These packages provide shared building blocks used throughout the kit:
Common.AbstractionsCommon.ResultsCommon.RulesCommon.ExtensionsCommon.MappingCommon.OptionsCommon.SerializationCommon.UtilitiesCommon.CachingCommon.Modules
Domain and DDD¶
These packages support domain modeling and event-driven domain behavior:
DomainDomain.CodeGenDomain.MediatorDomain.OutboxDomain.EventSourcingDomain.EventSourcing.MediatorDomain.EventSourcing.Outbox
Application flow¶
These packages shape command/query handling, messaging, queueing, notifications, and storage-facing application abstractions:
Application.CommandsApplication.QueriesApplication.MessagingApplication.QueueingApplication.NotificationsApplication.JobSchedulingApplication.StorageApplication.DataPorterApplication.IdentityApplication.Utilities
Infrastructure providers¶
These packages implement transport and persistence choices:
Infrastructure.EntityFrameworkInfrastructure.EntityFramework.SqlServerInfrastructure.EntityFramework.SqliteInfrastructure.EntityFramework.PostgresInfrastructure.EntityFramework.CosmosInfrastructure.Azure.ServiceBusInfrastructure.Azure.StorageInfrastructure.Azure.CosmosInfrastructure.RabbitMQInfrastructure.LiteDB
Presentation and host-facing packages¶
These packages expose the kit through web, configuration, logging, and feature-specific presentation layers:
PresentationPresentation.ConfigurationPresentation.SerilogPresentation.WebPresentation.Web.EntityFrameworkPresentation.Web.JobSchedulingPresentation.Web.MessagingPresentation.Web.NotificationsPresentation.Web.QueueingPresentation.Web.Storage
Testing and generation support¶
These packages mainly help with source generation, testing, or supporting infrastructure:
Common.Utilities.CodeGenCommon.Utilities.TracingCommon.Utilities.XunitDomain.CodeGenPresentation.Web.ClientInfrastructure.Windows
How to read the package map¶
The most useful mental model is:
- Start with the developer-facing concepts in Getting Started.
- Learn the architectural roles on the Architecture page.
- Use the public Documentation pages for feature-level detail.
- Refer back to this page when you want to understand where a specific package fits into the overall structure.