[FRAIMIO]

DWG NO. FR‑2026  ·  AI‑NATIVE .NET 10 FRAMEWORK

THE BLUEPRINT
FOR AI‑NATIVE
.NET.

Fraimio is a .NET 10 framework for Domain‑Driven Design and CQRS, built specifically to bring AI into your application — where agents, chat, and retrieval participate directly in how your users work, on the same compile‑time guarantees as every other layer. Not a chatbot bolted to the side.

AI AGENTS PARTICIPATE IN EVERY LAYER ⌀ SYSTEM BOUNDARY DOMAIN Aggregates · Value Objects · Events APPLICATION Mediator · CQRS Handlers INFRASTRUCTURE Repository · Messaging · EF Core PRESENTATION FastEndpoints · Blazor UI
DRAWINGFRAIMIO‑CORE
SCALENTS
REV2026.07
SHEET1 OF 1
LANGC# 14

01 — SPECIFICATION

Design principles,
not suggestions.

A

Source generation over reflection

Boilerplate is written by Fraimio.Generators.* at compile time, not discovered by reflection at runtime. Mistakes surface as build errors, not production incidents — and the generated code is AOT‑compatible from the start.

B

Type safety, comprehensively

Every identifier is a typed struct, never a raw Guid or string. Every enum is a SmartEnum. Every public API returns Result<T>. Primitive obsession and unchecked exceptions aren't discouraged — they're structurally unavailable.

C

CQRS & DDD as primitives

Aggregate roots, domain events, outbox delivery, and a full mediator pipeline ship as first‑class building blocks. You compose them — you don't re‑implement them on every new service.

D

Multi‑tenant configuration, by default

A strict Suite → Module → Extension configuration hierarchy with Azure Key Vault normalization is built into the kernel — not bolted on after the first enterprise customer asks for it.

02 — AI SURFACE

On the parts list.
Not bolted on.

AI isn't a chatbot widget dropped into a corner of the UI. It's a set of modules with the same standing as Repository or Messaging — itemized below.

ITEMCOMPONENTDESCRIPTION
01 AI Inbox The front door for conversational and agentic requests — routes each one to the right skill, agent, or human.
02 AI Chat A first‑party conversational surface embedded in your application itself, not an iframe to a third‑party product.
03 Model Catalog A governed registry of which models are approved for which workloads, with capability and cost metadata attached.
04 Embedding Turns tenant data into vectors your agents can retrieve against — indexed, versioned, and isolated per tenant.
05 Knowledge Base Retrieval‑augmented context scoped to a tenant, a module, or a single conversation.
06 Skills Composable, versioned units of agent capability — packaged and discovered the same way any other module is.
07 MCP Console Operational visibility into every agent, skill, and model call running in production.

03 — SAMPLE

One line.
The generator writes the other eighty.

A typed identifier and a CQRS command handler, exactly as they look in an application built on Fraimio. The same handler contract dispatches an AI agent turn just as easily as a domain command.

Order.Handlers.cs
// The struct body is generated: New(), Parse(), TryParse(), equality, comparison.
public readonly partial struct OrderId : IFraimioIdentifier, IParsable<OrderId>;

public sealed record PlaceOrderCommand(CustomerId CustomerId, IReadOnlyList<OrderLine> Items)
    : IFraimioRequest<Result<OrderId>>;

public sealed class PlaceOrderHandler(IRepository<Order, OrderId> orders)
    : IFraimioRequestHandler<PlaceOrderCommand, Result<OrderId>>
{
    public async Task<Result<OrderId>> HandleAsync(PlaceOrderCommand command, CancellationToken ct)
    {
        var order = Order.Place(command.CustomerId, command.Items);
        if (order.IsInvalid())
            return Result<OrderId>.Invalid(order.ValidationErrors);

        await orders.AddAsync(order.Value, ct);
        return Result<OrderId>.Success(order.Value.Id);
    }
}

1Typed ID — never a raw Guid, never a raw string.

2Result<T> failure paths — no unchecked throw from a public API.

3Dispatched through Fraimio.Mediator — no manual wiring, no service‑locator lookups.

04 — ARCHITECTURE

Layered by design,
not by discipline.

Each layer maps to a module boundary. Dependencies point one direction: inward, toward the domain.

AI CROSS‑CUTTING PRESENTATION APPLICATION INFRASTRUCTURE DOMAIN FastEndpoints API · Blazor UI Fraimio.Mediator · CQRS Handlers Repository · EF Core · Messaging Aggregates · Value Objects · Domain Events
40+Modules
.NET 10Target
C# 14Language
7+AI Modules
100%Result<T> APIs

05 — NEXT STEP

Ready to draft
your next build?

Fraimio is built and maintained by Parts Oracle for enterprise .NET teams bringing AI directly into how their users work — not bolting a chatbot onto the side of it.

Get in touch