These past two weeks have been some of the most exciting days I’ve had as a developer. I need to commemorate them.
The shift I'm seeing is simple but profound: when Copilot can run the app, see the UI/DOM, and read logs and screenshots without me babysitting it, iteration speed stops being linear. It feels like years of work compressing into days.
Here’s the haul so far:
- MAUI Sherpa
- MauiDevFlow
- PolyPilot
- .NET MAUI Terminal
- .NET MAUI Linux
- .NET MAUI macOS and tvOS
- .NET MAUI Bootstrap Themes
- .NET MAUI Skills
The common thread here is simple: once Copilot can run the app, inspect UI/DOM, and read logs/screenshots without me babysitting it, iteration speed goes nonlinear. Below is the proof and it's B-A-N-A-N-A-S!
MAUI Sherpa
MAUI Sherpa is a Blazor Hybrid app that puts a face to a set of CLI tools for managing your Android and iOS developer environment. That includes SDKs, Devices, Simulators, Emulators, keystores, certificates, provisioning profiles, and so much more.
Managing your environment, installing the right things, knowing what is even installed, and then handling all the certs and provisioning can be among the most frustrating aspect of cross-platform development. This app makes it much easier for you.
Redth
/
MAUI.Sherpa
Let MAUI Sherpa guide you through all your .NET MAUI dev environment needs!
MAUI Sherpa
Let MAUI Sherpa guide you through all your .NET MAUI dev environment needs!
MAUI Sherpa is a desktop application for macOS and Windows that helps manage your .NET MAUI development environment. It provides a unified interface for Android SDK management, Apple Developer tools, environment diagnostics, and GitHub Copilot integration.
✨ Features
🤖 GitHub Copilot Integration
- Chat with Copilot directly in the app
- Get AI-assisted help with your development environment
- Suggested prompts for common tasks
🩺 MAUI Doctor
- Check your development environment health
- Diagnose .NET SDK, workloads, and dependencies
- AI-powered fix suggestions via Copilot
- One-click environment repairs
📦 Android SDK Management
- Browse and install SDK packages
- Manage platform tools, build tools, and system images
- Search and filter packages
- Track installed vs available packages
📱 Android Emulators
- Create, edit, and delete emulators
- Start and stop emulators
- Create snapshots for quick boot
- View emulator details and configuration
🔑 Android Keystores
- Create…
Jon Dick built this app in just a few hours, and the key thing he did here that blew my mind involved his new tool MauiDevFlow which essentially gave eyes and hands to Copilot so it could work uninterrupted to build and validate the app. In very short order this app was built, beautiful, and shipped.
MauiDevFlow
This CLI tool builds upon the Apple and Android tools Jon built over the years for Xamarin and .NET MAUI (and Avalonia and Uno). Onto it he added all the things we have been bolting onto our Copilot experiences to help Copilot do more for .NET MAUI projects without needing our intervention.
Redth
/
MauiDevFlow
Agentic Dev Loop Assists for .NET MAUI apps
MauiDevFlow
Unified tooling for automating and debugging .NET MAUI apps — both native MAUI and Blazor Hybrid Built to enable AI agents (and humans) to build, deploy, inspect, and debug MAUI apps entirely from the terminal.
What This Is (and Isn't)
MauiDevFlow is designed for agentic development workflows — giving AI coding agents full autonomy over the MAUI dev loop: build, deploy, inspect, interact, diagnose, fix, and repeat.
It is not a UI testing framework, and it is not meant to ship in your app. The agent and
debug bridge are intended for #if DEBUG only. Think of it as giving your AI pair-programmer
eyes and hands inside the running app so it can close the feedback loop on its own — verify its
changes work, see what went wrong when they don't, and iterate without waiting for a human to
manually check the simulator.
Features
- Native MAUI Automation —…
Features include:
- App automation - it can see the UI tree, tap, type, interact, swipe, scroll, and all the things plus screenshot
- BlazorWebView debugging - doesn't just stop at the native elements, but goes deep in the DOM and JS
- Unified logging - quit asking me what the error is and to paste it into the session! Copilot can read for itself.
- Port broker to work with multiple apps simultaneously
- CLI tool for calling commands to automate all the things
- Driver Library for platform specific orchestration
- Skills! to superpower Copilot (and Claude)
The skill will install a NuGet in your project, wire up the host builder to create hooks needed, and you're all set. Kick back and watch Copilot got fully autonomous at your command.
PolyPilot
PolyPilot assists you in orchestrating as many Copilot sessions as your tokens and terminals will allow from a beautiful dashboard, but that's just the start.
Shane Neuville at the time of this writing ranks among the heaviest users of Copilot in all of Microsoft, and his creation PolyPilot is a big reason why.
This week the MAUI team has gone wild evolving PolyPilot and crushing work at the same time. It has been one of the most invigorating team experiences I've ever had!
The secret sauce is that PolyPilot helps you work on PolyPilot while you use PolyPilot. See something you want to improve or change? Do it. PolyPilot will do the work, rebuild, and reload the app in flight. It has all the observability we just talked about with MauiDevFlow and so much more.
You've got 5 sessions running on different tasks and want to step away? No sweat. PolyPilot is on your phone too, participating over a devtunnel (and recently added direct connection on your LAN).
Tell PolyPilot what you need from the couch, the dinner table, the...um, gym.
And the same self improvement loop works here too. PolyPilot can build and deploy the mobile app and refresh you on the fly. It's completely intoxicating the feeling of productivity and power I get.
PolyPilot
Your AI Fleet Commander — Run an army of GitHub Copilot agents from a single app.
Multi-agent orchestration • Real-time streaming • Cross-platform • Remote access from your phone
What is PolyPilot?
PolyPilot is a multi-agent control plane for GitHub Copilot. It's a cross-platform native app (macOS, Windows, Android, iOS) built with .NET MAUI and Blazor that lets you spin up, orchestrate, and monitor dozens of parallel Copilot coding agents — each with its own model, working directory, and conversation — all from one dashboard.
Think of it as mission control for AI-powered development: you launch agents, assign them tasks across different repos, watch them work in real time, and manage everything from a single pane of glass — or from your phone while you're away from your desk.
Why PolyPilot?
The Copilot CLI is powerful, but it's one agent in one terminal. What if you could:
- …
.NET MAUI Terminal
MAUI.TUI is a terminal UI backend for .NET MAUI. Of minimal value in practical use, this experiment demonstrates how well (and quickly) Copilot can build a fresh backend for .NET MAUI.
If you're unfamiliar with this use of "backend", .NET MAUI backend is the rendering/input implementation for a platform: UIKit for iOS, WinUI for Windows, etc.
Maui.TUI
A terminal UI backend for .NET MAUI. Write your app with the familiar MAUI API — ContentPage, Button, Label, Grid, etc. — and render it in your terminal.
Built on XenoAtom.Terminal.UI for high-performance terminal rendering.
MAUI-TUI-Demo.mov
Features
-
Full MAUI handler pipeline — uses the standard
ViewHandler<TVirtualView, TPlatformView>architecture, no fork required - 25+ control handlers — Label, Button, Entry, Editor, CheckBox, Switch, Slider, ProgressBar, Picker, DatePicker, TimePicker, Stepper, RadioButton, CollectionView, ActivityIndicator, ScrollView, Border, Frame, and more
- Layout support — VerticalStackLayout, HorizontalStackLayout, Grid, AbsoluteLayout, FlexLayout via MAUI's cross-platform layout engine
- Navigation — NavigationPage (push/pop), TabbedPage, FlyoutPage, modal pages
-
Alerts & dialogs —
DisplayAlert,DisplayActionSheet,DisplayPromptAsyncrendered as TUI modal dialogs -
SVG rendering — render your UI to SVG for testing and documentation (
--svg) -
Visual tree dump — inspect the rendered control tree for debugging (
--dump)
Requirements
- .NET 10 SDK (preview)
- …
.NET MAUI Linux
With Maui.TUI showing the way, Jon set his sights on Linux. In short order he produced a very functional Linux backend with GTK4.
You can try it today! Instructions are on the repository below.
Platform.Maui.Linux.Gtk4
A community-driven .NET MAUI backend for Linux, powered by GTK4. Run your .NET MAUI applications natively on Linux desktops with GTK4 rendering via GirCore bindings.
Status: Early / experimental — contributions and feedback are welcome!
MAUI-GTK-Demo2.mov
Features
- Native GTK4 rendering — MAUI controls map to real GTK4 widgets.
- Blazor Hybrid support — Host Blazor components inside a native GTK window using WebKitGTK.
- Broad control coverage — Label, Button, Entry, Editor, CheckBox, Switch, Slider, ProgressBar, ActivityIndicator, Image, Picker, DatePicker, TimePicker, Stepper, RadioButton, SearchBar, ScrollView, Border, Frame, ImageButton, WebView, CollectionView, GraphicsView, Shapes, and more.
-
Layout support — StackLayout, Grid, FlexLayout, AbsoluteLayout via a custom
GtkLayoutPanel. - Navigation — NavigationPage, TabbedPage, and FlyoutPage handlers.
- Alerts & Dialogs — DisplayAlert, DisplayActionSheet, and DisplayPromptAsync via native GTK4 windows.
- Essentials — Clipboard, Preferences, DeviceInfo, AppInfo, Connectivity, and more.
-
Cairo-based graphics —
GraphicsViewdraws via the Microsoft.Maui.Graphics Cairo backend. - Theming — Automatic light/dark theme detection…
.NET MAUI macOS and tvOS
Not to be left out, Allan Ritchie took the challenge from Jon to do the same for adding a macOS backend with AppKit to .NET MAUI. Today .NET MAUI's official backend for macOS is Mac Catalyst, which looks great and works well for most use cases, but occasionally you may want a more pure desktop SDK.
Allan and Jon discuss and demo their projects in this week's GoneDotNet podcast which you should absolutely watch.
GoneDotNet
/
mauiplatforms
.NET MAUI for AppleTV & MacOS
.NET MAUI Backends for Apple TV & macOS (AppKit)
Custom .NET MAUI backends targeting platforms not officially supported by MAUI — Apple TV (tvOS via UIKit) and macOS (native AppKit, not Mac Catalyst).
Both backends use the platform-agnostic MAUI NuGet packages (net10.0 fallback assemblies) and provide custom handler implementations that bridge MAUI's layout/rendering system to the native platform UI frameworks.
Samples
Videos are attached in the repo
Project Structure
src/
Microsoft.Maui.Platform.TvOS/ # tvOS backend library (net10.0-tvos)
Microsoft.Maui.Platform.MacOS/ # macOS AppKit backend library (net10.0-macos)
Microsoft.Maui.Essentials.TvOS/ # tvOS Essentials library
Microsoft.Maui.Essentials.MacOS/ # macOS Essentials library
samples/
Sample/ # Shared sample code (App.cs, MainPage.cs, Platforms/)
SampleTv/ # tvOS sample app (links files from Sample/)
SampleMac/ # macOS sample app (links files from Sample/)
Note: There is also a
Sample/Sample.csprojthat multitargets bothnet10.0-tvosandnet10.0-macos, but it is not yet working. UseSampleTvandSampleMacto build and run the…
.NET MAUI Bootstrap Themes
This library will let you drop any Bootstrap css into your .NET MAUI resources and wire it in as your app theme over native controls.
This is a bit of a 2-for-1 story. Inspired by the productivity Jon and Shane were having with Blazor Hybrid in Sherpa and PolyPilot, I chose to try porting my language learning app Sentence Studio from native controls to Blazor Hybrid.
Native controls
With the combination of the maui-ai-debugging skill that uses MauiDevFlow in Copilot CLI (yes, I did yolo it), this conversion only took a few minutes to get to a usable stable, and then some polish and improvements over the course of a few days. When you give Copilot eyes and hands to be able to validate its own work and keep the forward progress going, it's next level stuff.
Blazor Hybrid with Bootstrap
Everything just looks so polished with minimal effort. And I can swap to any theme in an instant. Making the UI look and feel more natural on mobile was also not hard at all.
Then I thought, "wouldn't it be cool to have the same styling for .NET MAUI native controls and layouts?" This isn't crazy to pursue, it's just that .NET lacks the same deep commitment to a singular way of theme and styling as web does with Bootstrap.
In London last week Matt Goldman showed his library Flagstone-UI which provides a couple of controls that support Bootstrap styling tokens. This is the common way I've seen this done: .NET MAUI controls don't support all the styling properties that Bootstrap expects and so you need to create a custom control. Why? Because amending and extending handlers across all the platforms can be time consuming and complex.
But what was hard in the past is just a few minutes of Copilot time now. The thing that was hours of research and days of trial and error is now just minutes of Copilot time. Nothing is beyond your reach.
So here is the first iteration of .NET MAUI Bootstrap Theme support over native controls with no custom controls used.
davidortinau
/
MauiBootstrapTheme
Bootstrap CSS theming for stock .NET MAUI controls
MauiBootstrapTheme
Use any Bootstrap or Bootswatch CSS theme in your .NET MAUI app — no custom controls required.
Drop a Bootstrap CSS file into your project, call .UseBootstrapTheme(), and at build time the CSS is parsed into a native ResourceDictionary with styles for stock MAUI controls.
How It Works
-
Build time — The
MauiBootstrapTheme.BuildMSBuild task reads your Bootstrap CSS files and generates C#ResourceDictionarysource files (.g.cs) via XAML Source Gen. -
Runtime — The generated dictionaries are merged into
Application.Resources, providingStyleClass-based styles for all stock MAUI controls. -
No wrappers — Your
Button,Entry,Label,Border, etc. remain standard MAUI controls. Styling is applied throughStyleClassandDynamicResource.
Quick Start
1. Install
dotnet add package Plugin.Maui.BootstrapAdapter
2. Add a Bootstrap CSS file
Place any Bootstrap or Bootswatch CSS file in your project's Resources/Themes/ folder (e.g., Resources/Themes/bootstrap.min.css). Mark it…
.NET MAUI Skills
Ever since skills reached Copilot the results I'm getting are substantially better. These are what I wanted Copilot instruction prompts to be so many months ago. Load up useful skills and if Copilot is being diligent it will use them when the right words are spoken. In addition to detailed information, code snippets, and prompt instructions, a skill can include executable code like shell scripts, python scripts, etc.
My first attempt at a skill was maui-speech-to-text which does exactly what it says. I tested it on several apps including my Barista Notes app where I instructed Copilot to enable any user to speak to the app and do anything the app can do.
This worked so well, so consistently I wondered what more I should put into a skill.
Where is the best knowledge about .NET MAUI on the internet? Microsoft Learn, of course. So I pointed Copilot at Learn with a skill to create skills and the result is davidortinau/maui-skills, a set of 34 skills and growing to help you with .NET MAUI development tasks like adding local and push notifications, Aspire, authentication, and more.
davidortinau
/
maui-skills
.NET MAUI skills for GitHub Copilot and Claude Code
.NET MAUI Skills
A collection of 34 skills for .NET MAUI development, designed for use with GitHub Copilot CLI and Claude Code. Each skill provides focused, expert-level guidance on a specific area of .NET MAUI app development.
Skills are loaded on-demand when your prompt matches the skill's topic, injecting detailed guidance, code examples, and platform-specific notes into the AI's context.
Available Skills
| Skill | Description |
|---|---|
| maui-accessibility | Guide for making .NET MAUI apps accessible — screen reader support via SemanticProperties, heading levels, AutomationProperties visibility control, programmatic focus and announcements, and platform-specific gotchas for TalkBack, VoiceOver, and Narrator. |
| maui-animations | .NET MAUI view animations, custom animations, easing functions, rotation, scale, translation, and fade effects. |
| maui-app-icons-splash | .NET MAUI app icon configuration, splash screen setup, SVG to PNG conversion at build time, composed/adaptive icons, and platform-specific icon and splash screen requirements for Android, iOS, Mac Catalyst, and Windows. |
| maui-app-lifecycle | .NET MAUI app lifecycle guidance covering the |
How to replicate this
Here's what I would recommend everyone do:
- Install MAUI Sherpa and run doctor on your environment
- Use MauiDevFlow with Copilot to close the loop
- Install maui-skills to sharpen Copilot's solutions
- Multiply this by adding PolyPilot
My current rules are to keep the tasks simple and understood, make sure to keep the loop closed empowering Copilot to solve issues on its own, and be explicit about exit criteria.
Celebration
We didn’t get here overnight—and this week reminded me it’s never just one person. It’s the tools, the skills, the feedback loops, and a team willing to push them until they click.
Yes, it’s tokens and models and prompts. But the real unlock is removing the constant “pause and explain” tax. Once the loop closes (build, run, observe, tweak) progress compounds fast.
If you haven’t felt the “five years in two weeks” thing yet, I get it. I’ve watched other people describe it and wondered what I was missing. For me, the difference was going further, for longer, with better instrumentation. And when it lands… it’s honestly hard to go back.














Top comments (0)