Skip to content

About

Let MAUI Sherpa guide you through all your .NET MAUI dev environment needs!

Resources

Stars

211 stars

Watchers

7 watching

Forks

Repository files navigation

MAUI Sherpa Logo

MAUI Sherpa

Your guide to .NET MAUI development

Build License: MIT

MAUI Sherpa is a desktop application for macOS, Windows, and Linux that helps manage your .NET MAUI development environment. It provides a unified interface for Android SDK management, Apple Developer tools, environment diagnostics, DevFlow app inspection, and GitHub Copilot integration.

🌐 Visit the website β†’

MAUI Sherpa Dashboard

✨ Features

🩺 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 Devices and Emulators

  • View USB and Wi-Fi devices alongside Android emulators
  • Pair and connect devices using wireless debugging
  • Create, start, stop, and delete emulators, including bulk deletion
  • Search and filter emulators by state, device type, and Android version

Android Wireless Devices

  • Pair a device without Android Studio from Android Devices > Pair over Wi-Fi; the sheet lists Available Devices (found on your network, refreshed every few seconds) and My Devices (connected to adb, with live status)
  • Enable Developer options > Wireless debugging on an Android 11+ phone or Android 13+ TV/Wear OS device
  • For QR pairing, choose Pair over Wi-Fi… in Sherpa and Pair device with QR code on the device; scan with that scanner, not the regular camera app. Codes are single-use and expire after 3 minutes; Stop cancels.
  • For code pairing, choose Pair device with pairing code on the device, then Pair on its row under Available Devices and enter the six-digit code; codes are never saved or logged
  • If Android does not connect automatically, use Connect on its row, or Reconnect for an offline Wi-Fi device under My Devices
  • When the network blocks discovery (guest Wi-Fi, VPNs, isolation), open Enter an address manually to pair or connect by IP address and port; the pairing and debugging ports differ
  • On macOS, allow MAUI Sherpa under System Settings β€Ί Privacy & Security β€Ί Local Network. If the ADB server was started by an app without that access, Sherpa shows Restart ADB, which relaunches it from Sherpa (briefly disconnecting all Android devices)
  • Sherpa also discovers devices with a private, discovery-only ADB server, because a long-running ADB server often misses devices announced after it starts; after pairing, Sherpa connects the device for debugging
  • Requires current Android SDK platform-tools and the same Wi-Fi network. QR pairing needs ADB mDNS discovery.

πŸ”‘ Android Keystores

  • Create and manage Android signing keystores
  • View certificate signatures and details
  • Export PEPK keys for Google Play
  • Cloud sync keystores across machines

🍎 Apple Developer Tools (macOS only)

  • Xcode Management: Browse available Xcode versions, download directly from Apple with authenticated sign-in (SRP + 2FA), and install β€” all from within the app
  • Simulators: Manage iOS/iPadOS/tvOS/watchOS simulators with built-in inspector
  • Bundle IDs: Create and manage App IDs with capabilities editor
  • Devices: Register devices for development and ad-hoc distribution
  • Certificates: Create, download, export, and revoke signing certificates
  • Provisioning Profiles: Create, edit, and manage profiles with CI secrets export
  • Root Certificates: Install Apple root certificates for development

πŸ” Device Inspectors

  • Android: Logcat viewer, file browser, shell, screen capture, and device tools
  • iOS Simulator: Log viewer, app manager, screen capture, and simulator tools

πŸ”¬ DevFlow App Inspector

  • Remote visual tree inspection of running MAUI apps
  • Interactive screenshot with element highlighting
  • Network request monitoring with detailed views
  • Application log streaming (native + WebView)
  • Blazor WebView DOM inspection via CDP
  • Live property editing (colors, sizes, brushes)
  • sherpa-inspector dotnet tool package and self-contained executable for embedding the inspector in external WebViews (website, docs)

πŸ“‹ Publish Profiles

  • Bundle Apple + Android signing configs into reusable profiles
  • Publish secrets to GitHub, GitLab, Azure DevOps repositories
  • Multi-destination publishing with review workflow

πŸ€– GitHub Copilot Integration

  • Chat with Copilot directly in the app
  • Get AI-assisted help with your development environment
  • Suggested prompts for common tasks

πŸ“Έ Screenshots

🩺 Doctor

Doctor Analyzing Doctor Results

πŸ“¦ Android SDK Packages

Android SDK

πŸ“± Android Devices and Emulators

These screenshots show the earlier separate views; devices and emulators are now combined on one page.

Emulators Android Devices

πŸ”‘ Android Keystores

Keystores Create Keystore Keystore Signatures

🍎 Apple Simulators

Apple Simulators

🍎 Apple Registered Devices

Apple Devices Register Device

🍎 Apple Bundle IDs

Bundle IDs Register Bundle ID Bundle Capabilities

🍎 Apple Certificates

Certificates

🍎 Apple Provisioning Profiles

Provisioning Profiles Edit Profile

🍎 Root Certificates

Root Certificates

πŸ” Android Device Inspector

Logcat Files Shell Capture Tools Apps

πŸ” iOS Simulator Inspector

Logs Apps Capture Tools

πŸ”¬ DevFlow App Inspector

Agent List Visual Tree Network Logs WebView

πŸ“‹ Publish Profiles

Publish Profiles Create Profile

βš™οΈ Settings

Settings

πŸ€– GitHub Copilot

Copilot Chat

πŸš€ Getting Started

Installation

Download the latest release from the Releases page, or see the Getting Started guide for detailed instructions.

macOS (Homebrew)

brew install --cask redth/tap/maui-sherpa

macOS (Manual)

  1. Download MAUI-Sherpa.macos.zip
  2. Extract and move MAUI Sherpa.app to Applications
  3. Right-click and select "Open" on first launch (to bypass Gatekeeper)

Windows (Winget)

winget install Maui.Sherpa

This becomes available once the generated manifest is accepted into the upstream microsoft/winget-pkgs repository.

Windows (Manual)

  1. Download MAUI-Sherpa.win-x64.zip or MAUI-Sherpa.win-arm64.zip
  2. Extract to your preferred location
  3. Run the self-contained MauiSherpa.exe (no separate .NET or Windows App SDK installation required)

Linux

Download AppImage, .deb, or Flatpak from the releases page for your architecture (x64 or arm64).

Apple Developer Tools Setup

To use the Apple Developer tools, you'll need to configure your App Store Connect credentials:

  1. Go to App Store Connect β†’ Users and Access β†’ Integrations β†’ Individual Keys
  2. Create a new API key with "Developer" access
  3. Download the .p8 key file
  4. In MAUI Sherpa, click the identity picker and add your credentials:
    • Issuer ID: Found on the Keys page
    • Key ID: The ID of your API key
    • Private Key: Contents of the .p8 file

Your credentials are stored securely in the system keychain.

GitHub Copilot Setup

To use the Copilot integration:

  1. Install GitHub Copilot CLI
  2. Authenticate with gh auth login
  3. MAUI Sherpa will automatically detect and connect to Copilot

πŸ› οΈ Building from Source

# Clone the repository
git clone https://github.com/Redth/MAUI.Sherpa.git
cd MAUI.Sherpa

# Restore dependencies
dotnet restore

# Build for macOS (AppKit)
dotnet build src/MauiSherpa.MacOS -f net10.0-macos

# Build for Windows (Windows only)
dotnet build src/MauiSherpa -f net10.0-windows10.0.19041.0

# Run tests
dotnet test

πŸ—οΈ Project Structure

MAUI.Sherpa/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ MauiSherpa/               # Shared MAUI Blazor Hybrid UI + Windows app head
β”‚   β”‚   β”œβ”€β”€ Components/           # Reusable Blazor components
β”‚   β”‚   β”œβ”€β”€ Pages/                # Blazor page components
β”‚   β”‚   β”œβ”€β”€ Services/             # Platform-specific services
β”‚   β”‚   └── Platforms/            # Platform code (Windows)
β”‚   β”œβ”€β”€ MauiSherpa.MacOS/         # macOS AppKit app head
β”‚   β”œβ”€β”€ MauiSherpa.LinuxGtk/      # Linux GTK4 app head
β”‚   β”œβ”€β”€ MauiSherpa.Core/          # Business logic library
β”‚   β”‚   β”œβ”€β”€ Handlers/             # Mediator request handlers
β”‚   β”‚   β”œβ”€β”€ Requests/             # Request records
β”‚   β”‚   β”œβ”€β”€ Services/             # Service implementations
β”‚   β”‚   └── ViewModels/           # MVVM ViewModels
β”‚   └── MauiSherpa.Workloads/     # .NET workload querying library
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ MauiSherpa.Core.Tests/    # Core library tests
β”‚   └── MauiSherpa.Workloads.Tests/ # Workloads library tests
β”œβ”€β”€ website/                      # GitHub Pages website
└── docs/                         # Documentation

πŸ§ͺ Running Tests

# Run all tests
dotnet test

# Run with coverage
dotnet test --collect:"XPlat Code Coverage"

# Run specific test project
dotnet test tests/MauiSherpa.Core.Tests

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

About

Let MAUI Sherpa guide you through all your .NET MAUI dev environment needs!

Resources

Stars

211 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages