Skip to content
tonythethompson edited this page Jul 10, 2026 · 1 revision

Winget Manifests

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.

Manifest Structure and Identification

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.

Package Metadata

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

Directory Layout

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.

Installation Workflow

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]
Loading

This diagram shows the lifecycle of a manifest update from release to deployment.

Local Installation

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

Submission and Maintenance

Updating Numan on the Windows Package Manager involves a specific submission process to the microsoft/winget-pkgs repository.

Update Requirements

When submitting a new version, developers must ensure:

  • Manifest Schema: The schema must be version 1.12.0.
  • Checksum Integrity: The InstallerSha256 must be updated using the release SHA256SUMS file (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.

Release Checklist Integration

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.

Summary

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.

Clone this wiki locally