Ironbees.Core
0.4.2
dotnet add package Ironbees.Core --version 0.4.2
NuGet\Install-Package Ironbees.Core -Version 0.4.2
<PackageReference Include="Ironbees.Core" Version="0.4.2" />
<PackageVersion Include="Ironbees.Core" Version="0.4.2" />
<PackageReference Include="Ironbees.Core" />
paket add Ironbees.Core --version 0.4.2
#r "nuget: Ironbees.Core, 0.4.2"
#:package Ironbees.Core@0.4.2
#addin nuget:?package=Ironbees.Core&version=0.4.2
#tool nuget:?package=Ironbees.Core&version=0.4.2
Ironbees
Filesystem convention-based LLM agent management wrapper for .NET
Ironbees is a lightweight wrapper that simplifies repetitive patterns in LLM agent development. It doesn't replace frameworks like Microsoft Agent Framework or Semantic Kernel—it complements them by providing filesystem conventions for agent management.
Key Features
- Filesystem Convention: Define agents via
agents/{name}/agent.yaml+system-prompt.md - Intelligent Routing: Keyword, embedding, and hybrid agent selection
- Multi-Framework Support: Microsoft Agent Framework, OpenAI, and custom providers
- YAML Workflows: Declarative workflow definitions with MAF integration
- Guardrails: Content validation with Azure AI and OpenAI Moderation support
- Autonomous SDK: Iterative autonomous execution with oracle verification
Installation
dotnet add package Ironbees.Core
dotnet add package Ironbees.AgentFramework # For Azure OpenAI + MAF
Quick Start
1. Define an Agent
agents/
└── coding-agent/
├── agent.yaml # Agent metadata
└── system-prompt.md # System prompt
agents/coding-agent/agent.yaml:
name: coding-agent
description: Expert software developer
capabilities: [code-generation, code-review]
model:
deployment: gpt-4o
temperature: 0.7
agents/coding-agent/system-prompt.md:
You are an expert software developer specializing in C# and .NET...
2. Configure Services
services.AddIronbees(options =>
{
options.AzureOpenAIEndpoint = "https://your-resource.openai.azure.com";
options.AzureOpenAIKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_KEY");
options.AgentsDirectory = "./agents";
});
3. Use the Agent
var orchestrator = serviceProvider.GetRequiredService<IAgentOrchestrator>();
await orchestrator.LoadAgentsAsync();
// Explicit agent selection
var response = await orchestrator.ProcessAsync(
"Write a C# fibonacci function",
agentName: "coding-agent");
// Automatic routing
var response = await orchestrator.ProcessAsync(
"fibonacci in C#"); // Routes based on keywords
// Streaming
await foreach (var chunk in orchestrator.StreamAsync("Write a blog post"))
{
Console.Write(chunk);
}
Autonomous SDK
For iterative autonomous execution with oracle verification:
settings.yaml:
orchestration:
max_iterations: 10
oracle:
enabled: true
confidence:
min_threshold: 0.8
var settings = await OrchestratorSettings.LoadFromFileAsync("settings.yaml");
var orchestrator = AutonomousOrchestrator.Create<Request, Result>()
.WithSettings(settings)
.WithExecutor(executor)
.WithOracle(oracle)
.Build();
await foreach (var evt in orchestrator.StartAsync(request))
{
Console.WriteLine($"[{evt.Type}] {evt.Message}");
}
Architecture
┌─────────────────────────────────────────────┐
│ Ironbees (Thin Wrapper) │
│ - FileSystemAgentLoader │
│ - Agent Routing (Keyword/Embedding) │
│ - Guardrails Pipeline │
├─────────────────────────────────────────────┤
│ Microsoft Agent Framework / LLM Providers │
│ - Agent execution │
│ - Tool integration │
│ - Conversation management │
└─────────────────────────────────────────────┘
Documentation
| Document | Description |
|---|---|
| Architecture | System design and interfaces |
| Philosophy | Design principles and scope |
| Autonomous SDK | Autonomous execution guide |
| Agentic Patterns | HITL, sampling, confidence |
| Providers | LLM provider configuration |
| FAQ | Common questions |
Samples
| Sample | Description |
|---|---|
| OpenAISample | Basic OpenAI usage |
| GpuStackSample | Local GPU infrastructure |
| EmbeddingSample | ONNX embedding and semantic routing |
| TwentyQuestionsSample | Autonomous SDK demo |
Design Principles
- Thin Wrapper: Complement LLM frameworks, don't replace them
- Convention over Configuration: Filesystem structure defines behavior
- Filesystem = Single Source of Truth: All state observable via
ls,grep,cat
Contributing
Issues and PRs welcome. Please maintain the thin wrapper philosophy.
License
MIT License - See LICENSE
Ironbees - Filesystem convention-based LLM agent wrapper for .NET
| Product | Versions 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. |
-
net10.0
- Azure.AI.ContentSafety (>= 1.0.0)
- Microsoft.Extensions.AI (>= 10.2.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.2.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.ML.OnnxRuntime (>= 1.23.2)
- OpenAI (>= 2.8.0)
- Polly (>= 8.6.5)
- YamlDotNet (>= 16.3.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Ironbees.Core:
| Package | Downloads |
|---|---|
|
Ironbees.AgentFramework
Thin adapter layer integrating Ironbees with Azure OpenAI and Microsoft Agent Framework. Provides execution adapters, dependency injection extensions, and ASP.NET Core setup - delegates actual agent execution to underlying frameworks. |
|
|
Ironbees.AgentMode
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
See CHANGELOG.md for release notes