Microsoft is giving Windows developers a powerful new way to tame SDKs, manifests, certificates, and packaging with the public preview of winapp, the Windows App Development CLI. Announced on the official Windows Developer Blog by product manager Nikola Metulev, winapp is an open-source command-line tool that unifies the most painful parts of the Windows app lifecycle into a single, scriptable interface—whether you build with Electron, CMake, .NET, Rust, or Dart.
What is the winapp CLI?

The Windows App Development CLI (winapp) is a new cross-framework tool that centralizes common Windows app tasks like SDK management, manifest creation, certificate handling, and MSIX packaging behind a single CLI experience. It is designed explicitly for developers who live outside Visual Studio and MSBuild—think web developers shipping Electron apps, C++ engineers using CMake, or .NET and Rust devs wiring Windows features into existing toolchains.
Instead of juggling multiple SDK installers, XML manifests, certificate stores, and packaging utilities, winapp lets you drive everything from one place using simple commands. Crucially, it also focuses on making modern Windows APIs—like Windows AI, security capabilities, notifications, and MCP hosts—easier to reach from heterogeneous build setups.
One-command environment setup with winapp init

One of the most compelling parts of winapp is the init command, which bootstraps an entire Windows app workspace in a single step. Running winapp init from the root of a project pulls down the required Windows SDK packages, generates projections (starting with C++/WinRT), and configures your project for development, including manifests, assets, certificates, and dependencies.
-
Previously, this kind of setup required a chain of manual actions—installing SDKs, crafting appxmanifest.xml by hand, generating and trusting certificates, and wiring everything into your build scripts.
-
With winapp, those error‑prone steps are automated so that each project can be brought to a ready-to-build state with one command, and replicated across machines using
winapp restoreto rehydrate the configuration-defined environment.
For CI/CD, Microsoft is also shipping a GitHub and Azure DevOps action that installs and configures winapp as part of your pipelines, making it easier to standardize Windows app builds across teams and environments.
Package Identity for debugging in a single command

Modern Windows APIs—including Windows AI APIs, security features, notifications, and MCP hosts—often require your app to have Package Identity, which historically meant fully packaging and installing your app before you could even test specific features. That process slowed down the “inner loop” and forced developers into complex configuration just to debug.
Winapp short-circuits this with winapp create-debug-identity, which lets you attach Package Identity directly to an existing executable.
-
By running
winapp create-debug-identity my-app.exe, you can keep your normal debug loop (for example, running from your favorite build system) while still unlocking APIs that require Package Identity. -
Microsoft has published samples and guides in the WinAppCli GitHub repo showing how to integrate this into different toolchains, offering a smoother debugging experience for native, managed, and cross-platform stacks.
This approach effectively decouples “using modern Windows APIs” from “full production packaging,” which is a big win for rapid iteration.
Manifests, certificates, and MSIX packaging made easier

Creating valid app manifests and trusted development certificates has been a long-standing stumbling block for new Windows developers, especially those coming from web or cross‑platform backgrounds. Winapp addresses this both implicitly—through init—and explicitly through dedicated commands that work with manifests and dev certs.

-
Manifest and asset management
-
The CLI can generate a manifest based on a project or executable, helping you get to a valid appxmanifest.xml faster.
-
With
winapp manifest update-assets C:\images\my-logo.png, the tool can automatically generate and wire all required image assets from a single logo, scaling them into the right aspect ratios and linking them into the manifest.
-
-
Certificate generation
-
A single
winapp cert generatecommand can create a self-signed development certificate for sideloading and testing. -
Optionally, winapp can install that certificate locally, so you can deploy and test packages without extra certificate store gymnastics.
-
When it is time to ship, the CLI also compresses the packaging step to one line with winapp pack ./my-app-files --cert ./devcert.pfx, creating store-ready or sideload-ready MSIX packages from your build output. That effectively turns the historically multi-step MSIX packaging journey into a repeatable command you can stick in npm scripts, CMake targets, or CI jobs.
Deep Electron integration and Windows AI support
Microsoft is clearly targeting Electron developers with winapp, shipping the tool as an npm package and adding capabilities tailored for Node.js workflows.
-
npm distribution and scaffolding
-
The CLI is available as
@microsoft/winappclion npm, making it easy to pull into Electron projects alongside your existing devDependencies. -
It can scaffold C++ or C# native add-ons that are preconfigured to use the Windows App SDK and Windows SDK, reducing the friction of bringing high-performance native features or Windows AI capabilities (like on‑device Phi Silica scenarios) into JavaScript apps.
-
-
Debugging Electron with Package Identity
-
With
winapp node add-electron-debug-identity, you can inject Package Identity directly into a running Electron process, enabling you to debug APIs that require identity simply by runningnpm start. -
The CLI also handles bootstrapping the Windows App SDK for you, so you do not have to manually wire the plumbing between Node, native code, and Windows app infrastructure.
-
Microsoft is going further by using winapp to build experimental Node.js projections for certain Windows APIs, such as LanguageModel, which are exposed through packages like @microsoft/winapp-windows-ai on GitHub. That means Node developers can call Windows AI APIs directly from JavaScript/TypeScript, backed by CLIs and templates that winapp manages.
How to install winapp and get started
The Windows App Development CLI is available now in public preview, and Microsoft is explicitly looking for real‑world feedback to shape its roadmap. The project is open source and hosted on GitHub, where you will find documentation, guides, samples, and an issues list for feature requests and bug reports.
There are two primary installation paths:
-
WinGet (general use on Windows)
-
Install winapp system‑wide with:
winget install microsoft.winappcli.
-
-
npm (Electron projects)
-
Add winapp as a dev dependency in JavaScript/TypeScript projects with:
npm install --save-dev @microsoft/winappcli.
-
From there, Microsoft recommends jumping into the language‑specific quick-starts and guides in the winapp CLI repository:
-
Electron quick-start docs for integrating with Node/Electron.
-
.NET, C++/CMake, and Rust guides that show how to plug winapp into existing build chains and workflows.
Because the CLI is still in its early days, some Windows development scenarios are not covered yet, and Microsoft is explicit that this public preview is meant to prioritize features that developers actually use. Feedback, bug reports, and suggestions can be filed directly in the WinAppCli GitHub repo issues page.
Recent Posts You Might Like
- Notepad and Paint Get Powerful New AI and Markdown Upgrades for Windows Insiders
- Quick Fix: How to Disable Copilot in Microsoft 365, Including Word and Excel
- Xbox Free Play Days: Play Sherlock Holmes Chapter One, South Park: Snow Day, This War of Mine: Final Cut, and Cult of the Lamb This Weekend
- Xbox Kicks Off Ridiculous THQ Nordic & HandyGames Sale With Nearly 200 Games Up to 90% Off
Discover more from Microsoft News Now
Subscribe to get the latest posts sent to your email.