Skip to content

Quick Start

FabrCore 2.0 · Release and package availability

These guides track the current 2.0 source. Stable 2.0.0 publication is pending; package commands show the release target. Until it is published, follow the source quick start or use a matching available prerelease set. Release migration · Runtime modes

Browse documentation by topic

Get started

Set up your first app and learn the essentials.

Application deep dives

Build complete business workflows from real implementation patterns.

Build agents

Create agents, equip them with tools, and coordinate work.

Memory and data

Manage state, conversation history, and knowledge.

Clients and integrations

Connect your application and business systems.

Deploy and operate

Secure, test, and monitor your runtime.

Releases and migration

Upgrade your app and review earlier releases.

Start with a standalone host

FabrCore is an open-source .NET framework for building distributed AI agent systems powered by Orleans. Choose the setup method that works best for you.

Prerequisites

Option 1: NuGet Packages

Add FabrCore to an existing project via NuGet:

Server (Host)
dotnet add package FabrCore.Host --version 2.0.0
dotnet add package FabrCore.Sdk --version 2.0.0

# Optional Azure provider; SQL Server is already in Host
dotnet add package FabrCore.Host.AzureStorage --version 2.0.0
2.0 package layout: Host includes SQL Server, Memory and GraphRAG; Core owns shared contracts and SDK provides agent APIs and remote clients. Azure Storage remains separate. Enable SQL mode through the feature connection; no manual knowledge registrations are needed.

Option 2: Clone the Repository

Clone and run the full source for development and debugging:

Step 1: Clone
git clone https://github.com/vulcan365/FabrCore.git
cd FabrCore
Step 2: Configure

Copy samples/FabrCore.SampleApp/fabrcore.sample.json to samples/FabrCore.SampleApp/fabrcore.json, then edit the default model and API-key alias. The model-store structure is:

{
  "ModelConfigurations": [
    {
      "Name": "default",
      "Provider": "Azure",
      "Uri": "https://your-resource.openai.azure.com/",
      "Model": "gpt-4o",
      "ApiKeyAlias": "my-key"
    }
  ],
  "ApiKeys": [
    { "Alias": "my-key", "Value": "your-api-key-here" }
  ]
}
Step 3: Run
dotnet run --project samples/FabrCore.SampleApp --launch-profile http

Open http://localhost:5248/surface in your browser.


Your First Agent

Here's a minimal agent using FabrCore. An alias registers an agent type; create an instance through a blueprint or the SDK client before messaging its handle:

MyAgent.cs
using FabrCore.Core;
using FabrCore.Sdk;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;

[AgentAlias("my-agent")]
public class MyAgent : FabrCoreAgentProxy
{
    private AIAgent? agent;
    private AgentSession? session;

    public MyAgent(
        AgentConfiguration config,
        IServiceProvider serviceProvider,
        IFabrCoreAgentHost fabrcoreAgentHost)
        : base(config, serviceProvider, fabrcoreAgentHost) { }

    public override async Task OnInitialize()
    {
        var tools = await ResolveConfiguredToolsAsync();
        var result = await CreateChatClientAgent(
            config.Models ?? "default",
            threadId: config.Handle ?? "main",
            tools);
        agent = result.Agent;
        session = result.Session;
    }

    public override async Task<AgentMessage> OnMessage(AgentMessage message)
    {
        var response = message.Response();
        var result = await agent!.RunAsync(message.Message ?? string.Empty, session!);
        response.Message = result.Text;
        return response;
    }
}
What's happening here?

FabrCoreAgentProxy is the base class for all agents. CreateChatClientAgent wires up an LLM-backed agent with automatic message persistence via Orleans. The OnMessage handler processes each user message and returns a response.


Related setup references

Operate and extend FabrCore 2.0

Use cloud administration for principal/ACL management, blueprint preview/deployment, agent lifecycle, isolated diagnostic chat and retained observability. Insights and third-party cloud servers share the same public contract.

Download the 2.0 coding assistant skill bundle for portable references and examples. These development skills are separate from runtime harness skills installed for an agent.

Connect accounts and Microsoft agents

Use principal-owned connections for external consent, application credentials and SDK token access. Add Copilot Studio or Work IQ agents by handle, with Entra Agent ID as a separate opt-in. Read the integration guide.