Skip to content

feat(stacks): add 5 .NET desktop stacks — WPF, WinUI 3, UWP, Avalonia, Uno Platform#242

Open
jizc wants to merge 1 commit intonextlevelbuilder:mainfrom
jizc:feature/desktop-apps
Open

feat(stacks): add 5 .NET desktop stacks — WPF, WinUI 3, UWP, Avalonia, Uno Platform#242
jizc wants to merge 1 commit intonextlevelbuilder:mainfrom
jizc:feature/desktop-apps

Conversation

@jizc
Copy link
Copy Markdown

@jizc jizc commented Apr 14, 2026

feat: Add 5 .NET desktop stacks — WPF, WinUI 3, UWP, Avalonia, Uno Platform

Summary

Adds 5 .NET desktop/cross-platform stacks to ui-ux-pro-max, bringing the total from 16 to 21. Desktop XAML frameworks are the most widely used UI toolkits for Windows application development and have been notably absent from the skill's coverage.

This also addresses the growing community demand for desktop stack support (see #211 for PySide6 request — .NET desktop stacks cover the other half of the desktop ecosystem).


Problem

The skill provides comprehensive guidance for web (React, Vue, Svelte, etc.) and mobile (SwiftUI, React Native, Flutter, Jetpack Compose) frameworks, but has zero coverage for desktop application development. Developers building WPF, WinUI 3, or cross-platform desktop apps with Avalonia/Uno get a design system but no implementation guidance.

This is a significant gap because:

  • WPF remains the most widely deployed .NET desktop framework
  • WinUI 3 is Microsoft's current recommended framework for new Windows apps
  • Avalonia is the leading cross-platform .NET UI framework (Windows, macOS, Linux)
  • Uno Platform targets Windows, iOS, Android, macOS, Linux, and WebAssembly from a single codebase
  • UWP has a large installed base of existing apps (with migration guidance to WinUI 3)

Changes

1. Five new stack CSV files

All follow the exact 10-column schema: No, Category, Guideline, Description, Do, Don't, Code Good, Code Bad, Severity, Docs URL

Stack File Guidelines Categories Severity (H/M/L)
WPF stacks/wpf.csv 54 XAML, Data Binding (8), Layout (6), Styling (7), Commands (5), Performance, Threading, Accessibility, Architecture, Testing 14/28/12
WinUI 3 stacks/winui.csv 52 XAML, Controls (8), Styling, Navigation, Data Binding, Performance, Threading, Packaging (3), Accessibility (5), Architecture, Lifecycle (3), Layout, Testing 15/25/12
UWP stacks/uwp.csv 54 XAML (5), Controls (6), Styling, Navigation, Data Binding (5), Performance, Threading, Adaptive (4), Accessibility, Architecture (6), Lifecycle (3), Testing 19/25/10
Avalonia stacks/avalonia.csv 51 XAML, Styling (6), Controls (9), Data Binding, Cross-Platform (4), Performance, Architecture, Accessibility, Testing, Navigation (4), Lifecycle (4), Animation (2) 12/24/15
Uno Platform stacks/uno.csv 52 XAML, Conditional (4), Navigation, Renderers (4), Performance, Styling, Architecture, Accessibility, Testing, WASM (4), Controls (4), Data Binding (3), Lifecycle (2) 14/25/13

Total: 263 new guidelines with 100% Docs URL coverage.

2. Platform differentiation

WinUI 3 and UWP share XAML heritage but are clearly differentiated:

  • WinUI 3: Microsoft.UI.Xaml namespace, DispatcherQueue, Mica/Acrylic materials, AppWindow API, MSIX packaging, NavigationView.BackRequested
  • UWP: Windows.UI.Xaml namespace, CoreDispatcher, suspend/resume lifecycle, device families (phone/Xbox/HoloLens), SystemNavigationManager.BackRequested
  • UWP deprecation notes: Entries 53-54 explicitly recommend WinUI 3 for new projects and link to Microsoft's migration guide

3. src/ui-ux-pro-max/scripts/core.py (5-line addition)

Added to STACK_CONFIG:

"wpf":       {"file": "stacks/wpf.csv"},
"winui":     {"file": "stacks/winui.csv"},
"avalonia":  {"file": "stacks/avalonia.csv"},
"uno":       {"file": "stacks/uno.csv"},
"uwp":       {"file": "stacks/uwp.csv"},

4. src/ui-ux-pro-max/scripts/search.py (docstring update)

Updated stack list to include wpf, winui, avalonia, uno, uwp.

5. src/ui-ux-pro-max/templates/platforms/claude.json

  • Stack count: 16 → 21
  • Added desktop stacks to description list
  • Added keywords: desktop app, .xaml

6. CLAUDE.md

Updated Available stacks line with all 21 stacks.

7. CLI asset sync (per CLAUDE.md contributor rules)

cp src/ui-ux-pro-max/data/stacks/{wpf,winui,uwp,avalonia,uno}.csv cli/assets/data/stacks/
cp src/ui-ux-pro-max/scripts/{core,search}.py cli/assets/scripts/
cp src/ui-ux-pro-max/templates/platforms/claude.json cli/assets/templates/platforms/

Quality validation

All 5 stacks pass automated validation:

  • ✅ 10-column CSV schema (No, Category, Guideline, Description, Do, Don't, Code Good, Code Bad, Severity, Docs URL)
  • ✅ Sequential row numbering with no gaps
  • ✅ 0 empty Docs URL fields across all 263 guidelines
  • ✅ 0 duplicate guidelines within any stack
  • ✅ Guideline counts (51-54) within the existing stack range (49-60)
  • ✅ BM25 search returns relevant results for all 5 stacks
  • ✅ Existing stack searches unaffected — only additions, zero modifications to other CSV files

Testing

# Stack searches
python3 src/ui-ux-pro-max/scripts/search.py "data binding" --stack wpf -n 3
python3 src/ui-ux-pro-max/scripts/search.py "MVVM architecture" --stack avalonia -n 3
python3 src/ui-ux-pro-max/scripts/search.py "navigation" --stack winui -n 3
python3 src/ui-ux-pro-max/scripts/search.py "cross-platform" --stack uno -n 3
python3 src/ui-ux-pro-max/scripts/search.py "accessibility" --stack uwp -n 3
python3 src/ui-ux-pro-max/scripts/search.py "deprecated migration" --stack uwp -n 2

# Verify no regressions on existing stacks
python3 src/ui-ux-pro-max/scripts/search.py "hooks state" --stack react -n 2
python3 src/ui-ux-pro-max/scripts/search.py "server components" --stack nextjs -n 2

Contributor checklist

  • All changes made in src/ui-ux-pro-max/ (source of truth)
  • All changes synced to cli/assets/ (per CLAUDE.md sync rules)
  • CSV follows exact 10-column schema
  • All 263 CSV rows pass schema validation (column count, severity values, non-empty cells, Docs URLs)
  • No direct push to main — submitted from feature branch feature/desktop-apps
  • Existing stack searches unaffected — only additions, zero modifications to other CSV files
  • core.py change is additive — 5 keys added to STACK_CONFIG
  • Guideline counts validated against existing stack range (49-60)
  • WinUI/UWP clearly differentiated (namespaces, APIs, code examples)
  • UWP includes deprecation guidance pointing to WinUI 3

…, Uno Platform

- WPF: 54 guidelines across 10 categories (XAML, Data Binding, Layout, Styling, Commands, Performance, Threading, Accessibility, Architecture, Testing)
- WinUI 3: 52 guidelines across 12 categories (XAML, Controls, Styling, Navigation, Data Binding, Performance, Threading, Packaging, Accessibility, Architecture, Lifecycle, Testing, Layout)
- UWP: 54 guidelines across 12 categories (XAML, Controls, Styling, Navigation, Data Binding, Performance, Threading, Adaptive, Accessibility, Architecture, Lifecycle, Testing) + deprecation notes recommending WinUI 3 for new projects
- Avalonia: 51 guidelines across 12 categories (XAML, Styling, Controls, Data Binding, Cross-Platform, Performance, Architecture, Accessibility, Testing, Navigation, Lifecycle, Animation)
- Uno Platform: 52 guidelines across 13 categories (XAML, Conditional, Navigation, Renderers, Performance, Styling, Architecture, Accessibility, Testing, WASM, Controls, Data Binding, Lifecycle)
- core.py STACK_CONFIG: added 5 new stack entries
- search.py: updated stack list in docstring
- claude.json: updated stack count to 21, added desktop keywords
- CLAUDE.md: updated Available stacks list
- cli/assets synced per CLAUDE.md contributor rules
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.

1 participant