An open API service indexing awesome lists of open source software.

https://github.com/redth/maui.sherpa

Let MAUI Sherpa guide you through all your .NET MAUI dev environment needs!
https://github.com/redth/maui.sherpa

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          


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 โ†’](https://redth.github.io/MAUI.Sherpa/)**

![MAUI Sherpa Dashboard](website/images/screenshots/Dashboard.png)

## โœจ 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 Emulators
- Create, edit, and delete emulators
- Start and stop emulators
- Create snapshots for quick boot
- View emulator details and configuration

### ๐Ÿ”‘ 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)
- **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)

### ๐Ÿ“‹ 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](website/images/screenshots/Doctor-Analyzing.png)
![Doctor Results](website/images/screenshots/Doctor-Results.png)

๐Ÿ“ฆ Android SDK Packages

![Android SDK](website/images/screenshots/Android-SDK-Packages-List.png)

๐Ÿ“ฑ Android Emulators

![Emulators](website/images/screenshots/Android-Emulators-List.png)

๐Ÿ“ฒ Android Devices

![Android Devices](website/images/screenshots/Android-Devices-List.png)

๐Ÿ”‘ Android Keystores

![Keystores](website/images/screenshots/Android-Keystores-List.png)
![Create Keystore](website/images/screenshots/Android-Keystores-Create.png)
![Keystore Signatures](website/images/screenshots/Android-Keystores-Signatures.png)

๐ŸŽ Apple Simulators

![Apple Simulators](website/images/screenshots/Apple-Simulators-Devices-List.png)

๐ŸŽ Apple Registered Devices

![Apple Devices](website/images/screenshots/Apple-Registered-Devices-List.png)
![Register Device](website/images/screenshots/Apple-Registered-Devices-Create.png)

๐ŸŽ Apple Bundle IDs

![Bundle IDs](website/images/screenshots/Apple-BundleIDs-List.png)
![Register Bundle ID](website/images/screenshots/Apple-BundleIDs-Create.png)
![Bundle Capabilities](website/images/screenshots/Apple-BundleIDs-Edit-Capabilities.png)

๐ŸŽ Apple Certificates

![Certificates](website/images/screenshots/Apple-Certificates-List.png)

๐ŸŽ Apple Provisioning Profiles

![Provisioning Profiles](website/images/screenshots/Apple-Profiles-List.png)
![Edit Profile](website/images/screenshots/Apple-Profiles-Edit.png)

๐ŸŽ Root Certificates

![Root Certificates](website/images/screenshots/Apple-Root-Intermediate-Certificates.png)

๐Ÿ” Android Device Inspector

![Logcat](website/images/screenshots/Android-Inspector-Logcat.png)
![Files](website/images/screenshots/Android-Inspector-Files.png)
![Shell](website/images/screenshots/Android-Inspector-Shell.png)
![Capture](website/images/screenshots/Android-Inspector-Capture.png)
![Tools](website/images/screenshots/Android-Inspector-Tools.png)
![Apps](website/images/screenshots/Android-Inspector-Apps.png)

๐Ÿ” iOS Simulator Inspector

![Logs](website/images/screenshots/Apple-Inspector-Logs.png)
![Apps](website/images/screenshots/Apple-Inspector-Apps.png)
![Capture](website/images/screenshots/Apple-Inspector-Capture.png)
![Tools](website/images/screenshots/Apple-Inspector-Tools.png)

๐Ÿ”ฌ DevFlow App Inspector

![Agent List](website/images/screenshots/DevFlow-Agent-List.png)
![Visual Tree](website/images/screenshots/DevFlow-VisualTree.png)
![Network](website/images/screenshots/DevFlow-Network.png)
![Logs](website/images/screenshots/DevFlow-Logs.png)
![WebView](website/images/screenshots/DevFlow-WebView.png)

๐Ÿ“‹ Publish Profiles

![Publish Profiles](website/images/screenshots/Publish-Profiles-List.png)
![Create Profile](website/images/screenshots/Publish-Profiles-Create-General-Tab.png)

โš™๏ธ Settings

![Settings](website/images/screenshots/Settings.png)

๐Ÿค– GitHub Copilot

![Copilot Chat](website/images/screenshots/Copilot-Chat.png)

## ๐Ÿš€ Getting Started

### Installation

Download the latest release from the [Releases](https://github.com/Redth/MAUI.Sherpa/releases) page, or see the [Getting Started guide](https://redth.github.io/MAUI.Sherpa/getting-started.html) for detailed instructions.

#### macOS (Homebrew)
```bash
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
1. Download `MAUI-Sherpa.windows-x64.zip` or `MAUI-Sherpa.windows-arm64.zip`
2. Extract to your preferred location
3. Run `MauiSherpa.exe`

#### 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](https://appstoreconnect.apple.com/) โ†’ 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](https://docs.github.com/en/copilot/github-copilot-in-the-cli)
2. Authenticate with `gh auth login`
3. MAUI Sherpa will automatically detect and connect to Copilot

## ๐Ÿ› ๏ธ Building from Source

```bash
# 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 Mac Catalyst
dotnet build src/MauiSherpa -f net10.0-maccatalyst

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

# Run tests
dotnet test
```

## ๐Ÿ—๏ธ Project Structure

```
MAUI.Sherpa/
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ MauiSherpa/ # Main MAUI Blazor Hybrid app
โ”‚ โ”‚ โ”œโ”€โ”€ Components/ # Reusable Blazor components
โ”‚ โ”‚ โ”œโ”€โ”€ Pages/ # Blazor page components
โ”‚ โ”‚ โ”œโ”€โ”€ Services/ # Platform-specific services
โ”‚ โ”‚ โ””โ”€โ”€ Platforms/ # Platform code (MacCatalyst, 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

```bash
# 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](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- [.NET MAUI](https://github.com/dotnet/maui) - Cross-platform UI framework
- [Platform.Maui.MacOS](https://github.com/nicoleeldridge/mauiplatforms) - macOS AppKit backend for .NET MAUI
- [Platform.Maui.Linux.Gtk4](https://github.com/nicoleeldridge/Maui.Gtk) - Linux GTK4 backend for .NET MAUI
- [Shiny.Mediator](https://github.com/shinyorg/mediator) - Mediator pattern with caching
- [AndroidSdk](https://github.com/redth/androidsdk.tool) - Android SDK management APIs
- [AppleDev.Tools](https://github.com/redth/appledev.tools) - Apple Developer Tools APIs and AppStoreConnect API client
- [MauiDevFlow](https://github.com/Redth/MauiDevFlow) - Remote app inspection agent
- [GitHub Copilot](https://github.com/github/copilot-sdk) - AI-powered assistance via Copilot SDK