We welcome your input and contributions to all aspects of WinUI, including bug reports, doc updates, feature proposals, and code contributions.
This document contains general guidance. More specific guidance is included in the documents linked below.
Note that all community interactions must abide by the Code of Conduct.
We use GitHub issues to track bugs and features.
For bugs and general issues please file a new issue using the Bug Report template.
We mark the most straightforward issues with labels. These issues are the place to start if you are interested in contributing but new to the codebase.
Another great way to help is by voting and commenting on feature proposals:
Please follow the New Feature or API Process before adding, removing, or changing public APIs or UI.
All new public APIs, new UI, or breaking changes to existing features must go through that process before submitting code changes.
You don't need to follow that process for bug fixes or other small changes.
The WinUI team accepts code changes that improve WinUI or fix bugs, as long as they follow the processes outlined below and broadly align with our roadmap.
While we strive to accept all community contributions that meet the guidelines outlined here, please note that we may not merge changes that have narrowly-defined benefits due to compatibility risks and maintenance costs. We may also revert changes if they are found to be breaking.
For details see:
- Setup and build environment
- Source code structure
- Contribution workflow
- Coding style and conventions
Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
The following rules must be followed for PRs that include files from another project:
- The license of the file is permissive.
- The license of the file is left intact.
- The contribution is correctly attributed in the 3rd party notices file in the repository, as needed.
You can also read and contribute to the WinUI documentation here:
https://docs.microsoft.com/uwp/toolkits/winui
You can find usage examples of the controls available in WinUI in the Xaml Controls Gallery app:
https://github.com/Microsoft/Xaml-Controls-Gallery/
which can also be installed from the Windows Store:
https://www.microsoft.com/p/xaml-controls-gallery/9msvh128x2zt