Skip to content
Nuvyntra Labs

Spec-driven CLI

Nuvyn

The whole-ecosystem door: spec-driven CLI for .NET MAUI apps on the Nuvyntra stack

NuvyntraLabs.Nuvyn.Cli · 1.2.0

Nuvyn is the whole-ecosystem door. It creates a new four-platform MAUI host and locks plan/implement to MVVMExpress, Lumina UIKit, and the smallest Plugin.Maui.* set. nuvyn adopt attaches the same slash chain to an existing MAUI app without rewriting its host. Individual plugins and NuvyntraLabs.UIKit stay installable without Nuvyn. The product is whatever you specify — any domain.

Install

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

Nuvyn is a standalone PackAsTool CLI. It depends only on System.CommandLine and Spectre.Console. nuvyn init copies an embedded three-project host, adds the default Nuvyntra packages from nuget.org, writes .nuvyn/ standing law, and installs slash commands for the Spec Kit coding-agent set — Cursor, GitHub Copilot, Claude Code, Gemini CLI, Codex, Windsurf, and 30+ more. nuvyn adopt attaches that slash chain to an existing MAUI app and writes .nuvyn/, skills, and adopt-report.md only — it does not change host architecture, UI kit, or HTTP. init never overlays an existing folder. init / adopt / check compose maui-dev doctor --path when MauiDev is on PATH. On an interactive terminal it asks every 4 hours whether to update from nuget.org.

Adopt an existing app

Attach the slash chain without rewriting MVVM, UI kit, or HTTP. Refuses a non-MAUI folder or a tree that already has .nuvyn/. Then run the same slash chain; read adopt-report.md before /nuvyn.plan.

cd FieldApp
nuvyn adopt
nuvyn adopt --agent cursor
nuvyn adopt --path ../FieldApp --agent copilot

Step-by-step: Adopt an existing app.

Refresh skills

After you update the global CLI, refresh templates and slash files in an existing Nuvyn app (from init or adopt). Host code, specs/, .nuvyn/constitution.md, and .nuvyn/adopt-report.md stay as they are. PackageReference versions are not changed.

cd ClinicApp
nuvyn update
nuvyn update --agent cursor

Step-by-step: Refresh skills.

Default host

Five product packages on the MAUI app, plus MVVMExpress satellites on Core and Tests. Versions are the latest nuget.org stable — not pinned. Do not add anything else until the spec asks.

Slash chain

Open the project in the agent you selected at init or adopt. Run these in order. Domain comes from your spec.

CommandWritesPurpose
/nuvyn.constitution.nuvyn/constitution.mdNuvyntra principles plus optional product rules
/nuvyn.specifyspecs/<nnn>/spec.mdWhat / why — the mobile product spec
/nuvyn.clarifyupdates spec.mdResolve ambiguities with at most five questions
/nuvyn.planplan.md + research.mdPackages and one Lumina recipe per screen
/nuvyn.checklistchecklists/<domain>.mdOptional reviewer quality gate
/nuvyn.tasktasks.mdDependency-ordered tasks (T001 [P] [US1])
/nuvyn.analysisreport onlySpec / plan / tasks consistency
/nuvyn.implementhost codeBuild the feature on the locked stack
/nuvyn.convergeappends tasks.mdRemaining work after implement

Coding agents

Omit --agent for a searchable Spec Kit picker. Pass a key to skip the prompt. Slash commands land in the folder that agent already reads.

Agent--agentOn disk
Cursorcursor.cursor/skills/nuvyn-*/
GitHub Copilotcopilot.github/skills/
Claude Codeclaude.claude/commands/
Gemini CLIgemini.gemini/commands/
Codex CLIcodex.agents/skills/
Goosegoose.goose/recipes/
Windsurfwindsurf.windsurf/workflows/
Genericgeneric.agents/commands/

Also: agy, alquimia, amp, auggie, bob, cline, codebuddy, command-code, cursor-agent, devin, docker-agent, droid, dsh, firebender, forge, grok, hermes, iflow, junie, kilocode, kimi, kiro-cli (kiro), lingma, muse, omp, opencode, pi, qodercli, qwen, roo, rovodev, shai, tabnine, trae, vibe, zcode, zed.

Read next

Discussion

Comment on Nuvyn. The thread lives on this component's GitHub repository (nuvyntralabs/Nuvyn). Sign in with GitHub — Giscus uses Discussions, Utterances uses Issues.