BarakoCMS.Abstractions 5.2.0

dotnet add package BarakoCMS.Abstractions --version 5.2.0
                    
NuGet\Install-Package BarakoCMS.Abstractions -Version 5.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BarakoCMS.Abstractions" Version="5.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BarakoCMS.Abstractions" Version="5.2.0" />
                    
Directory.Packages.props
<PackageReference Include="BarakoCMS.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BarakoCMS.Abstractions --version 5.2.0
                    
#r "nuget: BarakoCMS.Abstractions, 5.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BarakoCMS.Abstractions@5.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BarakoCMS.Abstractions&version=5.2.0
                    
Install as a Cake Addin
#tool nuget:?package=BarakoCMS.Abstractions&version=5.2.0
                    
Install as a Cake Tool

<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, CapabilityDefaults, ModuleContract
barakoCMS.Models The documents: content, content types, users, roles, permissions, workflows, jobs
barakoCMS.Events The content event stream
barakoCMS.Core.Interfaces IEmailService and EmailNotSentException, which a provider throws when a message cannot have left, IOtpService, ISmsService, IContentWriter, IContentTransitioner, ISensitivityService, IFileStore and the rest of the service seams, and the durable work seams: IDurableOutbox, IDurableRuns, IDurableMessageHandler<T>
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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (30)

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, plus any OpenID Connect provider configured by issuer URL (Apple included) and an id token grant for native apps, issuing the same tenant-scoped, device-bound token as the built-in flows. Captures profile details (photo, birthday, location) per provider.

BarakoCMS.Files

Optional file-attachment module for barakoCMS: upload and retrieve files (receipts, photos, documents) stored in Postgres via Marten.

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.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
5.2.0 72 10/23/2026
5.1.0 93 10/20/2026
5.0.0 238 10/14/2026
4.9.0 95 10/12/2026
4.8.0 182 10/12/2026
4.7.0 143 10/11/2026
4.6.0 227 10/4/2026
4.5.0 193 9/29/2026
4.4.1 132 9/26/2026
4.4.0 125 9/25/2026
4.3.0 238 9/21/2026
3.0.0-beta.1 121 12/27/2025