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
  • 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 DialogsVia WASM API

Source Code

Visit the Framework GitHub Repository for source code and contributions.