Skip to content

Mythetech.Framework ​

Interactive Examples

Check out the Storybook for interactive component demos.

What is Mythetech.Framework? ​

Mythetech.Framework is a collection of reusable Blazor components, infrastructure services, and platform abstractions that extend MudBlazor functionality. It provides everything you need to build cross-platform desktop and web applications.

Key Features ​

  • Custom Components — Extend MudBlazor with additional UI components
  • MessageBus — In-memory publish-subscribe and request-response messaging
  • Plugin Framework — Dynamic extensibility with component discovery
  • Settings Framework — UI editor discovery and persistence
  • MCP Integration — Expose application functionality as AI-callable tools
  • Smoke Checks: General and app-level checks for Hermes smoke mode, plus an ApplicationReady signal for post-startup work
  • Cross-Platform — Support for desktop (via Hermes/Photino) and WebAssembly

Architecture ​

┌─────────────────────────────────────────────────────────────────────┐
│                        Host Application                              │
├─────────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌────────────┐  │
│  │   MudBlazor │  │  MessageBus │  │   Plugins   │  │    MCP     │  │
│  │  Components │  │  Pub/Sub    │  │  Framework  │  │   Tools    │  │
│  └─────────────┘  └─────────────┘  └─────────────┘  └────────────┘  │
├─────────────────────────────────────────────────────────────────────┤
│                        Platform Abstractions                         │
│  ┌─────────────────────────────────────────────────────────────┐    │
│  │  ILinkOpenService  │  IFileOperations  │  IPluginStorage    │    │
│  └─────────────────────────────────────────────────────────────┘    │
├─────────────────────────────────────────────────────────────────────┤
│                        Platform Implementations                      │
│  ┌────────────────────┐          ┌────────────────────────────┐    │
│  │   Desktop (Hermes) │          │      WebAssembly           │    │
│  │   - LiteDB Storage │          │   - localStorage Storage   │    │
│  │   - File Dialogs   │          │   - WASM File Access       │    │
│  └────────────────────┘          └────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────────┘

Installation ​

bash
# Core framework
dotnet add package Mythetech.Framework

# Desktop-specific (optional)
dotnet add package Mythetech.Framework.Desktop

# WebAssembly-specific (optional)
dotnet add package Mythetech.Framework.WebAssembly

Quick Start ​

csharp
// Program.cs
using Mythetech.Framework;

var builder = WebApplication.CreateBuilder(args);

// Add MudBlazor and Framework services
builder.Services.AddMudServices();
builder.Services.AddMessageBus();
builder.Services.AddPluginFramework();
builder.Services.AddMcp(options =>
{
    options.ServerName = "MyApp";
    options.ServerVersion = "1.0.0";
});

var app = builder.Build();

// Initialize services
app.Services.UseMessageBus();
app.Services.UseMcp();
await app.Services.UsePluginsAsync("plugins");

app.Run();

Documentation ​

Infrastructure ​

  • MessageBus — Decoupled messaging between components
  • Plugins — Dynamic extensibility system
  • MCP — AI tool exposure framework

Reference ​

Platform Support ​

FeatureDesktopWebAssembly
UI Components✅✅
MessageBus✅✅
Plugins (Dynamic Load)✅❌
Plugins (Static Ref)✅✅
MCP Tools✅✅
MCP stdio Transport✅❌
Persistent StorageLiteDBlocalStorage
File Dialogs✅Via WASM API

Source Code ​

Visit the Framework GitHub Repository for source code and contributions.