winapp-cli

github/awesome-copilot · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/github/awesome-copilot --skill winapp-cli
0 commentsdiscussion
summary

CLI for Windows app packaging, MSIX creation, certificates, and Microsoft Store deployment across frameworks.

  • Initializes projects with SDK setup, manifests, and development certificates; supports .NET, C++, Electron, Rust, Tauri, and cross-platform frameworks
  • Creates MSIX packages with optional signing, self-contained runtime bundling, and external catalog management
  • Adds temporary package identity to executables for debugging Windows APIs (notifications, Windows AI, shell integrati
skill.md

Windows App Development CLI

The Windows App Development CLI (winapp) is a command-line interface for managing Windows SDKs, MSIX packaging, generating app identity, manifests, certificates, and using build tools with any app framework. It bridges the gap between cross-platform development and Windows-native capabilities.

When to Use This Skill

Use this skill when you need to:

  • Initialize a Windows app project with SDK setup, manifests, and certificates
  • Create MSIX packages from application directories
  • Generate or manage AppxManifest.xml files
  • Create and install development certificates for signing
  • Add package identity for debugging Windows APIs
  • Sign MSIX packages or executables
  • Access Windows SDK build tools from any framework
  • Build Windows apps using cross-platform frameworks (Electron, Rust, Tauri, Qt)
  • Set up CI/CD pipelines for Windows app deployment
  • Access Windows APIs that require package identity (notifications, Windows AI, shell integration)
  • Publish apps to the Microsoft Store via winapp store
  • Create external catalogs for asset management
  • Set up .NET (csproj) projects with Windows App SDK via NuGet

Prerequisites

  • Windows 10 or later
  • winapp CLI installed via one of these methods:
    • WinGet: winget install Microsoft.WinAppCli --source winget
    • NPM (for Electron): npm install @microsoft/winappcli --save-dev
    • GitHub Actions/Azure DevOps: Use setup-WinAppCli action
    • Manual: Download from GitHub Releases

Core Capabilities

1. Project Initialization (winapp init)

Initialize a directory with required assets (manifest, certificates, libraries) for building a modern Windows app. Supports SDK installation modes: stable, preview, experimental, or none.

2. MSIX Packaging (winapp pack)

Create MSIX packages from prepared directories with optional signing, certificate generation, and self-contained deployment bundling.

3. Package Identity for Debugging (winapp create-debug-identity)

Add temporary package identity to executables for debugging Windows APIs that require identity (notifications, Windows AI, shell integration) without full packaging.

4. Manifest Management (winapp manifest)

Generate AppxManifest.xml files and update image assets from source images, automatically creating all required sizes and aspect ratios. Supports manifest placeholders for dynamic content and qualified names in AppxManifest for flexible app identity definitions.

5. Certificate Management (winapp cert)

Generate development certificates and install them to the local machine store for signing packages.

6. Package Signing (winapp sign)

Sign MSIX packages and executables with PFX certificates, with optional timestamp server support.

7. SDK Build Tools Access (winapp tool)

Run Windows SDK build tools with properly configured paths from any framework or build system.

8. Microsoft Store Integration (winapp store)

Run Microsoft Store Developer CLI commands directly from winapp, enabling store submission, package validation, and publishing workflows without leaving the CLI.

9. External Catalog Creation (winapp create-external-catalog)

Create external catalogs to streamline asset management for developers, separating catalog data from the main package.

Usage Examples

Example 1: Initialize and Package a Windows App

# Initialize workspace with defaults
winapp init
# Note: init no longer auto-generates a certificate (v0.2.0+). Generate one explicitly:
winapp cert generate

# Build your application (framework-specific)
# ...

# Create signed MSIX package
winapp pack ./build-output --generate-cert --output MyApp.msix

Example 2: Debug with Package Identity

# Add debug identity to executable for testing Windows APIs
winapp create-debug-identity ./bin/MyApp.exe

# Run your app - it now has package identity
./bin/MyApp.exe

Example 3: CI/CD Pipeline Setup

# GitHub Actions example
- name: Setup winapp CLI
  uses: microsoft/setup-WinAppCli@v1

- name: Initialize and Package
  run: |
    winapp init --no-prompt
    winapp pack ./build-output --output MyApp.msix

Example 4: Electron App Integration

# Install via npm
npm install @microsoft/winappcli --save-dev

# Initialize and add debug identity for Electron
npx winapp init
npx winapp node add-electron-debug-identity

# Package for distribution
npx winapp pack ./out --output MyElectronApp.msix

Guidelines

  1. Run winapp init first - Always initialize your project before using other commands to ensure SDK setup and manifest are configured. Note: as of v0.2.0, winapp init no longer generates a development certificate automatically. Run winapp cert generate explicitly when you need to sign with a dev certificate.
  2. Re-run create-debug-identity after manifest changes - Package identity must be recreated whenever AppxManifest.xml is modified.
  3. Use --no-prompt for CI/CD - Prevents interactive prompts in automated pipelines by using default values.
  4. Use winapp restore for shared projects - Recreates the exact environment state defined in winapp.yaml across machines.
  5. Generate assets from a single image - Use winapp manifest update-assets with one logo to generate all required icon sizes.

Common Patterns

Pattern: Initialize New Project

cd my-project
winapp init
# Creates: AppxManifest.xml, SDK configuration, winapp.yaml
# Note: .NET (csproj) projects skip winapp.yaml and configure NuGet packages in the .csproj directly

# Generate a dev signing certificate explicitly (no longer done by init)
winapp cert generate

Pattern: Package with Existing Certificate

winapp pack ./build-output --cert ./mycert.pfx --cert-password secret --output MyApp.msix

Pattern: Self-Contained Deployment

# Bundle Windows App SDK runtime with the package
winapp pack ./my-app --self-contained --generate-cert

Pattern: Update Package Versions

# Update to latest stable SDKs
winapp update

# Or update to preview SDKs
winapp update --setup-sdks preview

Limitations

  • Windows 10 or later required (Windows-only CLI)
  • Package identity debugging requires re-running create-debug-identity after any manifest changes
  • Self-contained deployment increases package size by bundling the Windows App SDK runtime
  • Development certificates are for testing only; production requires trusted certificates
  • Some Windows APIs require specific capability declarations in the manifest
  • winapp init no longer auto-generates a certificate (v0.2.0+); run winapp cert generate explicitly
  • .NET (csproj) projects skip winapp.yaml; SDK packages are configured in the project file directly
  • winapp CLI uses the NuGet global cache for packages (not %userprofile%/.winapp/packages)
  • winapp CLI is in public preview and subject to change

Windows APIs Enabled by Package Identity

Package identity unlocks access to powerful Windows APIs:

API Category Examples
Notifications Interactive native notifications, notification management
Windows AI On-device LLM, text/image AI APIs (Phi Silica, Windows ML)
Shell Integration Explorer, Taskbar, Share sheet integration
Protocol Handlers Custom URI schemes (yourapp://)
Device Access Camera, microphone, location (with consent)
Background Tasks Run when app is closed
File Associations Open file types with your app

Troubleshooting

Issue Solution
Certificate not trusted Run winapp cert install <cert-path> to install to local machine store
Package identity not working Run winapp create-debug-identity after any manifest changes
SDK not found Run winapp restore or winapp update to ensure SDKs are installed
Signing fails Verify certificate password and ensure cert is not expired

References

how to use winapp-cli

How to use winapp-cli on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add winapp-cli
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/github/awesome-copilot --skill winapp-cli

The skills CLI fetches winapp-cli from GitHub repository github/awesome-copilot and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/winapp-cli

Reload or restart Cursor to activate winapp-cli. Access the skill through slash commands (e.g., /winapp-cli) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.844 reviews
  • Tariq Rao· Dec 28, 2024

    winapp-cli is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Zaid Rao· Dec 24, 2024

    Solid pick for teams standardizing on skills: winapp-cli is focused, and the summary matches what you get after install.

  • Layla Reddy· Dec 12, 2024

    winapp-cli has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Amelia Khan· Nov 19, 2024

    Solid pick for teams standardizing on skills: winapp-cli is focused, and the summary matches what you get after install.

  • Kofi Bansal· Nov 15, 2024

    winapp-cli is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Kofi Harris· Nov 3, 2024

    Keeps context tight: winapp-cli is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Hassan Zhang· Oct 22, 2024

    winapp-cli is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Zara Martin· Oct 10, 2024

    winapp-cli has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Meera Sharma· Oct 6, 2024

    Keeps context tight: winapp-cli is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Piyush G· Sep 21, 2024

    winapp-cli is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

showing 1-10 of 44

1 / 5