BarakoCMS.Abstractions 4.5.0

dotnet add package BarakoCMS.Abstractions --version 4.5.0
                    
NuGet\Install-Package BarakoCMS.Abstractions -Version 4.5.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="4.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BarakoCMS.Abstractions" Version="4.5.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 4.5.0
                    
#r "nuget: BarakoCMS.Abstractions, 4.5.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@4.5.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=4.5.0
                    
Install as a Cake Addin
#tool nuget:?package=BarakoCMS.Abstractions&version=4.5.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, 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 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 (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