Skip to content
Nuvyntra Labs

Documentation

Getting started

Nuvyntra Labs reaches you as a component library (one NuGet) or as a whole ecosystem (nuvyn init). You choose. Neither path is a fallback. Packages ship independently — there is no mega-package dependency.

1. Choose a start

Existing apps can stay on the component path, or attach the slash chain with nuvyn adopt (workflow files only — no host rewrite). nuvyn update refreshes skills only — do not re-run nuvyn init on a tree that already exists. The ecosystem white paper maps how UIKit, MVVMExpress, HttpForge, and the gallery compose after you pick a door.

2. Create or open a MAUI app

Whole ecosystem: nuvyn init for a new Nuvyntra host plus the spec slash chain, or nuvyn adopt to attach that chain to an existing MAUI app. Component library: use the stock MAUI template, or scaffold an MVVMExpress host with ViewModels, login replace-root, a list, a form, and tests already wired. Same MVVMExpress scaffold from the VS Code and Visual Studio extensions — install the MVVMExpress Marketplace listings.

dotnet tool install -g NuvyntraLabs.Nuvyn.Cli --source https://api.nuget.org/v3/index.json
nuvyn init FieldApp --agent cursor
nuvyn adopt --agent cursor

dotnet new maui -n FieldApp

dotnet new install Plugin.Maui.MVVMExpress.Templates
dotnet new mvvmexpress -n MyApp

Match the MAUI workload on the machine to an official tag. The live feed — sourced from github.com/dotnet/maui/releases — is on the .NET MAUI release feed.

3. Add the GitHub Packages feed

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. Full steps: Use nuvyntralabs GitHub Packages from a C# project.

Create a classic PAT with read:packages only. Add a repo nuget.config that maps Plugin.Maui.* to the org feed. Store the token in the user-level NuGet config — never in the repo.

GitHub Packages setup

4. Add a component

After the two feeds are configured, restore from GitHub Packages. Registration helpers live in each repository README.

dotnet add package Plugin.Maui.GeoLocator
dotnet add package Plugin.Maui.NetworkMonitor
dotnet add package Plugin.Maui.LocalStore
dotnet add package Plugin.Maui.JobQueue
dotnet add package Plugin.Maui.MVVMExpress.Core

5. Start with a focused plugin

6. Application shell

For ViewModels, async state, Shell or page navigation, dialogs, and toast, start with MVVMExpress for MAUI 1.3.0. Scaffold with dotnet new mvvmexpress or the IDE extensions. It hosts a single window on Android, iOS, Mac Catalyst, and Windows. Desktop hosts use the independent WPF, Avalonia, Uno, and WinUI 3 families (dotnet new wpf-mvvmexpress, avalonia-mvvmexpress, uno-mvvmexpress, winui-mvvmexpress). Technical internals and a step-by-step integration guide live next to each package.

7. Upgrade hardened 1.x plugins

Fourteen plugins shipped fail-closed and correctness fixes on 3 September 2026. DeepLinks, PushRouter, SmartUpload, and FeatureFlags changed defaults. Read the hardened release upgrade map before bumping.

8. Diagnose the machine and project

Install the MauiDev global tool, then run maui-dev doctor. It checks SDK, workloads, Android SDK, JDK, Xcode, TFMs, permissions, duplicate resources, store identity, and leftover Xamarin / net8 TFMs. The VS Code / Cursor extension nuvyntralabs.maui-dev shells out to the same CLI. The package ID is Plugin.Maui.MauiDev.Cli — nuget.org reserved MauiDev.Cli. Do not add it as a PackageReference. On an interactive terminal, 1.2.2 asks every 4 hours whether to update from nuget.org — skip with --no-update-check, NUVYNTRA_NO_UPDATE_CHECK=1, or any --ci / JSON / SARIF run.

dotnet tool install -g Plugin.Maui.MauiDev.Cli --source https://api.nuget.org/v3/index.json
maui-dev doctor
maui-dev permissions --fix --dry-run
maui-dev publish --validate
maui-dev analyze --ci

9. Watch a live plugin session

Install Pulse when you want a nine-lane view of allow-listed Plugin.Maui.* events. Add Plugin.Maui.Pulse and builder.UseMauiPulse() in the app, then run maui-pulse attach on the development machine. Do not add the CLI as a PackageReference. Pulse does not scrape logcat, Firebase, or Sentry.

dotnet tool install -g Plugin.Maui.Pulse.Cli --source https://api.nuget.org/v3/index.json
dotnet add package Plugin.Maui.Pulse
adb reverse tcp:7878 tcp:7878
maui-pulse attach --package com.myapp.android --android --port 7878

10. Localize sibling .resx files

Install NuvLoc when the host already has an English sibling .resx (MAUI, WPF, WinUI, Avalonia, or Uno) and a language list. Put i18n.json at the project root, then nuvloc init --configfile i18n.json --agent cursor. languages must be BCP-47 codes. The CLI is tested with popular codes such as es, fr, de, ja, zh-Hans, and pt-BR — the full list is on the toolkit page. The coding agent translates via /nuvloc.translate. There is no nuvloc translate CLI command and no vendor API key. CI is nuvloc check --ci. WinUI / Uno PRI .resw folders are out of scope. Coverage proves completeness, not correctness — review with a native speaker before you ship.

dotnet tool install -g NuvyntraLabs.NuvLoc.Cli --source https://api.nuget.org/v3/index.json
nuvloc init --configfile i18n.json --agent cursor
nuvloc status --configfile i18n.json
nuvloc check --configfile i18n.json --ci

11. Browse the full catalog

The suite map is MauiEssentials. R&D projects and POCs that informed these plugins live in their own sections on this site.

Next step

Build with Nuvyntra Labs

Use the component library in an existing app, or start a new host with Nuvyn. Same packages either way.