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.
- .NET SDK 10.0.302 (or a compatible patch selected by global.json)
- An editor or IDE with .NET 10 support
- Git and PowerShell 7 for repository scripts
- An LLM API key (Azure OpenAI or OpenAI)
Option 1: NuGet Packages
Add FabrCore to an existing project via NuGet:
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
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:
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;
}
}
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
- Server and host setup — hosting options, endpoints, and services.
- Configuration — model providers, API keys, and agent settings.
- Agents — lifecycle, message handlers, and the agent API.
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.