Skip to content

Pr 6772#21

Open
qiutongMS wants to merge 8 commits into
docsfrom
pr-6772
Open

Pr 6772#21
qiutongMS wants to merge 8 commits into
docsfrom
pr-6772

Conversation

@qiutongMS
Copy link
Copy Markdown
Owner

No description provided.

GrantMeStrength and others added 8 commits May 13, 2026 08:34
New section at develop/ai-assisted/ for stakeholder review:
- index.md: overview, two-path entry (new dev / existing dev), tile grid, FAQ
- quickstart.md: zero-to-Store in 30 min, all free tools, no Visual Studio
- winui-agent-plugin.md: winui@awesome-copilot plugin, 8 skills, winui-dev agent

TOC: added AI-assisted development section above Tools and samples.

Remaining pages (setup, vs-code-ext, templates, MCP, testing, store,
migrate/*, security, responsible-ai, tutorials) to follow after review.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Rename 'Do I need Visual Studio?' → 'Can I build a WinUI 3 app without Visual Studio?'
  with three-command code block for LLM retrieval
- Add 'Starter prompts' section with three copy-paste prompts:
  new app, UWP/WPF migration, and adding features to existing WinUI 3 app
- Each prompt includes explicit namespace substitutions to prevent UWP drift

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…inks

Shell compatibility (quickstart.md):
- bash → powershell for all winget/dotnet commands
- Split 'mkdir MyApp && cd MyApp' into two separate lines
- Replace 'winapp run &' (bash) with Start-Process (PowerShell)

Tool versions:
- .NET SDK 9 → SDK 10 to match current winapp CLI requirements

Broken links / build validation:
- Remove missing hero image reference from index.md
- Fix winui-agent-plugin.md relative path: ../dev-tools → ../../dev-tools
- Add 12 stub pages so all TOC entries resolve (setup, vs-code-extension,
  dotnet-templates, mcp-server, testing, store-publishing, security,
  responsible-ai, migrate/index, migrate/wpf-to-winui, migrate/uwp-to-winui,
  migrate/cross-framework)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Verbosity trim (per Niels' feedback):
- index.md: replace broken tile grid with clean table, cut FAQ answers
  by ~40% while preserving LLM-grounding content, tighten starter
  prompts (remove explanatory prose, keep prompts verbatim)
- quickstart.md: remove over-explanatory sentences after commands,
  fix remaining bash → powershell code fences throughout

New page: mcp-server.md
- Explains the stale training data problem and how MCP solves it
- VS Code, Claude Code, and generic MCP client config
- FileOpenPicker before/after example showing UWP drift fix
- Links to WinUI agent plugin and MCP spec

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tart

dotnet new is a standard .NET CLI tool, not an AI tool — content already
covered in quickstart Prerequisites and Step 1. Removed from TOC and
deleted the stub page.

Store publishing is covered in quickstart Step 6 — a dedicated page for
one command added no value. TOC entry removed, stub deleted, index.md
tools table now links to the quickstart anchor.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- UIKit/SwiftUI → WinUI 3 concept mapping table (20 entries)
- Starter prompt with full iOS-to-WinUI substitution list
- 'What doesn't map directly' section for platform gaps
- Placeholder for winui-ios-migration skill link (coming soon)
- Added to TOC under Migrate and port apps

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Full API substitution tables across 7 categories:
namespaces, threading, windowing, dialogs/pickers, notifications,
navigation, app lifecycle, storage.

Key call-out: picker/ContentDialog InitializeWithWindow requirement
(the most common migration mistake and primary source of UWP drift
in AI-generated code).

Includes starter prompt with all critical substitutions and project
file changes (.csproj target framework + Windows App SDK package).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
### Does this work with Claude Code as well as GitHub Copilot?

Yes. The `winui@awesome-copilot` plugin and the Microsoft Learn MCP Server both work with any MCP-compatible agent.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Overstated compatibility

This claims the plugin works with "any MCP-compatible agent," but the plugin page only explicitly supports GitHub Copilot and Claude Code. Consider listing specific supported agents.

[Page Analyzer: CR-1 · adversarial-review · technical-accuracy]

## Related content

- [Windows App Development CLI](../dev-tools/winapp-cli/index.md)
- [Security considerations for AI-generated code](security.md)
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — Broken relative link

../dev-tools/winapp-cli/index.md resolves to hub/apps/develop/dev-tools/... which doesn't exist. Should be ../../dev-tools/winapp-cli/index.md (one more ../ to reach hub/apps/).

[Page Analyzer: LK-2 · link-check · broken-link]


```powershell
winget install GitHub.cli
gh extension install github/gh-copilot
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Missing sign-in prerequisite

Prerequisites list tool installs but omit GitHub authentication (gh auth login) and Copilot subscription verification, which later steps require.

[Page Analyzer: CR-2 · content-review · step-completeness]


```powershell
gh copilot suggest "Add a settings page to my WinUI NavView app with a toggle for dark mode"
```
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — Prose/code mismatch

The prose says to "use the winui-dev agent" and "switch to agent mode," but this command is gh copilot suggest — a one-shot suggestion, not the agent flow. Either replace with an actual winui-dev agent prompt, or rewrite the prose to match.

[Page Analyzer: CR-3 + CD-1 · content-review + code-review · internal-consistency]

---

## Step 4: Run UI tests

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Info — Heading mismatch

Heading says "Run UI tests" but the commands only inspect/search/screenshot the UI. Consider renaming to "Inspect and verify UI" or adding actual test generation steps.

[Page Analyzer: CR-4 · content-review · internal-consistency (downgraded)]


**6. WinApp VS Code extension**
Install the [WinApp Tools extension](https://marketplace.visualstudio.com/items?itemName=microsoft.winapp-tools) from the VS Code Marketplace.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — Broken external link

This Marketplace link returns HTTP 404. Update to the correct extension URL or note that it's not yet published.

[Page Analyzer: LK-3 · link-check · broken-link]


```bash
gh copilot plugin install winui@awesome-copilot
```
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Incomplete Claude Code guidance

Page title promises "GitHub Copilot and Claude Code" support, but only shows a GitHub Copilot install flow. A Claude Code-only user lacks a clear install/usage path. Consider adding a Claude Code section or explaining that it picks up .github/ skills automatically.

[Page Analyzer: CR-6 · content-review · step-completeness]

> ```csharp
> var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(App.MainWindow);
> WinRT.Interop.InitializeWithWindow.Initialize(picker, hwnd);
> ```
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — ContentDialog vs Picker initialization conflated

The note says "All pickers and ContentDialog" require InitializeWithWindow, but ContentDialog in WinUI 3 requires setting XamlRoot, not InitializeWithWindow. These are two different migration patterns — separate them with distinct code.

Also flagged by cross-reference-check: this contradicts ios-to-winui.md which correctly says ContentDialog needs XamlRoot.

[Page Analyzer: CR-7 + XREF-1 · content-review + cross-ref · technical-accuracy]

| UWP | WinUI 3 |
|-----|---------|
| `Application.Current.Suspending` | `Microsoft.Windows.AppLifecycle` (Windows App SDK) |
| `Application.Current.Resuming` | `AppInstance.GetCurrent().Activated` |
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Oversimplified lifecycle mapping

Presenting SuspendingAppLifecycle and ResumingAppInstance.GetCurrent().Activated as direct substitutions is misleading. WinUI 3 lifecycle migration requires architectural changes, not just API name swaps. Add a note.

[Page Analyzer: CR-8 · content-review · technical-accuracy]

|-----|---------|
| `Windows.UI.Notifications.ToastNotificationManager` | `Microsoft.Windows.AppNotifications.AppNotificationManager` |
| `Windows.UI.Notifications.BadgeUpdateManager` | `Microsoft.Windows.AppBadge` |
| `Windows.UI.Notifications.TileUpdateManager` | Tiles are deprecated — use notifications or widgets |
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — Non-existent API

Microsoft.Windows.AppBadge does not exist in Windows App SDK metadata (verified via WinMD search). The correct API is Microsoft.Windows.BadgeNotifications.BadgeNotificationManager (has SetBadgeAsCount, SetBadgeAsGlyph, ClearBadge).

[Page Analyzer: CD-3 · code-review · api-existence]

```xml
<!-- Before (UWP) -->
<TargetFramework>uap10.0.19041</TargetFramework>

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Error — Wrong UWP project file format

Real UWP projects don't use <TargetFramework>uap10.0.19041</TargetFramework>. They use:

<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>

[Page Analyzer: CD-4 · code-review · syntax-correctness]


> [!NOTE]
> The `winui-ios-migration` skill is coming soon. *(Link to come.)*

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Placeholder skill

Migration skill is "coming soon" with "Link to come." — page lacks an actual execution path for its primary tool.

[Page Analyzer: CR-9 · content-review · step-completeness]

- **In-app purchases**: Use the [Microsoft Store commerce APIs](https://learn.microsoft.com/windows/uwp/monetize/) via `Windows.Services.Store`
- **Push notifications (APNs)**: Use [Windows Push Notification Services (WNS)](https://learn.microsoft.com/windows/apps/design/shell/tiles-and-notifications/windows-push-notification-services--wns--overview)
- **HealthKit / ARKit / CoreML**: Windows equivalents exist in [Windows Health](https://learn.microsoft.com/windows/apps/design/shell/tiles-and-notifications/), [Windows Mixed Reality](https://learn.microsoft.com/windows/mixed-reality/), and [Windows ML](https://learn.microsoft.com/windows/ai/windows-ml/)
- **App Clips**: No direct equivalent — consider [web-to-app linking](https://learn.microsoft.com/windows/uwp/launch-resume/web-to-app-linking)
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning — Overstated platform mapping + 🔴 Broken link

"Windows Health" is not a real Microsoft platform, and this link redirects to an unrelated tiles article. The HealthKit/ARKit/CoreML → Windows equivalents framing overstates the mapping. Say "related technology areas" instead of "equivalents," and fix or remove the Windows Health link.

[Page Analyzer: CR-10 + LK-14 · content-review + link-check]

@qiutongMS
Copy link
Copy Markdown
Owner Author

🔍 Page Analyzer Agent — Automated Review

Pipeline: tree-scan → content-review + code-review + link-check → cross-reference-check → adversarial-review → report

14 pages scanned · 21 confirmed findings · 4 rejected as false positives

Category Count
🔴 Error 11
🟡 Warning 7
🔵 Info 2

hub/apps/develop/ai-assisted/mcp-server.md

🔴 Error — Broken external link

https://docs.github.com/copilot/using-github-copilot/using-model-context-protocol returns HTTP 404. Update to the current GitHub Copilot MCP docs URL.

[Page Analyzer: LK-8 · link-check · broken-link]

hub/apps/develop/ai-assisted/migrate/cross-framework.md

🔴 Error — Broken relative link

quickstart.md doesn't exist in the migrate/ folder. Should be ../quickstart.md.

[Page Analyzer: LK-18 · link-check · broken-link]

hub/apps/develop/ai-assisted/migrate/index.md

🔴 Error — Broken relative link

quickstart.md doesn't exist in the migrate/ folder. Should be ../quickstart.md.

[Page Analyzer: LK-19 · link-check · broken-link]

hub/apps/develop/ai-assisted/migrate/wpf-to-winui.md

🔴 Error — Broken relative link

quickstart.md doesn't exist in the migrate/ folder. Should be ../quickstart.md.

[Page Analyzer: LK-20 · link-check · broken-link]

@GrantMeStrength
Copy link
Copy Markdown

Closing — this work has moved to the correct repo. See https://github.com/MicrosoftDocs/windows-dev-docs-pr/pull/6772 for the active PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants