diff --git a/vsix/OpenMaui.VisualStudio/LICENSE.txt b/vsix/OpenMaui.VisualStudio/LICENSE.txt
new file mode 100644
index 0000000..88d39b3
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/LICENSE.txt
@@ -0,0 +1,23 @@
+MIT License
+
+Copyright (c) 2025 MarketAlly LLC
+
+Lead Architect: David H. Friedel Jr.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vsix/OpenMaui.VisualStudio/OpenMaui.VisualStudio.csproj b/vsix/OpenMaui.VisualStudio/OpenMaui.VisualStudio.csproj
new file mode 100644
index 0000000..a46d380
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/OpenMaui.VisualStudio.csproj
@@ -0,0 +1,44 @@
+
+
+
+ net48
+ latest
+ enable
+
+
+ true
+ true
+ false
+ false
+ true
+ false
+ true
+
+
+ Extensions
+ MarketAlly\OpenMaui
+
+
+
+
+
+
+
+
+
+ Designer
+
+
+
+
+
+ true
+ PreserveNewest
+
+
+ true
+ PreserveNewest
+
+
+
+
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/App.cs b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/App.cs
new file mode 100644
index 0000000..30cb6d7
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/App.cs
@@ -0,0 +1,17 @@
+namespace $safeprojectname$;
+
+///
+/// Application configuration and lifecycle management.
+///
+public partial class App
+{
+ public App()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ {
+ // Initialize application resources here
+ }
+}
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.cs b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.cs
new file mode 100644
index 0000000..bae0de6
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.cs
@@ -0,0 +1,76 @@
+using Microsoft.Maui.Controls;
+
+namespace $safeprojectname$;
+
+///
+/// The main page of the application.
+///
+public partial class MainPage : ContentPage
+{
+ private int _count = 0;
+
+ public MainPage()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ {
+ Title = "Home";
+
+ var layout = new VerticalStackLayout
+ {
+ Spacing = 25,
+ Padding = new Thickness(30, 0),
+ VerticalOptions = LayoutOptions.Center
+ };
+
+ var welcomeLabel = new Label
+ {
+ Text = "Hello, OpenMaui!",
+ FontSize = 32,
+ HorizontalOptions = LayoutOptions.Center
+ };
+
+ var instructionLabel = new Label
+ {
+ Text = "Welcome to .NET MAUI on Linux",
+ FontSize = 18,
+ HorizontalOptions = LayoutOptions.Center
+ };
+
+ var counterButton = new Button
+ {
+ Text = "Click me",
+ HorizontalOptions = LayoutOptions.Center
+ };
+
+ counterButton.Clicked += OnCounterClicked;
+
+ var image = new Image
+ {
+ Source = "dotnet_bot.png",
+ HeightRequest = 185,
+ HorizontalOptions = LayoutOptions.Center
+ };
+
+ layout.Children.Add(welcomeLabel);
+ layout.Children.Add(instructionLabel);
+ layout.Children.Add(counterButton);
+ layout.Children.Add(image);
+
+ Content = new ScrollView { Content = layout };
+ }
+
+ private void OnCounterClicked(object? sender, EventArgs e)
+ {
+ _count++;
+
+ if (sender is Button button)
+ {
+ button.Text = _count == 1
+ ? $"Clicked {_count} time"
+ : $"Clicked {_count} times";
+ }
+ }
+}
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.xaml b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.xaml
new file mode 100644
index 0000000..82cdaa9
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/MainPage.xaml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.csproj b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.csproj
new file mode 100644
index 0000000..6f8b173
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.csproj
@@ -0,0 +1,39 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+ $safeprojectname$
+ $safeprojectname$
+ $projectname$
+
+
+ linux-x64;linux-arm64
+
+
+
+ $(DefineConstants);DEBUG
+
+
+
+ true
+ true
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.vstemplate b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.vstemplate
new file mode 100644
index 0000000..75c3c50
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/OpenMauiLinuxApp.vstemplate
@@ -0,0 +1,43 @@
+
+
+ OpenMaui Linux App
+ A .NET MAUI application targeting Linux desktop using OpenMaui and SkiaSharp rendering.
+ __TemplateIcon.ico
+ __PreviewImage.png
+ CSharp
+
+ csharp
+ linux
+ desktop
+ maui
+ 4.8
+ 1000
+ OpenMaui.Linux.App.CSharp
+ true
+ OpenMauiLinuxApp
+ true
+ Enabled
+ true
+ true
+
+
+
+ Program.cs
+ App.cs
+ MainPage.cs
+ MainPage.xaml
+
+ launchSettings.json
+
+
+
+ dotnet_bot.png
+
+
+
+
+
+ Microsoft.VisualStudio.TemplateEngine.Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ Microsoft.VisualStudio.TemplateEngine.Wizard.TemplateEngineWizard
+
+
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Program.cs b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Program.cs
new file mode 100644
index 0000000..89194c2
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Program.cs
@@ -0,0 +1,20 @@
+using OpenMaui.Platform.Linux;
+
+namespace $safeprojectname$;
+
+public class Program
+{
+ public static void Main(string[] args)
+ {
+ var app = new LinuxApplication();
+
+ // Configure the application
+ app.Title = "$projectname$";
+
+ // Set the main page
+ app.MainPage = new MainPage();
+
+ // Run the application
+ app.Run();
+ }
+}
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Properties/launchSettings.json b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Properties/launchSettings.json
new file mode 100644
index 0000000..bb769a9
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Properties/launchSettings.json
@@ -0,0 +1,49 @@
+{
+ "profiles": {
+ "Linux (Local)": {
+ "commandName": "Project",
+ "commandLineArgs": "",
+ "environmentVariables": {
+ "DISPLAY": ":0",
+ "DOTNET_ENVIRONMENT": "Development"
+ }
+ },
+ "Linux (WSL)": {
+ "commandName": "Executable",
+ "executablePath": "wsl.exe",
+ "commandLineArgs": "-e dotnet run --project .",
+ "workingDirectory": "${workspaceFolder}",
+ "environmentVariables": {
+ "DISPLAY": ":0",
+ "WAYLAND_DISPLAY": "",
+ "DOTNET_ENVIRONMENT": "Development"
+ }
+ },
+ "Linux (x64 Release)": {
+ "commandName": "Executable",
+ "executablePath": "dotnet",
+ "commandLineArgs": "run -c Release -r linux-x64",
+ "environmentVariables": {
+ "DOTNET_ENVIRONMENT": "Production"
+ }
+ },
+ "Linux (ARM64 Release)": {
+ "commandName": "Executable",
+ "executablePath": "dotnet",
+ "commandLineArgs": "run -c Release -r linux-arm64",
+ "environmentVariables": {
+ "DOTNET_ENVIRONMENT": "Production"
+ }
+ },
+ "Publish Linux x64": {
+ "commandName": "Executable",
+ "executablePath": "dotnet",
+ "commandLineArgs": "publish -c Release -r linux-x64 --self-contained -o ./publish/linux-x64"
+ },
+ "Publish Linux ARM64": {
+ "commandName": "Executable",
+ "executablePath": "dotnet",
+ "commandLineArgs": "publish -c Release -r linux-arm64 --self-contained -o ./publish/linux-arm64"
+ }
+ }
+}
diff --git a/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Resources/Images/.gitkeep b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Resources/Images/.gitkeep
new file mode 100644
index 0000000..aad7c6e
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/ProjectTemplates/OpenMauiLinuxApp/Resources/Images/.gitkeep
@@ -0,0 +1,3 @@
+# Placeholder for dotnet_bot.png
+# Download from: https://raw.githubusercontent.com/dotnet/brand/main/dotnet-bot/dotnet-bot_waving.png
+# Rename to: dotnet_bot.png
diff --git a/vsix/OpenMaui.VisualStudio/Resources/.gitkeep b/vsix/OpenMaui.VisualStudio/Resources/.gitkeep
new file mode 100644
index 0000000..ef6ae16
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/Resources/.gitkeep
@@ -0,0 +1,3 @@
+# Add the following images:
+# - Icon.png (128x128) - Extension icon
+# - Preview.png (200x200) - Preview image for marketplace
diff --git a/vsix/OpenMaui.VisualStudio/source.extension.vsixmanifest b/vsix/OpenMaui.VisualStudio/source.extension.vsixmanifest
new file mode 100644
index 0000000..14a10a4
--- /dev/null
+++ b/vsix/OpenMaui.VisualStudio/source.extension.vsixmanifest
@@ -0,0 +1,48 @@
+
+
+
+
+ OpenMaui - Linux Platform for .NET MAUI
+ Adds Linux platform support to .NET MAUI projects in Visual Studio. Build and deploy MAUI applications to Linux desktops with full SkiaSharp rendering support.
+
+Features:
+• Linux project templates
+• Linux build configurations
+• WSL debugging integration
+• Remote Linux debugging
+• Linux-specific launch profiles
+
+Developed by MarketAlly LLC
+Lead Architect: David H. Friedel Jr.
+ https://github.com/open-maui/maui-linux
+ LICENSE.txt
+ https://github.com/open-maui/maui-linux/blob/main/docs/GETTING_STARTED.md
+ https://github.com/open-maui/maui-linux/releases
+ Resources\Icon.png
+ Resources\Preview.png
+ maui, linux, desktop, cross-platform, skia, openmaui, dotnet
+
+
+
+
+ amd64
+
+
+ amd64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vsix/README.md b/vsix/README.md
new file mode 100644
index 0000000..4572f41
--- /dev/null
+++ b/vsix/README.md
@@ -0,0 +1,143 @@
+# OpenMaui Visual Studio Extension
+
+This Visual Studio extension adds Linux platform support for .NET MAUI applications.
+
+## Features
+
+### Project Templates
+When installed, you'll see **"OpenMaui Linux App"** in Visual Studio's New Project dialog:
+
+```
+File → New → Project → Search "OpenMaui"
+```
+
+### Launch Profiles
+The template includes pre-configured launch profiles:
+
+| Profile | Description |
+|---------|-------------|
+| **Linux (Local)** | Run directly (requires Linux or WSL with GUI) |
+| **Linux (WSL)** | Run via Windows Subsystem for Linux |
+| **Linux (x64 Release)** | Build and run release for x64 |
+| **Linux (ARM64 Release)** | Build and run release for ARM64 |
+| **Publish Linux x64** | Create self-contained x64 package |
+| **Publish Linux ARM64** | Create self-contained ARM64 package |
+
+### How It Works
+
+```
+┌─────────────────────────────────────────────────────────┐
+│ Visual Studio │
+├─────────────────────────────────────────────────────────┤
+│ File → New → Project │
+│ └── OpenMaui Linux App ← This extension adds this │
+├─────────────────────────────────────────────────────────┤
+│ Debug Dropdown │
+│ ├── Linux (Local) │
+│ ├── Linux (WSL) ← Launch profiles │
+│ ├── Linux (x64 Release) │
+│ └── Publish Linux... │
+└─────────────────────────────────────────────────────────┘
+```
+
+## Installation
+
+### From Visual Studio Marketplace
+1. Open Visual Studio 2022
+2. Extensions → Manage Extensions
+3. Search for "OpenMaui"
+4. Click Download and restart VS
+
+### From VSIX File
+1. Download `OpenMaui.VisualStudio.vsix`
+2. Double-click to install
+3. Restart Visual Studio
+
+## Building the Extension
+
+### Prerequisites
+- Visual Studio 2022 with "Visual Studio extension development" workload
+- .NET Framework 4.8 Developer Pack
+
+### Build Steps
+```bash
+cd vsix/OpenMaui.VisualStudio
+dotnet restore
+msbuild /p:Configuration=Release
+```
+
+The VSIX will be in `bin/Release/OpenMaui.VisualStudio.vsix`
+
+## Project Structure
+
+```
+vsix/
+└── OpenMaui.VisualStudio/
+ ├── OpenMaui.VisualStudio.csproj # Extension project
+ ├── source.extension.vsixmanifest # VSIX metadata
+ ├── ProjectTemplates/ # VS project templates
+ │ └── OpenMauiLinuxApp/
+ │ ├── OpenMauiLinuxApp.vstemplate
+ │ ├── OpenMauiLinuxApp.csproj
+ │ ├── Program.cs
+ │ ├── App.cs
+ │ ├── MainPage.cs
+ │ ├── MainPage.xaml
+ │ └── Properties/
+ │ └── launchSettings.json
+ └── Resources/
+ ├── Icon.png
+ └── Preview.png
+```
+
+## Adding Linux to Existing MAUI Projects
+
+If you have an existing MAUI project and want to add Linux support:
+
+### Option 1: Add Platform Folder
+1. Add `Platforms/Linux/Program.cs` to your project
+2. Add `OpenMaui.Controls.Linux` NuGet package
+3. Copy `launchSettings.json` from template to `Properties/`
+
+### Option 2: Create Companion Project
+1. Create new "OpenMaui Linux App" project
+2. Reference your shared MAUI library
+3. Build Linux version separately
+
+## Debugging on Linux
+
+### Via WSL (Recommended)
+1. Install WSL 2 with Ubuntu
+2. Install .NET SDK in WSL: `sudo apt install dotnet-sdk-9.0`
+3. Install X11 libs: `sudo apt install libx11-6`
+4. Select "Linux (WSL)" profile and press F5
+
+### Via Remote Machine
+1. Set up SSH access to Linux machine
+2. Install `vsdbg` on remote machine
+3. Configure remote debugging in VS
+
+### Via Virtual Machine
+1. Set up Linux VM (VMware, VirtualBox, Hyper-V)
+2. Share project folder with VM
+3. Build and run inside VM
+
+## Troubleshooting
+
+### "Cannot find 'wsl.exe'"
+Install WSL: `wsl --install` in PowerShell (Admin)
+
+### "Display not found"
+Ensure WSLg is enabled (Windows 11) or configure X server (Windows 10)
+
+### Template not appearing
+1. Clear template cache: `devenv /updateconfiguration`
+2. Restart Visual Studio
+
+## License
+
+MIT License - Copyright (c) 2025 MarketAlly LLC
+
+---
+
+*Developed by MarketAlly LLC • Lead Architect: David H. Friedel Jr.*