-
-
Notifications
You must be signed in to change notification settings - Fork 0
Winget
Winget manifests provide a structured way to distribute and install Numan on Windows systems using the Windows Package Manager. These manifests define the package identity, installation requirements, and metadata necessary for the winget CLI to fetch and deploy Numan binaries to users.
Within the project, these manifests are part of the "Wider Distribution" phase (Phase 7.6) aimed at making Numan a polished, easily distributable CLI tool.
Numan's Winget manifests follow the standard winget-pkgs layout. The package is identified by a unique PackageIdentifier that combines the publisher and the application name.
The manifests include localized information (en-US) such as the publisher name, descriptions, and relevant URLs for support and release notes.
| Field | Value |
|---|---|
| PackageIdentifier | tonythethompson.Numan |
| Publisher | Anthony Thompson |
| Moniker | numan |
| License | MIT |
| ManifestVersion | 1.12.0 |
Manifests are organized in the repository following the publisher path convention: manifests/t/tonythethompson/Numan/<version>/. The publisher path uses lowercase tonythethompson to maintain consistency with existing packages like tonythethompson.QuickShell.
Numan can be installed via Winget using two primary methods: local manifest installation (useful for testing or before official community repo inclusion) and community repository installation.
The following diagram illustrates the flow from manifest creation to user installation:
flowchart TD
A[New Release v0.1.4] --> B[Generate SHA256 Hash]
B --> C[Update Manifest YAMLs]
C --> D{Install Method?}
D -- Local --> E[winget install --manifest path]
D -- Community --> F[Submit PR to winget-pkgs]
F --> G[Merged by Microsoft]
G --> H[winget install tonythethompson.Numan]
This diagram shows the lifecycle of a manifest update from release to deployment.
Users can install Numan directly from the repository's local manifests by pointing winget to the manifest directory.
winget install --manifest .\packaging\winget\manifests\t\tonythethompson\Numan\0.1.4Updating Numan on the Windows Package Manager involves a specific submission process to the microsoft/winget-pkgs repository.
When submitting a new version, developers must ensure:
- Manifest Schema: The schema must be version 1.12.0.
-
Checksum Integrity: The
InstallerSha256must be updated using the releaseSHA256SUMSfile (formatted as uppercase hex). - PR Granularity: Only one version should be included per Pull Request to the community repository.
- Path Casing: Casing must be preserved, often requiring WSL or Linux for manifest preparation.
The maintenance of Winget manifests is a standard step in the Numan release checklist. It occurs alongside other distribution tasks like updating Homebrew formulas and Crates.io publishing.
Winget manifests serve as the primary vehicle for Numan's distribution on Windows. By adhering to the tonythethompson.Numan identifier and maintaining schema-compliant YAML files, the project ensures a seamless installation experience through standard Windows package management tools. This infrastructure supports Numan's goal of being a cross-platform package manager that is easy to adopt on all major operating systems.
Community listing status: see winget-pkgs PR #398049. Until merged, use the local manifest path above.
Numan wiki for tonythethompson/numan · v0.1.4 · MIT