thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: #winget
microsoft/winget-cli ★ 26490 1810 APPLICATION

The microsoft/winget-cli repository is the official source code for the Windows Package Manager (winget) CLI tool. Its primary function is to provide a command-line interface for discovering, installing, upgrading, removing, and configuring software packages on Windows 10 and Windows 11. Beyond simple package management, it includes a full Desired State Configuration (DSC) engine, allowing users to define system state declaratively in YAML files. It also exposes COM APIs (Microsoft.Management.Deployment and Microsoft.Management.Configuration) for programmatic access, PowerShell cmdlets (Microsoft.WinGet.Client), and an MCP server for AI tool integration. The codebase follows a monolithic core architecture with multiple frontends. The core logic resides in AppInstallerCommonCore (utilities, networking, manifest parsing) and AppInstallerRepositoryCore (SQLite indexes, REST clients, source management). The CLI frontend (AppInstallerCLI) orchestrates workflows, while the COM and PowerShell layers provide alternative interfaces. Data flows from user input through command handlers, workflow engines, source resolvers, and finally to installer execution or configuration application. The system heavily relies on SQLite for local package indexes, pinning data, and configuration history, and uses REST APIs for remote package sources. Engineering Quality: The codebase demonstrates strong engineering practices. Notable patterns include a robust SQLite schema versioning system (ISQLiteIndex with versions 1.0-2.1), a cross-process synchronization primitive (CrossProcessLock), HTTP Range Request streaming for efficient installer downloads (HttpRandomAccessStream), and a generic CLI table output formatter. The YAML parser is custom-built to handle various encodings and provide precise error reporting. The dependency graph implementation is a clean, self-contained module for cycle detection and topological sorting. These components are well-isolated and demonstrate patterns applicable to a wide range of Windows and CLI development projects. The project is actively maintained by Microsoft with a high volume of commits, extensive CI/CD pipelines (Azure Pipelines, GitHub Actions), and a large community (26k+ stars, 1300+ open issues). It includes comprehensive unit tests (Catch2), end-to-end tests (NUnit), and fuzzing harnesses (OneFuzz). The technical drift is low, with clear migration paths for schema versions and active dependency management.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
Devolutions/UniGetUI ★ 26512 944 APPLICATION

UniGetUI is a cross-platform package manager GUI that provides a unified interface for multiple package managers (WinGet, Chocolatey, Scoop, Homebrew, Snap, Flatpak, APT, DNF, Pacman, pip, npm, Bun, .NET Tool, etc.). The application follows a clean layered architecture with Avalonia-based MVVM UI, a domain package engine, and infrastructure services for settings, logging, telemetry, and IPC. It supports both GUI and headless/daemon modes for automation, includes operation history tracking, secure settings storage, package bundling, and scheduled maintenance tasks. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive test coverage, and modern .NET patterns.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
vedantmgoyal9/winget-releaser ★ 317 41 APPLICATION

WinGet Releaser is a GitHub Action that automates publishing application releases to the Windows Package Manager (WinGet). When triggered by a GitHub release, it fetches release assets, uses the komac tool to generate/update WinGet manifests, and submits a pull request to the microsoft/winget-pkgs repository. The action supports configurable version retention, installer filtering, and custom release notes. Core functionality resides in a PowerShell script that handles input validation, release data fetching, fork synchronization, komac execution, and version cleanup. The action relies on external tools (gh CLI, komac) but encapsulates complex WinGet publishing logic into a reusable CI component.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Romanitho/Winget-AutoUpdate ★ 1995 193 APPLICATION

Winget-AutoUpdate (WAU) is a PowerShell-based Windows service that automates daily application updates using the winget package manager. It runs as a scheduled task in both system and user contexts, supporting blacklist/whitelist filtering, GPO/Intune management via ADMX templates, and extensible 'Mods' for pre/post-install hooks. The architecture is modular: a main orchestrator (Winget-Upgrade.ps1) loads single-responsibility functions from a `functions/` directory, handles network checks, prerequisite installation, and update logic. Notifications use Windows Toast API with locale support. The MSI installer (built with WiX) creates scheduled tasks and registry configuration. External dependencies include winget CLI, Microsoft Visual C++ Redistributable, and optional AzCopy for Azure Blob mods sync. The codebase demonstrates solid PowerShell engineering with structured logging, semantic versioning, and comprehensive CI/CD pipelines.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
marcinotorowski/MSIX-Hero ★ 206 14 APPLICATION

MSIX Hero is a comprehensive MSIX/AppX package management toolkit providing both WPF GUI and CLI interfaces for creating, editing, signing, packaging, and deploying Windows applications. The application follows a modular architecture using Prism for MVVM and dependency injection, with separate modules for package management, volume management, event viewing, system status, and various dialogs. Core functionality includes MSIX package reading/editing via Appx.Reader and Appx.Editor, signing via Appx.Signing, dependency analysis, AppAttach volume management for Windows Virtual Desktop, Winget manifest handling, and system diagnostics. The codebase demonstrates strong separation of concerns, extensive use of interfaces for testability, and reusable patterns in IPC, progress handling, and MVVM property implementations.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: