SplatDev.Umbraco.Tools.Packager 1.0.4

dotnet tool install --global SplatDev.Umbraco.Tools.Packager --version 1.0.4
                    
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 SplatDev.Umbraco.Tools.Packager --version 1.0.4
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SplatDev.Umbraco.Tools.Packager&version=1.0.4
                    
nuke :add-package SplatDev.Umbraco.Tools.Packager --version 1.0.4
                    

SplatDev.Umbraco.Tools.Packager

A .NET CLI tool for creating Umbraco NuGet packages — generates package.manifest, bundles App_Plugins assets, and wraps dotnet pack to produce installable Umbraco Marketplace packages from your plugin projects.

NuGet License: MIT

Compatibility

.NET Umbraco Package Version
8.0 13 1.0.0
10.0 17 1.0.0

Installation

dotnet tool install -g SplatDev.Umbraco.Tools.Packager

Or install locally to a project:

dotnet new tool-manifest
dotnet tool install SplatDev.Umbraco.Tools.Packager

Usage

Basic package creation

# Navigate to your Umbraco plugin project and run:
umbraco-packager pack

With explicit options

umbraco-packager pack \
    --project ./src/MyPlugin/MyPlugin.csproj \
    --output ./dist \
    --version 1.2.0

Generate package manifest only

umbraco-packager generate-manifest \
    --project ./src/MyPlugin/MyPlugin.csproj

Validate an existing package

umbraco-packager validate \
    --package ./dist/MyPlugin.1.0.0.nupkg

Configuration

Project structure requirements

The packager expects the standard Umbraco plugin layout:

MyPlugin/
  App_Plugins/
    MyPlugin/
      package.manifest
      controller.js
      styles.css
  MyPlugin.csproj

package.manifest generation

The generate-manifest command inspects your project and creates a package.manifest JSON file with metadata extracted from the .csproj:

{
  "name": "MyPlugin",
  "version": "1.0.0",
  "author": "SplatDev Ltda",
  "controls": {
    "javascript": [
      "~/App_Plugins/MyPlugin/controller.js"
    ],
    "css": [
      "~/App_Plugins/MyPlugin/styles.css"
    ]
  }
}

Features

  • Generate package.manifest from project metadata and App_Plugins file inventory
  • Bundle App_Plugins assets — automatically discovers and includes JavaScript, CSS, views, and configuration files
  • Wrap dotnet pack with Umbraco-specific conventions and property injection
  • Validate packages to ensure they meet Umbraco Marketplace requirements
  • Support for multiple build configurations (Debug, Release)
  • Output path customization via --output flag
  • Version override for CI/CD pipelines via --version flag
  • umbraco-packager global CLI command for quick access

Commands

Command Description
pack Full package creation: manifest + asset bundle + dotnet pack
generate-manifest Generates package.manifest from project metadata
validate Validates an existing NuGet package for Umbraco compliance

Dependencies

Package Version Purpose
System.CommandLine 2.0.0-beta4.22272.1 CLI argument parsing and command routing

No other NuGet dependencies — the tool leverages the .NET SDK build infrastructure directly.


SplatDev.Umbraco.Tools.Packager — part of the SplatDev.Umbraco.Plugins suite. Licensed under MIT. © SplatDev Ltda.

Changelog

1.0.4 — 2026-08-24

Removes a dashboard screenshot that showed an error toast. It was captured against a site where this plugin's API was unreachable, so it advertised a broken dashboard. No screenshot is better than a misleading one; a replacement will be taken against a working install.

1.0.3 — 2026-08-24

Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.

1.0.2 — 2026-08-22

  • This package's README now reaches NuGet. The publish workflow discovered packages by a list of name patterns, and this one matched none of them, so it was never built or pushed by CI — the version on NuGet was placed there by hand before the README was wired up, and no release could refresh it. Discovery is now by prefix, so the package ships whenever the repo is tagged.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  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 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.4 53 8/24/2026