BarakoCMS.Abstractions
4.5.0
dotnet add package BarakoCMS.Abstractions --version 4.5.0
NuGet\Install-Package BarakoCMS.Abstractions -Version 4.5.0
<PackageReference Include="BarakoCMS.Abstractions" Version="4.5.0" />
<PackageVersion Include="BarakoCMS.Abstractions" Version="4.5.0" />
<PackageReference Include="BarakoCMS.Abstractions" />
paket add BarakoCMS.Abstractions --version 4.5.0
#r "nuget: BarakoCMS.Abstractions, 4.5.0"
#:package BarakoCMS.Abstractions@4.5.0
#addin nuget:?package=BarakoCMS.Abstractions&version=4.5.0
#tool nuget:?package=BarakoCMS.Abstractions&version=4.5.0
<div align="center"> <img src="https://raw.githubusercontent.com/BaryoDev/barakoCMS/master/assets/icon.png" width="96" height="96" alt="BarakoCMS.Abstractions logo" /> <h1>BarakoCMS.Abstractions</h1> <p><em>The barakoCMS package contract, on its own, with no reference to the host.</em></p> </div>
This is what a module compiles against: the module interfaces, the documents and events a consumer stores and reads, the service interfaces the core resolves, and the workflow extension points. It carries no endpoints, no startup and no host behaviour.
The contract used to be a list in the repository's coding standard, and the only thing stopping a module reaching past it into the host was review. Here it is the assembly boundary, so a type that is not contract is a compile error rather than a note in a pull request.
What is in it
| Namespace | What it holds |
|---|---|
barakoCMS.Modules |
IBarakoModule, IModuleSchema, ModuleCapabilities, ModuleContract |
barakoCMS.Models |
The documents: content, content types, users, roles, permissions, workflows, jobs |
barakoCMS.Events |
The content event stream |
barakoCMS.Core.Interfaces |
IEmailService, IOtpService, ISmsService, IContentWriter, ISensitivityService and the rest of the service seams |
barakoCMS.Features.Workflows |
IWorkflowAction, IWorkflowEngine, WorkflowActionResult |
Namespaces are unchanged from when these types shipped inside BarakoCMS, so a module moving to
this package edits no using.
Using it
dotnet add package BarakoCMS.Abstractions
A first-party module references it alongside BarakoCMS. On its own it gives you the types to
implement IBarakoModule and a custom IWorkflowAction; the host that runs them is BarakoCMS.
Stability
The types here are the package surface described in the repository's CLAUDE.md section 6. Within
a major version they do not lose or change a public member. An addition arrives as a new overload
or an interface member with a default implementation, so an existing implementor still compiles.
Part of barakoCMS
This is the contract package for barakoCMS, an open-source
headless CMS for .NET 10. Every module is published under the barakocms-module tag, so a single
search on nuget.org returns the whole set.
| 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
- FastEndpoints (>= 8.3.0)
- JasperFx (>= 2.75.2)
- Marten (>= 9.40.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.12)
NuGet packages (20)
Showing the top 5 NuGet packages that depend on BarakoCMS.Abstractions:
| Package | Downloads |
|---|---|
|
BarakoCMS
Headless CMS for .NET 10 on FastEndpoints and Marten over PostgreSQL: content types defined at runtime, event-sourced content, role and capability access control with field sensitivity, multi-tenancy, a public delivery API, blueprints, collection syncs and push, and workflows with 7 built-in actions. Optional modules ship as separate packages. |
|
|
BarakoCMS.ExternalAuth
External / social sign-in module for barakoCMS: "Continue with Facebook / Google / LinkedIn / GitHub" via OAuth, matched to a global user by verified email, issuing the same tenant-scoped, device-bound token as the built-in flows. Captures profile details (photo, birthday, location) per provider. |
|
|
BarakoCMS.Email.Resend
Resend email-provider module for barakoCMS: implements IEmailService via the Resend HTTP API, plus a delivery webhook that records bounces/complaints as EmailEvent documents. |
|
|
BarakoCMS.Files
Optional file-attachment module for barakoCMS: upload and retrieve files (receipts, photos, documents) stored in Postgres via Marten. |
|
|
BarakoCMS.Portability
Content portability for barakoCMS: export content-type definitions and their content data as a JSON bundle, and import a bundle into another instance (upsert types by name, recreate content via events). For backup, migration, seeding, and sharing content-type templates. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.5.0 | 132 | 9/29/2026 |
| 4.4.1 | 121 | 9/26/2026 |
| 4.4.0 | 113 | 9/25/2026 |
| 4.3.0 | 225 | 9/21/2026 |
| 3.0.0-beta.1 | 115 | 12/27/2025 |