Skip to content
Nuvyntra Labs

Documentation

Use nuvyntralabs GitHub Packages from a C# project

Plugin.Maui.* is published on the nuvyntralabs GitHub Packages feed. nuget.org stays the source for Microsoft.*, MAUI, and other public packages.

A project needs two feeds. Plugin.Maui.* comes from GitHub Packages. Everything else (Microsoft.*, MAUI, and other public packages) comes from nuget.org. GitHub Packages requires a token even when the packages are public.

1. Create a classic PAT

Create a classic personal access token with read:packages only. Do not grant write or delete scopes for restore.

2. Add nuget.config next to the .sln or .csproj

Do not put the PAT in this file. Commit the config so every clone uses the same mapping.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="github" value="https://nuget.pkg.github.com/nuvyntralabs/index.json" />
  </packageSources>
  <packageSourceMapping>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
    <packageSource key="github">
      <package pattern="Plugin.Maui.*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

NuGet uses the most specific mapping:

Package IDSource
Plugin.Maui.*GitHub Packages only
everything elsenuget.org only

There is no nuget.org fallback for Plugin.Maui.*. If that version is not on the org feed, restore fails.

3. Store the token on the machine

Add the source in the user-level NuGet config, not the repo:

dotnet nuget add source https://nuget.pkg.github.com/nuvyntralabs/index.json \
  --name github \
  --username YOUR_GITHUB_USERNAME \
  --password YOUR_GITHUB_PAT \
  --store-password-in-clear-text

Feed URL: https://nuget.pkg.github.com/nuvyntralabs/index.json

4. Reference a package and restore

<PackageReference Include="Plugin.Maui.GeoLocator" Version="1.0.8" />
dotnet restore

CI: use GITHUB_TOKEN as the password when that workflow can read the package.

Org feed: https://nuget.pkg.github.com/nuvyntralabs/index.json. Browse a package page from the catalog or return to getting started.

Next step

Build with Nuvyntra Labs

Browse production NuGet packages, or reach the lab if you want to evaluate research or compose a plugin set.