Wolfware.Moonlit.Plugins 1.0.0-next.3

Prefix Reserved
This is a prerelease version of Wolfware.Moonlit.Plugins.
dotnet add package Wolfware.Moonlit.Plugins --version 1.0.0-next.3
                    
NuGet\Install-Package Wolfware.Moonlit.Plugins -Version 1.0.0-next.3
                    
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="Wolfware.Moonlit.Plugins" Version="1.0.0-next.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Wolfware.Moonlit.Plugins" Version="1.0.0-next.3" />
                    
Directory.Packages.props
<PackageReference Include="Wolfware.Moonlit.Plugins" />
                    
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 Wolfware.Moonlit.Plugins --version 1.0.0-next.3
                    
#r "nuget: Wolfware.Moonlit.Plugins, 1.0.0-next.3"
                    
#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 Wolfware.Moonlit.Plugins@1.0.0-next.3
                    
#: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=Wolfware.Moonlit.Plugins&version=1.0.0-next.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Wolfware.Moonlit.Plugins&version=1.0.0-next.3&prerelease
                    
Install as a Cake Tool

Moonlit Plugins

NuGet

Overview

Moonlit Plugins is the core framework for building extensible plugins for the Moonlit release automation system. This package provides the foundation for creating custom plugins that integrate seamlessly with the Moonlit pipeline, offering a standardized approach to extending functionality.

Features

  • Extensible plugin architecture for Moonlit applications
  • Core abstractions for creating custom release pipeline middlewares
  • Standardized context and result handling for plugin operations
  • Service registration patterns for dependency injection
  • Simplified configuration binding and management

Installation

Install the Moonlit Plugins package using the NuGet Package Manager:

Install-Package Wolfware.Moonlit.Plugins

Or via the .NET CLI:

dotnet add package Wolfware.Moonlit.Plugins

Usage

Creating a Custom Plugin

Implement a plugin by extending the PluginStartup base class:

public sealed class MyCustomPluginStartup : PluginStartup
{
  protected override void ConfigurePlugin(IServiceCollection services, IConfiguration configuration)
  {
    // Register your services and configure options here
  }

  protected override void AddMiddlewares(IServiceCollection services)
  {
    // Register your middlewares here
    services.AddMiddleware<MyCustomMiddleware>("my-custom-action");
  }
}

Implementing a Middleware

Create custom middleware components to extend the pipeline functionality:

public sealed class MyCustomMiddleware : ReleaseMiddleware<MyConfig>
{
  protected override Task<MiddlewareResult> ExecuteAsync(
    ReleaseContext context, 
    MyConfig configuration)
  {
    // Implement your middleware logic here
    return Task.FromResult(MiddlewareResult.Success());
  }
}

Pipeline Integration

Plugins created with this framework can be easily integrated into Moonlit release pipelines:

plugins:
  - name: "my-custom-plugin"
    url: "nuget://MyCompany.Moonlit.CustomPlugin/1.0.0"

middlewares:
  - name: "thisIsARandomName"
    run: "my-custom-plugin.my-custom-action"
    config:
    # Your middleware configuration

Requirements

  • .NET 9.0 or higher
  • Microsoft.Extensions.Configuration.Abstractions
  • Microsoft.Extensions.Logging.Abstractions
  • Microsoft.Extensions.Options.ConfigurationExtensions

License

This project is licensed under the terms specified in the LICENSE.txt file included with this package.

About Wolfware

Moonlit is a product of Wolfware LLC, providing modern tools for streamlined development workflows.

© 2025 Wolfware LLC. All rights reserved.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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 (6)

Showing the top 5 NuGet packages that depend on Wolfware.Moonlit.Plugins:

Package Downloads
Wolfware.Moonlit.Plugins.GitHub

Plugin for managing GitHub interactions in Moonlit release automation system

Wolfware.Moonlit.Plugins.Git

Git plugin for Moonlit - providing Git repository integration and version control capabilities.

Wolfware.Moonlit.Plugins.Dotnet

Plugin for managing Dotnet projects in Moonlit release automation system

Wolfware.Moonlit.Plugins.SemanticRelease

A plugin for Moonlit that adds semantic release capabilities

Wolfware.Moonlit.Plugins.Docker

Plugin for managing Docker images in Moonlit release automation system

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-next.3 465 7/24/2025
1.0.0-next.2 624 7/8/2025
1.0.0-next.1 125 7/7/2025

Initial Release