FryWorld is the central platform and flagship desktop application for the Fry ecosystem. It hosts the pure FryWorld.Sdk and provides an ultra-fast, modern Creative & Developer Suite Launcher built on Avalonia UI and Google Material Design 3 (M3) Expressive.
- Pure Universal SDK (
FryWorld.Sdk):- Free from PDF or domain-specific dependencies.
- Built for high performance on C# 13 and .NET 10.
- Microkernel architecture inspired by Cordis with typed dispatch pipelines:
Waterfall,Bail,Parallel,Serial. - Dynamic registries for Full-Viewport Pages, Floating Overlays, Command Palette (
⌘K), Status Bar widgets, Header Toolbars, Sidebars, and Inspectors. - Isolated assembly loading via
CollectiblePluginLoadContext.
- Creative & Developer Suite Launcher:
- Sleek 4-column card grid with numbered index pills (
01,02... in vibrant curated colors). - High-res squircle icons and dual-tone title typography.
- 1-click
LAUNCH(instant 0ms switch to workspace/overlay) andINSTALL. - Segmented filter counters:
ALL,INSTALLED,UPDATES,NOT INSTALLED. - Grid and Table view modes.
- Sleek 4-column card grid with numbered index pills (
- Plugins Manager Studio:
- 3-tab layout: Installed, Marketplace, and Updates.
- Auto-generated settings configuration form from plugin
settingsSchema.
# Build the entire solution (Warning-free required)
dotnet build FryWorld.slnx
# Run all automated tests (Sdk unit tests + Headless UI integration tests)
dotnet test FryWorld.slnx
# Run Headless UI Visual Snapshots (render real views & dialogs off-screen)
dotnet run --project tools/UiSnapshots -- all
# Run the FryWorld Desktop Host
dotnet run --project src/FryWorld/FryWorld.csproj-
Create a
.NET 10class library that references the SDK, and give it aplugin.json:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net10.0</TargetFramework> <Version>1.0.0</Version> </PropertyGroup> <ItemGroup> <PackageReference Include="FryWorld.Sdk" Version="0.1.0" /> </ItemGroup> </Project>
{ "$schema": "https://raw.githubusercontent.com/codefrydev/FryWorld/main/src/FryWorld.Sdk/plugin.schema.json", "id": "com.example.mystudio", "name": "My Studio" } -
Subclass
FryPluginBaseand register pages, overlays and commands inApplyAsync. UseIShellServiceto open them andctx.GetPluginSettings()for settings. -
Run
dotnet build -c Release. It producesbin/Release/net10.0/<AssemblyName>.fryplugin, ready to drop into the plugins folder or publish. UseFryRunner.Configure<TPlugin>()to run the plugin on its own, andFryPluginTestHostto unit-test it.
See the SDK README for the full guide, and docs/sdk for concepts, authoring and the compatibility policy.
MIT License. Copyright © 2026 Code Fry Dev.