Top Related Projects
Quick Overview
The microsoft/winget-pkgs repository is the central repository for application manifests used by the Windows Package Manager (winget). It contains metadata and installation information for various software packages that can be installed using the winget command-line tool. This repository serves as a community-driven source for package information, allowing users to contribute and maintain package manifests.
Pros
- Community-driven: Allows users to contribute and maintain package manifests
- Wide range of software: Includes manifests for a diverse selection of applications
- Regularly updated: Frequent updates ensure the latest versions of software are available
- Microsoft-backed: Supported by Microsoft, ensuring long-term maintenance and reliability
Cons
- Quality control challenges: With many contributors, maintaining consistent quality across all manifests can be difficult
- Potential for outdated information: Some package manifests may not be updated as frequently as others
- Limited to Windows: Only supports Windows operating systems
- Dependency on community contributions: The completeness and accuracy of the repository rely heavily on community involvement
Getting Started
To contribute a new package manifest to the winget-pkgs repository:
- Fork the repository on GitHub
- Create a new branch for your changes
- Add your package manifest file(s) in the appropriate directory structure
- Commit your changes and push to your fork
- Create a pull request to the main repository
Example of a basic package manifest (YAML format):
PackageIdentifier: Publisher.AppName
PackageVersion: 1.0.0
PackageName: Application Name
Publisher: Publisher Name
License: License Type
ShortDescription: A brief description of the application.
Installers:
- Architecture: x64
InstallerType: exe
InstallerUrl: https://example.com/app-installer.exe
InstallerSha256: 1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF
ManifestType: singleton
ManifestVersion: 1.0.0
For more detailed information on creating and submitting package manifests, refer to the Contributing Guide in the repository.
Competitor Comparisons
A command-line installer for Windows.
Pros of Scoop
- More user-friendly command-line interface
- Supports portable installations, allowing for easy transfer between systems
- Offers a wider range of community-maintained packages
Cons of Scoop
- Smaller official package repository compared to winget-pkgs
- Less integration with Windows OS and Microsoft ecosystem
- May require more manual configuration for some packages
Code Comparison
Scoop installation command:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
winget-pkgs installation command:
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
Scoop package installation:
scoop install <package-name>
winget-pkgs package installation:
winget install <package-name>
Both Scoop and winget-pkgs serve as package managers for Windows, but they have different approaches and target audiences. Scoop focuses on providing a more flexible and user-friendly experience for developers and power users, while winget-pkgs aims to be a more integrated and official solution for Windows package management. The choice between the two depends on individual needs and preferences.
Chocolatey - the package manager for Windows
Pros of choco
- Mature ecosystem with a large community and extensive package library
- Supports package creation and hosting on custom repositories
- Offers more advanced features like package moderation and approval processes
Cons of choco
- Requires elevated privileges for installation and package management
- Can be slower to install packages compared to winget
- Less integrated with Windows OS compared to winget
Code Comparison
choco:
choco install firefox
choco upgrade all
choco uninstall notepad++
winget-pkgs:
winget install Mozilla.Firefox
winget upgrade --all
winget uninstall Notepad++.Notepad++
Both package managers use similar command structures, but winget-pkgs typically requires more specific package identifiers. choco often allows for shorter, more generic package names.
winget-pkgs is directly integrated into Windows, while choco requires separate installation. winget-pkgs focuses on simplicity and OS integration, whereas choco offers more advanced features for package management and creation.
Overall, choco provides a more comprehensive package management solution with a larger ecosystem, while winget-pkgs offers a simpler, native Windows experience with faster installation times and no additional software required.
📦 The Extras bucket for Scoop.
Pros of Extras
- More flexible and customizable installation options
- Supports portable applications and non-standard installations
- Community-driven with faster updates for niche software
Cons of Extras
- Smaller package repository compared to winget-pkgs
- Less official support and potential security concerns
- May require more user intervention for complex installations
Code Comparison
Extras manifest (JSON):
{
"version": "1.2.3",
"url": "https://example.com/app.zip",
"extract_dir": "AppFolder",
"bin": "app.exe"
}
winget-pkgs manifest (YAML):
PackageIdentifier: Example.App
PackageVersion: 1.2.3
Installers:
- Architecture: x64
InstallerUrl: https://example.com/app.msi
InstallerType: msi
The Extras manifest is more concise and focuses on portable applications, while the winget-pkgs manifest provides more detailed information for traditional installers. Extras allows for custom extraction and binary paths, whereas winget-pkgs relies on standard installation procedures.
Both repositories serve as package managers for Windows, but cater to different user needs and installation preferences. Extras is more community-driven and flexible, while winget-pkgs offers a larger, officially supported package collection with standardized installation methods.
🍺 The missing package manager for macOS (or Linux)
Pros of Homebrew
- Cross-platform support (macOS and Linux)
- Larger package ecosystem with community-contributed formulae
- More mature and established project with a longer history
Cons of Homebrew
- Slower package installation process
- Requires more system resources and disk space
- Less integrated with the operating system compared to winget
Code Comparison
winget-pkgs:
PackageIdentifier: Microsoft.VisualStudioCode
PackageVersion: 1.60.0
PackageName: Visual Studio Code
Publisher: Microsoft Corporation
License: MIT
LicenseUrl: https://github.com/microsoft/vscode/blob/main/LICENSE.txt
Homebrew:
class VisualStudioCode < Formula
desc "Open-source code editor"
homepage "https://code.visualstudio.com/"
version "1.60.0"
url "https://update.code.visualstudio.com/#{version}/darwin/stable"
sha256 "..."
depends_on macos: ">= :high_sierra"
end
The winget-pkgs repository uses YAML for package manifests, while Homebrew uses Ruby-based formulae. Winget-pkgs focuses on Windows package management, whereas Homebrew supports macOS and Linux. Homebrew's formulae often include more detailed package information and dependencies, while winget-pkgs manifests are generally simpler and more standardized.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
[!IMPORTANT] At this time installers must be MSIX, MSI, APPX, or .exe application installers. Script-based installers 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 private repositories offering private WinGet package hosting, see private repositories.
Documentation
Please check the overview for detailed topics. Common topics for the WinGet Community repository are available below:
- Authoring a manifest
- Testing a manifest
- Submitting a manifest
- Requesting a new package
- Requesting a new package version
Repology
Repology, the packaging hub monitors package repositories comparing package versions and other information.
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 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 opencode@microsoft.com 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.
Top Related Projects
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot