This repository contains the manifest files for the Windows Package Manager default source. You are highly encouraged to submit manifests for your favorite application.
Note: At this time installers must either be MSIX, MSI or .exe application installers. Standalone or portable executables, compressed .zip files, and fonts are not currently supported.
The Windows Package Manager is an open source client designed for command-line usage. If you are interested in exploring third-party repositories offering private winget package hosting, see third-party repositories.
To submit a package to this repository, you should follow these steps:
- Follow the Contributing guidelines below.
- Author a Manifest.
- Test your manifest.
- Submit your pull request (PR).
- Respond to any feedback in your PR.
Note: Please check the package's manifest you intend to submit does not already exist in the repository, and there are no open PRs for it in order to avoid duplicates.
You may either use the Windows Package Manager Manifest Creator, the YamlCreate PowerShell script, or you can craft a manifest manually following our authoring guidelines.
Note: Only one manifest may be submitted per PR.
To help author manifest files, we have provided a YamlCreate.ps1 powershell script located in the Tools folder. The script will prompt you for the URL to the installer, then will prompt you to fill in metadata. Additional information regarding the YamlCreate script can be found in the documentation for the script.
You can use the script by cloning the repository on your PC and running the script directly from the Tools folder.
Now that you have authored your manifest, you should make sure it works as expected.
Note: You will need to run
winget settings --enable LocalManifestFiles
in an administrative shell before working with local manifests.
- Verify the syntax by executing the following command:
winget validate <path-to-manifest>
- Test the install by executing the following command:
winget install -m <path-to-manifest>
For more details, see "Submit packages to Windows Package Manager" at Microsoft Docs.
You can use the Sandbox Test PowerShell script for testing a manifest installation in Windows Sandbox. The manifest will be also validated.
Just provide the path to manifest as parameter:
.\Tools\SandboxTest.ps1 <path-to-manifest>
With the manifest verified, you will need to submit a PR. Your manifest should be located in the folder path matching
manifests\<first lower case letter of publisher>\<publisher>\<package>\<version>\
The PR request will go through a validation process. The core team or the Microsoft bot (BOT) will use labels to help during the process. In the event of a failure, the BOT will suggest the problem with the submission and assign the PR back to you.
If the PR has been assigned to you, a timer is triggered. You will have 7 days to resolve the issue, or the BOT will automatically close the PR.
Submissions to the repository are reviewed by Windows Package Manager administrators and/or community moderators. We've provided a Public Service Announcement to help identify these individuals.
This project welcomes contributions and suggestions. 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.opensource.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., status check, comment). Follow the instructions provided by the bot. You will only need to do this once across all Microsoft repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. See the Code of Conduct FAQ or contact [email protected] with any additional questions or comments. More information is available in our Contributing document.
To avoid doubt, you may not make any Submissions linking to third party materials if such Submission is prohibited by the applicable third party and/or otherwise violates such third party's rights.