maui icon indicating copy to clipboard operation
maui copied to clipboard

Add comprehensive README to Microsoft.Maui.Controls NuGet package

Open Copilot opened this issue 1 month ago • 19 comments

[!NOTE] Are you waiting for the changes in this PR to be merged? It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Adds a high-quality README to the Microsoft.Maui.Controls NuGet package following Microsoft's official guidelines. The README will render on NuGet.org's package page.

Changes:

  • Created /src/Controls/src/NuGet/README.md with:
    • Uses product name ".NET MAUI" throughout (not package name)
    • NuGet version and License badges (build status badge removed)
    • Feature overview (40+ controls, XAML, layouts, navigation, data binding, theming)
    • Platform support matrix (Android, iOS, iPadOS, macOS, Windows with minimum versions)
    • Getting started guide (installation, project creation, platform-specific run commands)
    • Run commands for all platforms: Android, iOS, Mac Catalyst, and Windows
    • Quick start section with code example and links to official tutorials
    • Key features sections with code snippets AND documentation links:
      • MVVM and Data Binding (code example + comprehensive guides)
      • XAML Enhancements (code examples + compilation, markup extensions, hot reload docs)
      • Shell Navigation (code example + overview, routing, tabs guides)
      • Collections and Lists (CollectionView and CarouselView code examples + docs - ListView removed as obsolete)
      • Responsive Layouts (Grid code example + layout guides)
    • Documentation links (Microsoft Learn, API reference, samples, tutorials)
    • Support channels (Stack Overflow, GitHub issues, official .NET Discord, community MAUIverse Discord, security reporting)
    • Community resources (X/Twitter, YouTube)
    • Contributing guidelines and related packages
  • Updated Controls.NuGet.csproj with:
    • PackageReadmeFile property
    • ItemGroup to pack README into NuGet package

Structure modeled after OpenAI .NET SDK README.

The README provides a balanced approach with both code snippets for quick start and documentation links for comprehensive learning with visual examples. All documentation links are clean URLs without version markers or local identifiers.

Issues Fixed

Fixes #31969


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot avatar Nov 24 '25 15:11 Copilot

@copilot lets not call it .NET MAUI Controls, although the package is called like that, lets just refer to the product name: .NET MAUI

jfversluis avatar Nov 24 '25 16:11 jfversluis

@copilot lets not call it .NET MAUI Controls, although the package is called like that, lets just refer to the product name: .NET MAUI

Updated to use the product name ".NET MAUI" instead of ".NET MAUI Controls" in the title and section headers. Changes committed in bef71ee.

Copilot avatar Nov 24 '25 16:11 Copilot

@copilot address comments

jfversluis avatar Nov 24 '25 19:11 jfversluis

@copilot address comment

jfversluis avatar Dec 05 '25 10:12 jfversluis

@copilot address comment

Both issues from the bot reviewer's comments have already been addressed:

  1. Line 81 (Windows TFM): Already corrected to net10.0-windows10.0.19041.0 in the current version
  2. Line 61 (Syncfusion Toolkit): The description is accurate - the -sc flag does include the Syncfusion Toolkit along with Community Toolkit, as confirmed in the main repository README and official documentation

If you'd like me to simplify the description on line 61 or make other changes, please let me know what specific changes you'd prefer.

Copilot avatar Dec 05 '25 10:12 Copilot

@copilot in the section where you show how to run the different platforms, also add Mac Catalyst

Additionally please consider this feedback: for the quick start examples and key features, do you think it might be better to direct customers to the docs page because they can visualize the UI for each code snippet? For example, getting started section will point customers to the relevant section docs and same applies for key features also. As someone new to MAUI, I think the boilerplate code will be very helpful if I can visualize the UI. That why I think linking to the official documentation for those sections could be very helpful because it has some UI images along with the code.

Summarizing: for the key features link to relevant places in the docs. Make sure to remove the local identifiers in the links as well as version markers etc.

jfversluis avatar Dec 05 '25 13:12 jfversluis

@copilot in the section where you show how to run the different platforms, also add Mac Catalyst

Additionally please consider this feedback: for the quick start examples and key features, do you th...

Changes completed in commit 68fb748:

  1. Added Mac Catalyst: Included dotnet build -t:Run -f net10.0-maccatalyst in the "Run Your App" section

  2. Replaced inline code with documentation links:

    • Quick Start Example now links to 3 official tutorials (Build your first app, XAML basics, Create a multi-page app)
    • All Key Features sections now link to comprehensive documentation pages with UI visualizations
    • Links cleaned of version markers and local identifiers
    • Each link includes descriptions emphasizing visual examples and UI imagery

The README now directs developers to official documentation where they can see the code alongside UI screenshots and examples, making it much easier for newcomers to visualize what each feature looks like.

Copilot avatar Dec 05 '25 14:12 Copilot

@copilot remove the mention of ListView as its obsolete. And I was thinking to have the links in addition to the code snippets, not replace them entirely. Can you figure out relevant code snippets to get people started and include the links where people can find more information about what the snippet shows?

jfversluis avatar Dec 05 '25 14:12 jfversluis

@copilot remove the mention of ListView as its obsolete. And I was thinking to have the links in addition to the code snippets, not replace them entirely. Can you figure out relevant code snippets to ...

Changes completed in commit 493a94c:

  1. Removed ListView reference: Removed the obsolete ListView from the Collections and Lists section

  2. Added code snippets alongside documentation links: Each section now includes both:

    • Quick Start Example: Simple ContentPage with button and label
    • MVVM: Data binding snippet with Label and Entry
    • XAML Enhancements: Simplified syntax and markup extensions examples
    • Shell Navigation: TabBar with Home and Settings tabs
    • Collections and Lists: CollectionView with ItemTemplate (ListView removed)
    • Responsive Layouts: Grid with rows and columns

Each code snippet is followed by "Learn more:" links to comprehensive documentation, giving developers both quick examples to get started and deeper resources with UI visualizations.

Copilot avatar Dec 05 '25 14:12 Copilot

/azp run MAUI-public

jfversluis avatar Dec 05 '25 15:12 jfversluis

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Dec 05 '25 15:12 azure-pipelines[bot]

@copilot lets remove that build status badge: Build Status

jfversluis avatar Dec 08 '25 14:12 jfversluis

@copilot lets remove that build status badge: Build Status

Removed the build status badge in commit 1508a5c. The README now only shows the NuGet version and License badges.

Copilot avatar Dec 08 '25 15:12 Copilot

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 32835

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 32835"

github-actions[bot] avatar Dec 08 '25 15:12 github-actions[bot]

/azp run MAUI-public

PureWeen avatar Dec 08 '25 20:12 PureWeen

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Dec 08 '25 20:12 azure-pipelines[bot]

/backport to release/10.0.1xx-sr2

PureWeen avatar Dec 08 '25 20:12 PureWeen

Started backporting to release/10.0.1xx-sr2 (link to workflow run)

github-actions[bot] avatar Dec 08 '25 20:12 github-actions[bot]

/rebase

PureWeen avatar Dec 08 '25 22:12 PureWeen

/backport to release/10.0.1xx-sr2

PureWeen avatar Dec 11 '25 17:12 PureWeen