Aero.Cms.Abstractions 0.0.9.2-alpha

This is a prerelease version of Aero.Cms.Abstractions.
dotnet add package Aero.Cms.Abstractions --version 0.0.9.2-alpha
                    
NuGet\Install-Package Aero.Cms.Abstractions -Version 0.0.9.2-alpha
                    
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="Aero.Cms.Abstractions" Version="0.0.9.2-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aero.Cms.Abstractions" Version="0.0.9.2-alpha" />
                    
Directory.Packages.props
<PackageReference Include="Aero.Cms.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 Aero.Cms.Abstractions --version 0.0.9.2-alpha
                    
#r "nuget: Aero.Cms.Abstractions, 0.0.9.2-alpha"
                    
#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 Aero.Cms.Abstractions@0.0.9.2-alpha
                    
#: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=Aero.Cms.Abstractions&version=0.0.9.2-alpha&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Aero.Cms.Abstractions&version=0.0.9.2-alpha&prerelease
                    
Install as a Cake Tool

Aero CMS ✈️

Modern CMS without React. or any other SPA framework you need to learn

A server-rendered, modular, multi-site CMS built on ASP.NET Coreβ€”designed for developers who want power without complexity.

πŸ’₯πŸ’₯πŸ’₯ ALERT πŸ’₯πŸ’₯πŸ’₯


⚠️ Pre-Beta Software β€” Aero CMS is in early development and not production ready. Use at your own risk. We welcome contributors!

Why Another CMS?

We looked at the landscape and kept running into the same problems:

  • Commercial lock-in β€” expensive licenses, closed ecosystems
  • Too big β€” monolithic systems that take over your entire application
  • Too bloated β€” legacy code, unnecessary abstractions, decade-old patterns
  • Massive learning curves β€” you need to read a book before you can ship a page

We built Aero because there wasn't a CMS that felt like it was designed for modern .NET development. Something that:

  • Leverages the power of ASP.NET Core without fighting it
  • Lets you ship fast without painting yourself into a corner
  • Is modular by default, not as an afterthought

Aero stays out of your way. It runs inside your ASP.NET Core app β€” the one you control. We don't force you into doing things our way for your application.

But when it comes to how Aero was designed architecturally, we're very opinionated: no reflection, source generators over runtime discovery, PostgreSQL for persistence, Railway-oriented programming for business logic, and clean patterns that are baked in at the foundation.


🧠 Razor + Scriban = The Best of Both Worlds

Most CMS platforms force you to choose:

  • Razor β€” powerful but rigid
  • Scriban (Liquid) β€” dynamic, sandboxed, and Liquid-compatible with some minor tweaks

Aero CMS gives you both:

  • Razor for layouts, modules, and developer-owned UI β€” strongly typed, compiled, fast
  • Scriban for dynamic, runtime-editable templates β€” flexible, sandboxed, safe

Strong typing where it matters, flexibility where it counts.


πŸ”₯ Dynamic Templates (That Don't Feel Like a Hack)

In most systems, "dynamic pages" are bolted on as an afterthought. In Aero, it's a core design pillar:

  • Edit pages at runtime β€” no deploy required
  • Scripting via HTMX / Scriban
  • Safeguards for scripting
    • No JS allowed
    • Scriban Scripting guard rails

Real CMS flexibilityβ€” compile time safety without the flexibiity of dynamic programming (scripting).


🧩 True Modular Architecture

We didn't fake modularity. Features ship as Razor Class Libraries (RCLs):

  • Plug-and-play capabilities
  • Clean separation between domains
  • Build only what you need
  • Extend without breaking everything

Each module is self-contained, independently versioned, and composed into the application.


🌍 Multi-Site by Design

Not "multi-site-ish." Actually multi-site:

  • Host-based site resolution
  • site-specific database isolation
  • Per-site themes, templates, and content

One platform β†’ many sites β†’ many customers.


⚑ HTMX + Alpine = Modern UX, Minimal JS

Instead of forcing a SPA framework:

  • HTMX drives server-interactions β€” dynamic content without writing JavaScript
  • Alpine.js adds lightweight client-side reactivity where you need it

No SPA required. No over-engineering. Just fast, responsive UI backed by server-rendered HTML.


πŸ” Safe by Default

Scriban templates run in a sandboxed execution environment:

  • No arbitrary C# in templates
  • Controlled extensibility via exposed C# functions
  • Secure by design, not as an afterthought

Powerful templates with complete control over what runs where.


🧭 Not Stuck in the Past

We designed Aero for the present and future of .NET:

  • Built on modern ASP.NET Core patterns (minimal APIs, middleware, dependency injection)
  • Designed for cloud, containers, and scale
  • Clean architecture with vertical slices
  • Event-driven ready with Wolverine + MartenDB
  • OpenTelemetry observability out of the box

No legacy baggage. No unnecessary complexity. No decade-old hacks.


πŸ’‘ What Makes Aero Stand Out

Capability Aero CMS
✈️ Razor + Scriban hybrid rendering First-class support
🧩 True modular system RCL-based modules, not plugins
🌍 First-class multi-tenancy Host-based, per-site isolation
⚑ HTMX + Alpine interactivity Server-driven UI, minimal JS
πŸ” Safe runtime templates Sandboxed Scriban execution
🧠 Modern .NET patterns Clean architecture, vertical slices

πŸš€ The Vision

We're building a CMS that feels like:

"What ASP.NET Core would look like if it had a CMS built in from day one."

No hacks. No relics. No compromises.

Just a clean, modern platform you actually enjoy working with.


Tech Stack

Layer Technology
Backend ASP.NET Core (.NET 10)
Service Layer Orleans
Persistence MartenDB + PostgreSQL
Messaging / Workflow Wolverine
Background Jobs TickerQ
ORM Entity Framework Core (Npgsql)
Server UI HTMX.NET, Razor, Scriban
Client UI HTMX, Alpine.js, Preact (opt-in)
CSS Tailwind CSS
Validation FluentValidation
Telemetry OpenTelemetry + Serilog + OpenObserve
Testing TUnit, Playwright, Alba, Bogus, Shouldly

Getting Started

Coming soon β€” the project is in active development.


License

This project is dual-licensed:

Use Case License
Non-commercial / OSS Apache License 2.0
Commercial / SaaS GNU AGPL v3

In short: if you're building and selling a product or service on top of Aero, the AGPL applies to ensure community contributions remain protected. If you're using it for non-commercial purposes, the standard Apache 2.0 terms apply.

See the LICENSE file for the full text of both licenses.

πŸ“‹ Important Notes

  • NOTICE file β€” Aero includes a NOTICE file as required by the Apache 2.0 license. Redistributions must preserve this notice.
  • Trademark β€” Aero is a trademark. The Apache 2.0 license grants you the right to use the code but does not permit using the project name to market competing services without permission.
  • CLA β€” All contributors must sign a Contributor License Agreement before contributions are accepted. This ensures we can continue to offer both the open-source and commercial versions of the project.
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 (9)

Showing the top 5 NuGet packages that depend on Aero.Cms.Abstractions:

Package Downloads
Aero.Cms.Core.Entities

Package Description

Aero.Cms.Db.Marten

Package Description

Aero.Cms.Generated.Json

Package Description

Aero.Cms.Core

Package Description

Aero.Cms.Data

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.9.2-alpha 93 7/10/2026
0.0.9.1-alpha 68 7/9/2026