Verbose show command

Open
#159 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp
Domain
cli

Research direction

Start in the WinGet CLI show command and read the existing ShowManifestInfo path. Review how the proposed --full-manifest option should compose with --versions and --manifest, then resolve the open output-format and merged-versus-raw-manifest questions. Done means the scope and expected complete output are defined and implemented.

Written by the indexing model from the issue text.

Description

Command-Show Issue-Feature
Relevant area(s)
  • WinGet CLI
Description of the new feature / enhancement

By default winget show <package> prints a curated subset of the manifest — publisher, URLs, license, description, tags, and the single installer winget would select based on the current arguments and system (architecture, scope, locale, installer type). This is the right default for most users.

However, there are times when you want to see everything in the manifest, not just the selected slice:

  • The source the manifest came from (especially useful when multiple sources are configured and the same package ID exists in more than one).
  • All installers in the manifest (every architecture / scope / installer type), not just the one winget would pick.
  • Full metadata that's normally omitted or summarized.
  • The timestamp the manifest was retrieved/accessed.

Proposed scope: add a --full-manifest argument to winget show that outputs the complete manifest contents rather than the curated subset, including the source and all installer entries.

Proposed technical implementation details
  • New flag on winget show, e.g. --full-manifest.
    • Not -v — that alias is already --version.
    • Avoid --verbose to prevent confusion with the global --verbose-logs (logging level).
  • When set, show renders the full manifest instead of the curated view produced today by ShowManifestInfo, including:
    • Source name (and ideally identifier) the manifest was resolved from.
    • All installers, not just the winget-selected one.
    • Retrieval/access timestamp.
  • Consider how this composes with --versions (list available versions) and --manifest (show from a local manifest file).
  • Output format TBD — human-readable expanded view vs. a raw/structured (YAML/JSON) dump. A structured option would also help scripting scenarios.

Open questions:

  • Human-readable expanded output vs. raw manifest dump (or both, e.g. a separate --format consideration).
  • Whether "full" should include the raw multi-file manifest structure (installer/locale/version manifests) or a merged view.

Updated with GitHub Copilot.

Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/winget-cli

All issues in microsoft/winget-cli

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.