Luis Soares
← Back to articles
Open sourceApr 05, 2026·6 min

Shipping my first NuGet package: lessons from v1.0

Versioning, CI and docs people actually read.

LS
Luis Soares
Software architect — .NET · Azure · AI
[ Open source ]

Shipping a NuGet package is half code, half operations: versioning, CI, and docs someone actually opens.

SemVer from day zero

1.0.0 signals an API stable enough for external use. Breaking changes = major; compatible features = minor; fixes = patch. Generate release notes in the pipeline — not from memory.

CI that publishes

yaml
- run: dotnet pack -c Release
- run: dotnet nuget push ./nupkg/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }}

Documentation

README with one-line install, minimal example, and link to API reference. XML comments become IntelliSense — worth the effort in v1.

LS

Written by Luis Soares — software architect, on the road to Microsoft MVP.