moonlit-cli 1.0.0-next.9

This is a prerelease version of moonlit-cli.
dotnet tool install --global moonlit-cli --version 1.0.0-next.9
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local moonlit-cli --version 1.0.0-next.9
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=moonlit-cli&version=1.0.0-next.9&prerelease
                    
nuke :add-package moonlit-cli --version 1.0.0-next.9
                    

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.

This package has no dependencies.

Version Downloads Last Updated
1.0.0-next.9 506 7/24/2025
1.0.0-next.8 489 7/23/2025
1.0.0-next.7 491 7/23/2025
1.0.0-next.6 487 7/23/2025
1.0.0-next.5 278 7/21/2025
1.0.0-next.4 185 7/20/2025
1.0.0-next.3 188 7/20/2025
1.0.0-next.2 122 7/9/2025
1.0.0-next.1 122 7/9/2025

Initial Release