How do I package and publish my first Umbraco package? Looking for guidance on the full process

Hi everyone,

I’m fairly new to Umbraco development and I’ve just finished building my first package. I’d love to share it with the community, but I’m not entirely sure how to go about the publishing process.

I understand there are a few steps involved — packaging the project with NuGet, publishing to NuGet.org, and then somehow getting it listed on the Umbraco Marketplace — but I’m not confident I’m doing them in the right order or correctly.

Could someone point me in the right direction or walk me through the general process? I’d really appreciate any advice, especially around the NuGet side of things since that’s where I’m least familiar.

Thanks in advance!

Welcome to the community! :waving_hand: Great to see you sharing ur work :high-5-you-rock:

Here’s a clear breakdown from start to finish:


Step 0 — Understand what an Umbraco package is

Before diving in, it’s worth reading the official Umbraco overview of what packages are and the different types:

https://docs.umbraco.com/umbraco-cms/extending/packages


Step 1 — Create and pack your NuGet package

The first thing you’ll need to do is turn your project into a NuGet package. Umbraco has their own official guide on this which is the best place to start:

https://docs.umbraco.com/umbraco-cms/extending/packages/creating-a-package

For the general NuGet packaging side of things, Microsoft’s guide is also very useful:

https://learn.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli

For a real-world example of how a .csproj looks in an actual Umbraco package, you can reference this one:

https://github.com/ZAAKS/Umbraco-Tag-Manager/blob/main/TagManager/TagManager.csproj

At a minimum, your .csproj should include something like this:

xml

<PropertyGroup>
  <PackageId>YourPackage.Name</PackageId>
  <Version>1.0.0</Version>
  <Authors>Your Name</Authors>
  <Description>A clear description of what your package does.</Description>
  <PackageTags>umbraco-cms umbraco-marketplace</PackageTags>
</PropertyGroup>

Pay close attention to the PackageTags field it’s essential for the next steps. Once your metadata is in order, build the package with:

bash

dotnet pack --configuration Release

Step 2 — Publish to NuGet.org

Once your .nupkg file is ready check bin/release , publish it to NuGet.org. You’ll need a free account if you don’t have one:

https://www.nuget.org/

Then push your package using:

bash

dotnet nuget push YourPackage.nupkg --api-key YOUR_API_KEY --source https://api.nuget.org/v3/index.json

Step 3 — Get listed on the Umbraco Marketplace

This is the official Umbraco guide specifically for getting your package listed on the Marketplace — don’t skip this one:

https://docs.umbraco.com/umbraco-dxp/marketplace/listing-your-package

And the CMS-side companion page:

https://docs.umbraco.com/umbraco-cms/extending/packages/listing-on-marketplace

No manual submission is needed. As long as your NuGet package includes the umbraco-marketplace tag, the Marketplace will detect it automatically within 24–48 hours.

Optionally, you can also add a umbraco-marketplace.json file to your repo to provide richer information such as category, documentation URL, screenshots, and compatible Umbraco versions. The listing guide above covers this in detail.


Step 4 — Validate your listing

Once it appears, use the official validator to confirm everything is displaying correctly:

https://marketplace.umbraco.com/validate

This will highlight any missing metadata or issues before you share your package publicly.


Hope that helps clarify the full process!

1 Like

hi @BishalTimalsina12

thanks for the quick response, yes excatly what i needed.

1 Like

Hi @SarojShresthaa

If you use Lotte’s Opinionated Package Template it will do most of that for you. See here:

Justin

1 Like