Agibuild.Modulus.Sdk 1.0.25347.1529

There is a newer version of this package available.
See the version list below for details.
dotnet add package Agibuild.Modulus.Sdk --version 1.0.25347.1529
                    
NuGet\Install-Package Agibuild.Modulus.Sdk -Version 1.0.25347.1529
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Agibuild.Modulus.Sdk" Version="1.0.25347.1529" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Agibuild.Modulus.Sdk" Version="1.0.25347.1529" />
                    
Directory.Packages.props
<PackageReference Include="Agibuild.Modulus.Sdk" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Agibuild.Modulus.Sdk --version 1.0.25347.1529
                    
#r "nuget: Agibuild.Modulus.Sdk, 1.0.25347.1529"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Agibuild.Modulus.Sdk@1.0.25347.1529
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Agibuild.Modulus.Sdk&version=1.0.25347.1529
                    
Install as a Cake Addin
#tool nuget:?package=Agibuild.Modulus.Sdk&version=1.0.25347.1529
                    
Install as a Cake Tool

Modulus

Modulus is a modern, cross-platform, plugin-based application framework designed to help developers quickly build extensible, maintainable, and AI-ready tools.

✨ Features

Multi-Host Architecture

  • UI-Agnostic Core: Business logic independent of any UI framework
  • Pluggable Hosts: Supports Avalonia (desktop) and Blazor Hybrid (MAUI)
  • Shared Core Logic: Same Domain/Application code runs across all hosts

Extension System

  • VS Extension Compatible: Uses extension.vsixmanifest (XML) format
  • Hot-Reloadable: AssemblyLoadContext-based isolation for dynamic load/unload
  • Explicit Installation: Extensions installed via CLI or UI, not auto-discovered
  • Type-Safe Entry Points: ModulusPackage base class similar to VS VsPackage

Developer Experience

  • Extension SDK with declarative attributes
  • AI Agent plugin support (LLM integration)
  • Signature verification and version control
  • Cross-platform: Windows / macOS / Linux

🏗️ Architecture

src/
├── Modulus.Core/              # Runtime, module loader, DI
├── Modulus.Sdk/               # SDK: ModulusPackage, attributes
├── Modulus.UI.Abstractions/   # UI contracts (IMenuRegistry, INavigationService)
├── Hosts/
│   ├── Modulus.Host.Avalonia/ # Avalonia desktop (ID: Modulus.Host.Avalonia)
│   └── Modulus.Host.Blazor/   # Blazor Hybrid (ID: Modulus.Host.Blazor)
└── Modules/
    ├── EchoPlugin/            # Example: Echo plugin
    ├── SimpleNotes/           # Example: Notes module
    └── ComponentsDemo/        # Example: UI components demo

📦 Extension Structure

MyExtension/
├── extension.vsixmanifest     # XML manifest (VS Extension format)
├── MyExtension.Core.dll       # Core logic (host-agnostic)
├── MyExtension.UI.Avalonia.dll
└── MyExtension.UI.Blazor.dll

🚀 Getting Started

Run Avalonia Host

dotnet run --project src/Hosts/Modulus.Host.Avalonia

Run Blazor Host

dotnet run --project src/Hosts/Modulus.Host.Blazor

Run Tests

dotnet test

🔌 Creating an Extension

1. Create Projects

MyExtension/
├── MyExtension.Core/
├── MyExtension.UI.Avalonia/
└── MyExtension.UI.Blazor/

2. Define Entry Point

// MyExtension.Core/MyExtensionPackage.cs
public class MyExtensionPackage : ModulusPackage
{
    public override void ConfigureServices(IModuleLifecycleContext context)
    {
        context.Services.AddSingleton<IMyService, MyService>();
    }
}

3. Create Manifest


<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" 
    xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <Identity Id="your-guid" Version="1.0.0" Publisher="You" />
    <DisplayName>My Extension</DisplayName>
    <Description>My awesome extension</Description>
  </Metadata>
  <Installation>
    <InstallationTarget Id="Modulus.Host.Avalonia" Version="[1.0,)" />
    <InstallationTarget Id="Modulus.Host.Blazor" Version="[1.0,)" />
  </Installation>
  <Assets>
    <Asset Type="Modulus.Package" Path="MyExtension.Core.dll" />
    <Asset Type="Modulus.Package" Path="MyExtension.UI.Avalonia.dll" 
           TargetHost="Modulus.Host.Avalonia" />
    <Asset Type="Modulus.Menu" Id="my-menu" DisplayName="My Tool" 
           Icon="Home" Route="MyExtension.ViewModels.MainViewModel" 
           TargetHost="Modulus.Host.Avalonia" />
  </Assets>
</PackageManifest>

4. Install Extension

modulus install ./MyExtension

🛠️ CLI Tool

Modulus provides a command-line tool for module management.

Install CLI

# Install from NuGet (available after publishing)
dotnet tool install -g Agibuild.Modulus.Cli

# Or install from local build
dotnet tool install -g --add-source ./artifacts/packages Agibuild.Modulus.Cli

# During development, use directly
./artifacts/cli/modulus.exe

Install Module

# Install from .modpkg file
modulus install ./MyModule-1.0.0.modpkg

# Install from directory (for development)
modulus install ./artifacts/bin/Modules/MyModule/

# Force overwrite existing installation
modulus install ./MyModule-1.0.0.modpkg --force

Uninstall Module

# Uninstall by module name
modulus uninstall MyModule

# Uninstall by module ID
modulus uninstall a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

# Skip confirmation
modulus uninstall MyModule --force

List Installed Modules

# Basic list
modulus list

# Show detailed information
modulus list --verbose

Package Module

# Package all modules to artifacts/packages/
nuke pack-module

# Package a single module
nuke pack-module --name EchoPlugin

📚 Documentation

Project Status

  • Phase: Active Development
  • Test Coverage: 30+ tests passing
  • Platforms: Windows, macOS, Linux

Contributing

Pull requests and issues are welcome! See CONTRIBUTING.md for guidelines.

License

MIT License

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Agibuild.Modulus.Sdk:

Package Downloads
Agibuild.Modulus.UI.Avalonia

Avalonia UI components library for Modulus framework

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.25353.432 329 12/19/2025
1.0.25351.1547 287 12/17/2025
1.0.25351.1456 289 12/17/2025
1.0.25348.1453 181 12/14/2025
1.0.25347.1530 180 12/13/2025
1.0.25347.1529 184 12/13/2025