First off, huge thanks for taking the time to contribute! 🎉
This project aims to provide a modern, safe, and modular Windows 11 Debloater using WPF and iNKORE.UI.WPF. Whether you are fixing a bug, adding a new script, or improving the UI, your help is welcome.
Safety First: This application modifies system settings, registry keys, and services.
- Always test your changes in a Virtual Machine (VM) before submitting a Pull Request.
- Code that causes boot loops, breaks critical Windows functionality (without warning), or downloads unsafe binaries will be rejected immediately.
To get started with the code:
- Prerequisites:
- Visual Studio 2026 (with .NET Desktop Development workload).
- .NET Framework (or newer, depending on your target).
- Git.
- Dependencies:
- The project relies on
iNKORE.UI.WPFfor the UI styling. Ensure nuget packages are restored correctly upon build.
- The project relies on
- Clone the Repo:
git clone https://github.com/silvancoder/Win11Debloater.git
The project follows a standard WPF structure with a navigation-based approach:
MainWindow.xaml: Hosts the main navigation (Navbar) and the Content Frame.Pages/: Contains the individual views (XAML + Codebehind):WelcomePage: Intro & Stats.DebloatPage: Core removal logic.SoftwareInstallerPage: Package manager integration (Winget/Chocolatey etc.).CommunityScriptsPage: External/Custom scripts.DefenderPage: Security toggle settings.HardeningPage: Advanced security tweaks.
Scripts/orHelpers/: Contains the PowerShell logic or system interaction code.
We strive for a native Windows 11 look and feel.
- Theme: Use
iNKORE.UI.WPFcontrols and styles. Do not use standard bulky WPF controls unless styled to match. - English Only: All UI labels, tooltips, and messages must be in English.
- Icons: Use consistent iconography (e.g., Segoe Fluent Icons) as defined in the main navigation.
- Responsiveness: Ensure pages look good on the default window size (900x550) but can handle resizing.
- C#: Follow standard C# naming conventions (PascalCase for methods/classes, camelCase for local variables).
- Comments: Comment complex logic, especially registry tweaks or PowerShell execution blocks.
- Fork the repository.
- Create a new branch for your feature or fix:
feature/new-hardening-tweakfix/nav-button-alignment
- Commit your changes with clear messages.
- Push to your fork.
- Submit a Pull Request (PR) to the
mainbranch.
If you are adding a new Debloat or Hardening option:
- Idempotency: The script should check if the setting is already applied before trying to apply it.
- Reversibility: Ideally, provide logic to revert the change (if applicable).
- Description: clearly describe in the UI or code comments what the tweak does.
- Bad: "Fix Privacy"
- Good: "Disable Telemetry Service (DiagTrack)"
If you find a bug, please create an Issue using the template provided. Include:
- Windows Build Version.
- Steps to reproduce.
- Expected vs. Actual behavior.
Thank you for making Windows cleaner and faster!