84 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Welcome to the Windows Package Manager Community repo
 | |
| This repository contains the manifest files for the **Windows Package Manager**.  You are highly encouraged to submit manifests for your favorite application.
 | |
| 
 | |
| The **Windows Package Manager** is an open source client.  You will find the source code [here](https://github.com/microsoft/winget-cli).
 | |
| 
 | |
| # Submitting a Package
 | |
| To submit a package to the repository, you should follow these steps:
 | |
| 1) Follow the **Contributing** guidelines below
 | |
| 2) Author a Manifest
 | |
| 3) Test your manifest
 | |
| 4) Submit your PR
 | |
| 5) Respond to any feedback
 | |
| 
 | |
| ## Authoring a Manifest
 | |
| 
 | |
| The minimal manifest syntax is below. Additional information on writing manifests can be found on [Microsoft Docs](https://docs.microsoft.com/en-us/windows/package-manager/package/manifest) or on the [v0.1 manifest spec](https://github.com/microsoft/winget-cli/blob/master/doc/ManifestSpecv0.1.md).
 | |
| 
 | |
| Current limitations are:
 | |
| * One manifest per PR
 | |
| * One installer per PR
 | |
| 
 | |
| Be sure the manifest filename matches the `Version` and the manifest is located in the folder path matching `manifests\<publisher>\<package>\<version>.yaml`
 | |
| 
 | |
| ```yaml
 | |
| Id: string # publisher.package format
 | |
| Publisher: string # the name of the publisher
 | |
| Name: string # the name of the application
 | |
| Version: string # version numbering format
 | |
| License: string # the open source license or copyright
 | |
| InstallerType: string # enumeration of supported installer types (exe, msi, msix, inno, wix, nullsoft, appx)
 | |
| Installers:
 | |
|   - Arch: string # enumeration of supported architectures
 | |
|     Url: string # path to download installation file
 | |
|     Sha256: string # SHA256 calculated from installer
 | |
| # ManifestVersion: 0.1.0
 | |
| ```
 | |
| 
 | |
| ### 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.
 | |
| 
 | |
| I recommend running the script in the location where you want to produce the manifest file.  For example: `manifests\<publisher>\<package>\`.  After successful completion, it will produce the YAML file.
 | |
| 
 | |
| ### Using Windows Package Manager YAML Generator
 | |
| If you prefer to use a GUI to generate YAML files, you can use the **Windows Package Manager YAML Generator**. It is available as an app [in the Microsoft Store](https://www.microsoft.com/en-us/p/windows-package-manager-yaml-generator/9p3n60fs22k5) and the code is also available [on GitHub](https://github.com/ptorr-msft/WinGetYamlGenerator).
 | |
| 
 | |
| Although the Windows Package Manager YAML Generator can create YAML files with multiple installers, winget does not support more than one installer for now.
 | |
| 
 | |
| ## Test your manifest
 | |
| Now that you have authored your manifest, you should make sure it works as expected.
 | |
| 1) Verify the syntax.  You can do that by typing the following command: `winget validate <manifest>`
 | |
| 2) Test the install.  You can do that by installing the manifest: `winget install -m <manifest>`
 | |
| For more details, see [packages](https://docs.microsoft.com/windows/package-manager/package).
 | |
| 
 | |
| ## 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\<publisher>\<package>\<version>.yaml`
 | |
| 
 | |
| ### Validation Process
 | |
| The PR request will go through a validation process.  During the process, the PR request will get labels to help drive the validation.
 | |
| 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.  
 | |
| 
 | |
| For a list of the BOT labels, see [packages](https://docs.microsoft.com/windows/package-manager/package).
 | |
| 
 | |
| # 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 repos using our CLA.
 | |
| 
 | |
| This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
 | |
| For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
 | |
| contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
 | |
| 
 | |
| 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.
 | |
| 
 |