One design system, every platform.
Copy-and-own native components for .NET MAUI, inspired by shadcn/ui.
ShellUI Native is the native cross-platform extension of ShellUI, bringing the same design system and component philosophy to MAUI, Avalonia, and other native platforms. Inspired by shadcn/ui's approach, ShellUI Native provides copy-and-own components for native desktop and mobile development.
- Copy & Own - Components are copied to your project, giving you full control
- Platform Native - Pure native controls, no web views, no CSS overhead
- Lightweight & Fast - No Tailwind/CSS processing, native styling baked in
- Consistent Design - Same design tokens as ShellUI Blazor
- CLI-First - Simple command-line interface for adding components
- Composable - Build complex UIs from simple components
Unlike ShellUI Blazor, ShellUI Native does not use Tailwind CSS. Native platforms (MAUI/Avalonia/WinUI) use XAML styles and ResourceDictionaries, not CSS. The design tokens (colors, spacing, radii) are identical to ShellUI's Tailwind theme but implemented as native styles - making your app lightweight and fast with zero CSS processing overhead.
# Install the CLI tool (prerelease)
dotnet tool install -g ShellUI.Native.CLI --prerelease
# Initialize in your MAUI project
shellui-native init --yes
# Add components
shellui-native add button input card
# List all available components
shellui-native list| Platform | Status | .NET Version |
|---|---|---|
| .NET MAUI | Available (0.1.0-alpha.1) — Android, iOS, Mac Catalyst, Windows |
.NET 10.0 |
| Avalonia UI | In progress (Phase 2): theme, icons, P0–P2 components; not on NuGet yet | .NET 10.0 (Avalonia 12) |
| WinUI 3 | Conditional (Phase 3) | .NET 10.0 |
WPF is intentionally not on this list — it's recognized for project detection only, not an active component target. See PLAN.md and DEVELOPMENT_PLAN.md for the rationale.
For Blazor Hybrid apps, you can use both libraries:
┌─────────────────────────────────────────┐
│ MAUI Native Shell │ ← ShellUI Native
│ ┌───────────────────────────────────┐ │
│ │ BlazorWebView │ │
│ │ ┌─────────────────────────────┐ │ │
│ │ │ Blazor Components │ │ │ ← ShellUI (Blazor + Tailwind)
│ │ └─────────────────────────────┘ │ │
│ └───────────────────────────────────┘ │
└─────────────────────────────────────────┘
- ShellUI (Blazor) - For components inside the BlazorWebView (HTML/CSS/Razor)
- ShellUI Native - For native MAUI controls outside the WebView
They're separate rendering contexts with no conflict. Install what you need based on your app architecture.
- Getting Started
- Component List
- Release Notes
- Releasing — how a version is published
- Components Roadmap — prioritized P0–P7 backlog
- Development Plan — branch strategy & phase breakdown
- Architecture
- Plan — high-level strategy
<!-- MAUI XAML -->
<ContentPage xmlns:ui="clr-namespace:YourProject.Components.UI">
<VerticalStackLayout>
<ui:Button Text="Click me!" Size="Lg" Clicked="OnButtonClicked" />
<ui:Card>
<ui:CardHeader Title="Welcome" Description="Tell us who you are." />
<ui:CardContent>
<ui:Input Placeholder="Enter your name" />
</ui:CardContent>
</ui:Card>
</VerticalStackLayout>
</ContentPage>After initialization, your project will have:
YourProject/
├── Components/
│ └── UI/
│ ├── Button.cs
│ ├── Input.cs
│ ├── Card.cs
│ ├── Variants/
│ │ └── ButtonVariants.cs
│ └── Shell.cs
├── Resources/
│ └── Styles/
│ └── ShellUITheme.xaml
└── shellui-native.json
| Project | ||
|---|---|---|
| ShellUI | The Blazor component library this one mirrors | |
| ShellIcons | Lucide icons for Blazor, MAUI and Avalonia; the source of the icon component |
|
| ShellDocs | The docs framework behind the ShellUI sites |
Inspired by shadcn/ui.
MIT License - see LICENSE for details.