Use this command to install Windows App Development CLI:
winget install --id=Microsoft.WinAppCli -e
The Windows App Development CLI is a command-line interface tool designed to streamline Windows app development tasks. It manages Windows SDKs, packages apps, generates app identities and manifests, handles certificates, and integrates build tools with various frameworks like Electron, .NET, CMake, or Python.
Key Features:
Modern APIs Access: Utilizes the latest Windows App SDK and Windows SDK for enhanced functionality.
App Identity Management: Simplifies adding temporary identity for debugging without full packaging.
MSIX Packaging: Facilitates app packaging with signing and Store readiness.
Build Tools Integration: Seamlessly connects with build tools to automate workflows.
Audience & Benefit:
Ideal for developers using frameworks such as Electron or .NET, targeting Windows with native capabilities. It enhances productivity by automating tasks like manifest generation and certificate management, making it a valuable tool for CI/CD pipelines seeking efficient app deployment strategies.
The CLI can be installed via winget, offering a straightforward setup process to integrate into your development workflow.
README
winapp CLI
> [!IMPORTANT]
> :warning: Status: Public Preview - The Windows App Development CLI (winapp CLI) is experimental and in active development. We'd love your feedback! Share your thoughts by creating an issue.
The Windows App Development CLI (winapp CLI) is a single command-line interface for managing Windows SDKs, packaging, generating app identity, manifests, certificates, and using build tools with any app framework. This tool bridges the gap between cross-platform development and Windows-native capabilities.
Whether you're building with .NET/Win32, CMake, Electron, or Rust, this CLI gives you access to:
Modern Windows APIs - Windows App SDK and Windows SDK with automatic setup and code generation
Package Identity - Debug and test by adding package identity without full packaging in a snap
MSIX Packaging - App packaging with signing and Store readiness
Developer Tools - Manifests, certificates, assets, and build integration
Perfect for:
Cross-platform developers using frameworks like Qt or Electron wanting native Windows features or targeting Windows
Developers who love their current tools and want to build Windows apps from VS Code, or any other editor
Developers crafting CI/CD pipelines to automate building apps for Windows
🤔 Why?
Many powerful Windows APIs require your app to have package identity, enabling you to leverage some of the OS components Windows offers, that you wouldn't otherwise have access to. With identity, your app gains access to user-first features like notifications, OS integration, and on-device AI.
Our goal is to support developers wherever they are, with the tools and frameworks they already use. Based on feedback from developers shipping cross-platform apps on Windows, we built this CLI to streamline integrating with the Windows developer platform - handling SDK setup, header generation, manifests, certificates, and packaging in just a few commands:
Without winapp CLI, setting up a project involves 12 manual steps—downloading SDKs, generating headers, creating manifests, and more. With the CLI, it's just 4 commands.
Few examples of what package identity and MSIX packaging unlocks:
Checkout our getting started guides for step by step instructions of how to setup your environment, generate manifests, assets, and certificate, how to debug APIs that require package identity, and how to MSIX package your app.
Additional guides:
Packaging an EXE/CLI: step by step guide of packaging an existing exe/cli as MSIX
📦 Installation
WinGet
The easiest way to use the CLI is via WinGet (Windows Package Manager). In Terminal, simply run:
The winapp CLI is designed to work well with AI coding assistants like GitHub Copilot, Cursor, Claude, and other LLM-powered tools.
Quick Start Prompt
Copy and paste this into your AI coding assistant:
I'm working with winapp CLI - a CLI for generating and managing appxmanifest.xml,
image assets, test certificates, Windows (App) SDK projections, package identity,
and packaging for any app framework targeting Windows.
Please read and reference the official LLM context documentation:
https://raw.githubusercontent.com/microsoft/WinAppCli/main/docs/llm-context.md
My specific task: [describe what you need help with]
Resources for AI Assistants
LLM Context Guide - Comprehensive command reference with workflows and prerequisites
Need help or have questions about the Windows App Development CLI? Visit our Support Guide for information about our issue templates and triage process.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Contributor License Agreements.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
# Build the CLI and package for npm from the repo root
.\scripts\build-cli.ps1
The binaries and packages will be placed in the artifacts folder
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
Microsoft's Trademark & Brand Guidelines.
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.