Cirreum.Kernel
1.0.1
dotnet add package Cirreum.Kernel --version 1.0.1
NuGet\Install-Package Cirreum.Kernel -Version 1.0.1
<PackageReference Include="Cirreum.Kernel" Version="1.0.1" />
<PackageVersion Include="Cirreum.Kernel" Version="1.0.1" />
<PackageReference Include="Cirreum.Kernel" />
paket add Cirreum.Kernel --version 1.0.1
#r "nuget: Cirreum.Kernel, 1.0.1"
#:package Cirreum.Kernel@1.0.1
#addin nuget:?package=Cirreum.Kernel&version=1.0.1
#tool nuget:?package=Cirreum.Kernel&version=1.0.1
Cirreum.Kernel
Cirreum's foundational abstractions — cross-host primitives every Cirreum app builds on.
Overview
Cirreum.Kernel is the foundational base of the Cirreum framework. It contains the cross-host abstractions, contracts, value types, and sentinels that every Cirreum package consumes — directly or transitively — regardless of host (Server, WebAssembly, Serverless).
Kernel is dependency-light and deliberately small. It defines:
- Identity & security primitives —
IUserState,IUserStateAccessor,IUserSession,UserStateBase,IApplicationUser,IApplicationUserResolver,IOwnedApplicationUser,AnonymousUser,AuthenticationBoundary,ClaimsHelper - User profile model —
UserProfile,UserProfileAddress,UserProfileMembership,UserProfileOrganization,IUserProfileEnricher - Authentication events & keys —
AuthenticationContextKeysand theIAuthenticationEventfamily (IAuthenticationEventPublisher,IAuthenticationEventHandler, plus theCredentialRevoked/SessionTerminationRequested/UserAccountDisabled/GrantsInvalidatedrecords) - Conductor markers —
INotification,INotificationHandler(the Result-free notification primitives; the rest of the Conductor surface lives inCirreum.Contracts) - Message registry —
IMessageRegistry,MessageDefinition,MessageProperty,MessageVersionAttribute,MessageRegistryBase,MessageScanner - Framework bootstrap —
IDomainApplicationBuilder,DomainContext,DomainServicesBuilder,AssemblyScanner,IDomainContextInitializer,DomainRuntimeType,DomainFeatureResolver,IDomainObject - Environment, time & enums —
IDomainEnvironment,IDateTimeClock,Timing,IdentityProviderType - State foundation —
IApplicationState(the marker interface other state contracts extend) - Health, diagnostics & utilities —
IStartedStatus,CirreumTelemetry,InternetDomainValidator,MissingResource, plus extension methods and SmartFormat command sources
Every other Cirreum package builds on Kernel.
Where it fits
Kernel is L1 — the dependency-free floor of the Cirreum framework. It references no other Cirreum package — not even its foundation peers Cirreum.Result and Cirreum.Exceptions (consumers pull those as needed). Everything else — the contract surface, the default implementations, the host infrastructure, and the runtime — builds on Kernel, directly or transitively. That zero-dependency floor is the point: Kernel can be consumed by anyone, anywhere, without dragging in the rest of the framework.
Contribution Guidelines
Be conservative with new abstractions
The API surface must remain stable and meaningful — Kernel sits at the foundation; changes ripple through every Cirreum package.Limit dependency expansion
Only add foundational, version-stable dependencies. Kernel must remain dependency-light to qualify as the framework's base.Favor additive, non-breaking changes
Breaking changes in Kernel cascade through every dependent package and every Cirreum app. Major version bumps are rare.Include thorough unit tests
All primitives should be independently testable.Document architectural decisions
Context and reasoning should be clear for future maintainers.Follow .NET conventions
Use established patterns fromMicrosoft.Extensions.*libraries.
Versioning
Cirreum.Kernel follows Semantic Versioning:
- Major — Breaking API changes
- Minor — New features, backward compatible
- Patch — Bug fixes, backward compatible
Given its foundational role, major version bumps are rare and carefully considered.
License
This project is licensed under the MIT License — see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Telemetry.Abstractions (>= 10.6.0)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- SmartFormat (>= 3.6.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Cirreum.Kernel:
| Package | Downloads |
|---|---|
|
Cirreum.Contracts
The contract surface of the Cirreum framework. The cross-host abstractions, vocabulary, and value types a Cirreum application programs against — the Conductor (CQRS) surface, Caching, State, Presence, RemoteServices, FileSystem, the Invocation seam, and the Authorization-pillar vocabulary and contracts. Implementations ship in Cirreum.Domain. The cross-host triad: Cirreum.Kernel (primitives) → Cirreum.Contracts (contracts) → Cirreum.Domain (implementations). |
|
|
Cirreum.Messaging.Distributed
Messaging track — distributed-envelope orchestration for the Cirreum framework. DistributedMessage, MessageRegistry, MessageScanner, IDistributedTransportPublisher, options. Sibling to Cirreum.Messaging (generic queue/topic/transport abstractions); composes on top of it. |
GitHub repositories
This package is not used by any popular GitHub repositories.