Skip to content

Commit 41a159d

Browse files
Update winapp cli skill based on new winapp CLI 0.2.0 release (#854)
* Update skill for v0.2.0 * Update skills readme * Update skills/winapp-cli/SKILL.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 306a2d3 commit 41a159d

2 files changed

Lines changed: 26 additions & 5 deletions

File tree

docs/README.skills.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,6 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
225225
| [web-design-reviewer](../skills/web-design-reviewer/SKILL.md) | This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level. | `references/framework-fixes.md`<br />`references/visual-checklist.md` |
226226
| [webapp-testing](../skills/webapp-testing/SKILL.md) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. | `test-helper.js` |
227227
| [what-context-needed](../skills/what-context-needed/SKILL.md) | Ask Copilot what files it needs to see before answering a question | None |
228-
| [winapp-cli](../skills/winapp-cli/SKILL.md) | Windows App Development CLI (winapp) for building, packaging, and deploying Windows applications. Use when asked to initialize Windows app projects, create MSIX packages, generate AppxManifest.xml, manage development certificates, add package identity for debugging, sign packages, or access Windows SDK build tools. Supports .NET, C++, Electron, Rust, Tauri, and cross-platform frameworks targeting Windows. | None |
228+
| [winapp-cli](../skills/winapp-cli/SKILL.md) | Windows App Development CLI (winapp) for building, packaging, and deploying Windows applications. Use when asked to initialize Windows app projects, create MSIX packages, generate AppxManifest.xml, manage development certificates, add package identity for debugging, sign packages, publish to the Microsoft Store, create external catalogs, or access Windows SDK build tools. Supports .NET (csproj), C++, Electron, Rust, Tauri, and cross-platform frameworks targeting Windows. | None |
229229
| [workiq-copilot](../skills/workiq-copilot/SKILL.md) | Guides the Copilot CLI on how to use the WorkIQ CLI/MCP server to query Microsoft 365 Copilot data (emails, meetings, docs, Teams, people) for live context, summaries, and recommendations. | None |
230230
| [write-coding-standards-from-file](../skills/write-coding-standards-from-file/SKILL.md) | Write a coding standards document for a project using the coding styles from the file(s) and/or folder(s) passed as arguments in the prompt. | None |

skills/winapp-cli/SKILL.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: winapp-cli
3-
description: 'Windows App Development CLI (winapp) for building, packaging, and deploying Windows applications. Use when asked to initialize Windows app projects, create MSIX packages, generate AppxManifest.xml, manage development certificates, add package identity for debugging, sign packages, or access Windows SDK build tools. Supports .NET, C++, Electron, Rust, Tauri, and cross-platform frameworks targeting Windows.'
3+
description: 'Windows App Development CLI (winapp) for building, packaging, and deploying Windows applications. Use when asked to initialize Windows app projects, create MSIX packages, generate AppxManifest.xml, manage development certificates, add package identity for debugging, sign packages, publish to the Microsoft Store, create external catalogs, or access Windows SDK build tools. Supports .NET (csproj), C++, Electron, Rust, Tauri, and cross-platform frameworks targeting Windows.'
44
---
55

66
# Windows App Development CLI
@@ -21,6 +21,9 @@ Use this skill when you need to:
2121
- Build Windows apps using cross-platform frameworks (Electron, Rust, Tauri, Qt)
2222
- Set up CI/CD pipelines for Windows app deployment
2323
- Access Windows APIs that require package identity (notifications, Windows AI, shell integration)
24+
- Publish apps to the Microsoft Store via `winapp store`
25+
- Create external catalogs for asset management
26+
- Set up .NET (csproj) projects with Windows App SDK via NuGet
2427

2528
## Prerequisites
2629

@@ -47,7 +50,7 @@ Add temporary package identity to executables for debugging Windows APIs that re
4750

4851
### 4. Manifest Management (`winapp manifest`)
4952

50-
Generate AppxManifest.xml files and update image assets from source images, automatically creating all required sizes and aspect ratios.
53+
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.
5154

5255
### 5. Certificate Management (`winapp cert`)
5356

@@ -61,13 +64,23 @@ Sign MSIX packages and executables with PFX certificates, with optional timestam
6164

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

67+
### 8. Microsoft Store Integration (`winapp store`)
68+
69+
Run Microsoft Store Developer CLI commands directly from winapp, enabling store submission, package validation, and publishing workflows without leaving the CLI.
70+
71+
### 9. External Catalog Creation (`winapp create-external-catalog`)
72+
73+
Create external catalogs to streamline asset management for developers, separating catalog data from the main package.
74+
6475
## Usage Examples
6576

6677
### Example 1: Initialize and Package a Windows App
6778

6879
```bash
6980
# Initialize workspace with defaults
7081
winapp init
82+
# Note: init no longer auto-generates a certificate (v0.2.0+). Generate one explicitly:
83+
winapp cert generate
7184

7285
# Build your application (framework-specific)
7386
# ...
@@ -115,7 +128,7 @@ npx winapp pack ./out --output MyElectronApp.msix
115128

116129
## Guidelines
117130

118-
1. **Run `winapp init` first** - Always initialize your project before using other commands to ensure SDK setup, manifest, and certificates are configured.
131+
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.
119132
2. **Re-run `create-debug-identity` after manifest changes** - Package identity must be recreated whenever AppxManifest.xml is modified.
120133
3. **Use `--no-prompt` for CI/CD** - Prevents interactive prompts in automated pipelines by using default values.
121134
4. **Use `winapp restore` for shared projects** - Recreates the exact environment state defined in `winapp.yaml` across machines.
@@ -128,7 +141,11 @@ npx winapp pack ./out --output MyElectronApp.msix
128141
```bash
129142
cd my-project
130143
winapp init
131-
# Creates: AppxManifest.xml, development certificate, SDK configuration, winapp.yaml
144+
# Creates: AppxManifest.xml, SDK configuration, winapp.yaml
145+
# Note: .NET (csproj) projects skip winapp.yaml and configure NuGet packages in the .csproj directly
146+
147+
# Generate a dev signing certificate explicitly (no longer done by init)
148+
winapp cert generate
132149
```
133150

134151
### Pattern: Package with Existing Certificate
@@ -161,6 +178,9 @@ winapp update --setup-sdks preview
161178
- Self-contained deployment increases package size by bundling the Windows App SDK runtime
162179
- Development certificates are for testing only; production requires trusted certificates
163180
- Some Windows APIs require specific capability declarations in the manifest
181+
- `winapp init` no longer auto-generates a certificate (v0.2.0+); run `winapp cert generate` explicitly
182+
- .NET (csproj) projects skip `winapp.yaml`; SDK packages are configured in the project file directly
183+
- winapp CLI uses the NuGet global cache for packages (not `%userprofile%/.winapp/packages`)
164184
- winapp CLI is in public preview and subject to change
165185

166186
## Windows APIs Enabled by Package Identity
@@ -190,6 +210,7 @@ Package identity unlocks access to powerful Windows APIs:
190210

191211
- [GitHub Repository](https://github.com/microsoft/WinAppCli)
192212
- [Full CLI Documentation](https://github.com/microsoft/WinAppCli/blob/main/docs/usage.md)
213+
- [.NET Project Guide](https://github.com/microsoft/WinAppCli/blob/main/docs/guides/dotnet.md)
193214
- [Sample Applications](https://github.com/microsoft/WinAppCli/tree/main/samples)
194215
- [Windows App SDK](https://learn.microsoft.com/windows/apps/windows-app-sdk/)
195216
- [MSIX Packaging Overview](https://learn.microsoft.com/windows/msix/overview)

0 commit comments

Comments
 (0)