Agibuild.Modulus.Cli
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global Agibuild.Modulus.Cli --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Agibuild.Modulus.Cli --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Agibuild.Modulus.Cli&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Agibuild.Modulus.Cli --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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:
ModulusPackagebase 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/modulus.exe
Install Module
# Install from .modpkg file
modulus install ./MyModule-1.0.0.modpkg
# Install from directory (for development)
modulus install ./artifacts/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
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.25353.435 | 278 | 12/19/2025 |
| 1.0.25351.1546 | 281 | 12/17/2025 |
| 1.0.25351.1455 | 277 | 12/17/2025 |
| 1.0.25348.1452 | 163 | 12/14/2025 |
| 1.0.25348.545 | 161 | 12/14/2025 |
| 1.0.25348.341 | 162 | 12/14/2025 |
| 1.0.25348.151 | 164 | 12/14/2025 |
| 1.0.25347.1609 | 175 | 12/13/2025 |
| 1.0.25347.1546 | 186 | 12/13/2025 |
| 1.0.0 | 446 | 12/10/2025 |