/winget-pkgs

The Microsoft community Windows Package Manager manifest repository

Primary LanguagePowerShellMIT LicenseMIT

Windows Package Manager Community Repository

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.

Submitting a Package

To submit a package to this repository, you should follow these steps:

  1. Follow the Contributing guidelines below.
  2. Author a Manifest.
  3. Test your manifest.
  4. Submit your pull request (PR).
  5. 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.

Authoring a Manifest

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.

Using the YAMLCreate.ps1

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.

Note: We recommend running the script in the location where you want to produce the manifest file. For example: manifests\<p>\<publisher>\<package>\. After successful completion, it will produce the YAML files.

Test your manifest

Now that you have authored your manifest, you should make sure it works as expected.

Locally

  1. Verify the syntax by executing the following command:
winget validate <path-to-manifest>
  1. 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.

In Windows Sandbox

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>

Submit your PR

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>.yaml

Validation Process

The PR request will go through a validation process. During the process, the core team or the Microsoft bot (BOT) will use labels to help. In the event of a failure, the BOT will suggest where the problem is with the submission and assign the PR back to you.

Respond to PR feedback

If the PR has been assigned to you, a timer is triggered. You will have 7 days to resolve the issue, or the PR will be closed automatically by the BOT.

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.

Contributing

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). Simply 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. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. More information is available in our Contributing document.

For the avoidance of 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.