SplatDev.Umbraco.Tools.Packager
1.0.4
dotnet tool install --global SplatDev.Umbraco.Tools.Packager --version 1.0.4
dotnet new tool-manifest
dotnet tool install --local SplatDev.Umbraco.Tools.Packager --version 1.0.4
#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.
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.manifestfrom project metadata and App_Plugins file inventory - Bundle App_Plugins assets — automatically discovers and includes JavaScript, CSS, views, and configuration files
- Wrap
dotnet packwith 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
--outputflag - Version override for CI/CD pipelines via
--versionflag umbraco-packagerglobal 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 | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.4 | 53 | 8/24/2026 |