Copilot instructions
.github/copilot-instructions.mdGuidance for GitHub Copilot when working on the .NET MAUI repository.
Copilot instructions
Quality
76/100
Scores the file, not the repository.Length
3,305 words
38 headings · 4 code blocksRepository
23k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.12345# GitHub Copilot Development Environment Instructions67This document provides specific guidance for GitHub Copilot when working on the .NET MAUI repository. It serves as context for understanding the project structure, development workflow, and best practices.89## Code Review Instructions1011When performing a code review on PRs that change functional code, run the pr-finalize skill to verify that the PR title and description accurately match the actual implementation. This ensures proper documentation and helps maintain high-quality commit messages.1213## Repository Overview1415**.NET MAUI** is a cross-platform framework for creating mobile and desktop applications with C# and XAML. This repository contains the core framework code that enables development for Android, iOS, iPadOS, macOS, and Windows from a single shared codebase.1617### Key Technologies1819- **.NET SDK** - Version is **ALWAYS** defined in `global.json` at repository root20 - **main branch**: Latest stable .NET version21 - **Feature branches**: Each `netN.0` branch targets the .NET N SDK. By convention, the highest `netN.0` branch is the current development branch for new features and API changes.22- **Cake build system** for compilation and packaging (`dotnet cake`)23- **MSBuild** with custom build tasks (must build `Microsoft.Maui.BuildTasks.slnf` first)24- **Testing frameworks**:25 - **xUnit** - Unit tests (`*.UnitTests.csproj`)26 - **NUnit** - UI tests (`TestCases.Shared.Tests`)27 - **Appium WebDriver** - UI test automation2829## Development Environment Setup3031This guidance assumes:32- Repository is already cloned and tools are restored (`dotnet tool restore` completed)33- Build tasks are compiled (`Microsoft.Maui.BuildTasks.slnf` built successfully)34- Correct .NET SDK version installed (verify with `dotnet --version` against `global.json`)3536### Platform-Specific Requirements3738- **Android**: OpenJDK 17 + Android SDK (install via `android` command after `dotnet tool restore`)39- **iOS/macOS**: Xcode (current stable version)40- **Windows**: Windows SDK4142## Project Structure4344### Important Directories45- `src/Core/` - Core MAUI framework code46- `src/Controls/` - UI controls and components47- `src/Essentials/` - Platform APIs and essentials48- `src/TestUtils/` - Testing utilities and infrastructure49- `docs/` - Development documentation50- `eng/` - Build engineering and tooling51- `.github/` - GitHub workflows and configuration5253### Platform-Specific Code Organization54- **Android** specific code is inside folders labeled `Android`55- **iOS** specific code is inside folders labeled `iOS`56- **MacCatalyst** specific code is inside folders named `MacCatalyst`57- **Windows** specific code is inside folders named `Windows`5859### Platform-Specific File Extensions6061Platform-specific files use naming conventions to control compilation:6263**File extension patterns**:64- `.windows.cs` - Windows TFM only65- `.android.cs` - Android TFM only66- `.ios.cs` - iOS and MacCatalyst TFMs (both)67- `.maccatalyst.cs` - MacCatalyst TFM only (does NOT compile for iOS)6869**Important**: Both `.ios.cs` and `.maccatalyst.cs` files compile for MacCatalyst. There is no precedence mechanism that excludes one when the other exists.7071**Example**: If you have both `CollectionView.ios.cs` and `CollectionView.maccatalyst.cs`, both will compile for MacCatalyst builds. The `.maccatalyst.cs` file won't compile for iOS, but the `.ios.cs` file will compile for both iOS and MacCatalyst.7273### Sample Projects7475- `src/Controls/samples/Maui.Controls.Sample` - Full gallery sample with all controls and features76- `src/Controls/samples/Maui.Controls.Sample.Sandbox` - Empty project for testing/reproduction77- `src/Essentials/samples/Essentials.Sample` - Essentials API demonstrations (non-UI MAUI APIs)78- `src/BlazorWebView/samples/` - BlazorWebView sample applications7980## Development Workflow8182### Testing8384Major test projects:85- **Core**: `src/Core/tests/UnitTests/Core.UnitTests.csproj`86- **Essentials**: `src/Essentials/test/UnitTests/Essentials.UnitTests.csproj`87- **Controls**: `src/Controls/tests/Core.UnitTests/Controls.Core.UnitTests.csproj`88- **XAML**: `src/Controls/tests/Xaml.UnitTests/Controls.Xaml.UnitTests.csproj`8990Find all tests: `find . -name "*.UnitTests.csproj"`9192### CI Pipelines (Azure DevOps)9394When referencing or triggering CI pipelines, use these current pipeline names:9596| Pipeline | Name | Purpose |97|----------|------|---------|98| Overall CI | `maui-pr` | Full PR validation build |99| Device Tests | `maui-pr-devicetests` | Helix-based device tests |100| UI Tests | `maui-pr-uitests` | Appium-based UI tests |101102**⚠️ Old pipeline names** (e.g., `MAUI-UITests-public`, `MAUI-public`) are **outdated** and should NOT be used. Always use the names above.103104### Investigating CI Failures105106**🚨 ALWAYS use the `azdo-build-investigator` skill when investigating CI failures or assessing merge readiness.** Its instructions direct you to invoke the `ci-analysis` skill first for the core investigation workflow, then apply MAUI-specific corrections (correct pipeline names, XHarness quirks, binlog guidance).107108Do NOT default to manually querying AzDO APIs or rely solely on `gh pr checks` pass/fail counts.109110**When to use it:**111- "How does CI look?" / "Is CI green?" / "Can we merge?"112- "What's failing?" / "Are these known failures?"113- "Is this PR safe to merge?" / "Any CI concerns?"114- After any PR push to verify the build115116**Verifying specific tests:** When asked "did test X pass?" or "did the new test run?", query the **actual AzDO test results** — do NOT infer whether a test ran by inspecting code attributes. Class-level traits, base class categories, and assembly-level attributes can all cause a test to run even when the method itself has no visible category. Check the evidence, not the code.117118**Anti-pattern:** Writing ad-hoc scripts to parse AzDO build timelines. The skills handle Helix work item details, known issue cross-referencing, and test result aggregation that manual approaches miss.119120### Gradle / Maven Dependency Failures (CFSClean)121122The official CI build uses CFSClean network isolation which blocks `repo.maven.apache.org`. All Gradle/Maven dependencies resolve through the `dotnet-public-maven` Azure Artifacts feed.123124**If CI fails with Gradle 401 errors** like `"No local versions of package"` or `"Please provide authentication to save package from upstream"`, it means a Maven package hasn't been ingested into the feed yet. **Fix:** run `./eng/ingest-maven-deps.sh` locally to pre-populate the feed. See `src/Core/AndroidNative/settings.gradle` for details.125126**Do NOT upgrade Gradle past 8.x** — the Android SDK's `net.android.init.gradle.kts` is incompatible with Gradle 9.x (`dotnet/android#10738`).127128### Code Formatting129130Always format code before committing:131132```bash133dotnet format Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822134```135136## Contribution Guidelines137138### Handling Existing PRs for Assigned Issues139140**🚨 CRITICAL REQUIREMENT: Always develop your own solution first, then compare with existing PRs.**1411421. **Develop your own solution first** - Analyze the issue independently and design your approach without looking at existing PRs1432. **Search for existing PRs** - After developing your solution, search for open PRs addressing the same issue1443. **Compare and evaluate** - Examine existing PR approaches and decide which solution better addresses the issue1454. **Document your decision** - In your PR description, compare your solution to existing PRs and explain why you chose your approach, including concerns with alternatives1465. **Improve either solution** - Whether using your solution or an existing one, enhance with better tests, code quality, error handling, or documentation147148### Auto-Generated Files (Never Commit)149150These files are auto-generated and must NOT be committed:151- `cgmanifest.json` - Generated during CI builds152- `templatestrings.json` - Auto-generated localization153154**For AI agents:** Always reset changes to these files before committing.155156### PublicAPI.Unshipped.txt File Management157158When working with public API changes:159- **Never disable analyzers** to bypass PublicAPI.Unshipped.txt issues160- **Always add correct API entries** to PublicAPI.Unshipped.txt files161- **Use `dotnet format analyzers`** if having trouble162- **If files are incorrect**: Revert all changes, then add only the necessary new API entries163164### Branching165- `main` - For bug fixes without API changes166- The highest `netN.0` branch (by convention) - For new features and API changes. To find it, run `git fetch origin` then: `git for-each-ref --sort=-version:refname --count=1 --format='%(refname:lstrip=3)' refs/remotes/origin/net*.0`167168### Git Workflow (Copilot CLI Rules)169170**🚨 CRITICAL Git Rules for Copilot CLI:**1711721. **NEVER commit directly to `main`** - Always create a feature branch for your work. Direct commits to `main` are strictly prohibited.1731742. **When amending an existing PR, work on the PR's branch directly** - Do NOT create a separate branch off a PR branch. The PR branch already IS a feature branch. Creating a new branch off it means CI won't run on the original PR, defeating the purpose. Use `gh pr checkout` to switch to the PR branch, make your changes, commit, **then** ask before pushing so the user can review locally first.1751763. **Do NOT rebase, squash, or force-push** unless explicitly requested by the user. These operations rewrite git history and can cause problems for other contributors. Default behavior should be regular commits and pushes.177178**Safe Git Workflow:**179```bash180# Create a feature branch (NEVER work directly on main)181git checkout -b feature/issue-12345182183# Make commits normally184git add .185git commit -m "Fix: Description of the change"186187# Push to remote (for new branches)188git push -u origin feature/issue-12345189190# For subsequent pushes on the same branch191git push192```193194**When asked to update an existing PR:**195```bash196# Check out the PR branch directly (do NOT create a new branch off it)197gh pr checkout 12345198199# Make fixes and commit to the PR branch200git add .201git commit -m "Fix: Description of the change"202```2031. **STOP and ask the user** before pushing: "Changes are committed locally. Would you like me to push these changes to the PR?"2042. Exception: If the user's instructions explicitly include pushing, proceed without asking.205206### Documentation207- Update XML documentation for public APIs208- Follow existing code documentation patterns209- Update relevant docs in `docs/` folder when needed210211### Opening PRs212213All PRs are required to have this at the top of the description:214215```216<!-- Please let the below note in for people that find this PR -->217> [!NOTE]218> Are you waiting for the changes in this PR to be merged?219> It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you!220```221222Always put that at the top, without the block quotes. Without it, users will NOT be able to try the PR and your work will have been in vain!223224225226## Custom Agents and Skills227228The repository includes specialized custom agents and reusable skills for specific tasks.229230### Skills vs Agents231232| Aspect | Skills | Agents |233|--------|--------|--------|234| **Invoke** | `/skill-name` or direct request | Delegate to agent |235| **Output** | Analysis, recommendations | Actions, changes applied |236| **Interaction** | Interactive discussion | Autonomous workflow |237| **Example** | `/learn-from-pr` → recommendations | learn-from-pr agent → applies changes |238239### Available Custom Agents2402411. **pr** - Sequential 4-phase workflow for reviewing and working on PRs242 - **Use when**: A PR already exists and needs review or work, OR an issue needs a fix243 - **Capabilities**: PR review, test verification, fix exploration, alternative comparison244 - **Trigger phrases**: "review PR #XXXXX", "work on PR #XXXXX", "fix issue #XXXXX", "continue PR #XXXXX"245 - **Do NOT use for**: Just running tests manually → Use `sandbox-agent`2462472. **write-tests-agent** - Agent for writing tests. Determines test type (UI vs XAML) and invokes the appropriate skill (`write-ui-tests`, `write-xaml-tests`)248 - **Use when**: Creating new tests for issues or PRs249 - **Capabilities**: Test type determination (UI and XAML), skill invocation, test verification250 - **Trigger phrases**: "write tests for #XXXXX", "create tests", "add test coverage"2512523. **sandbox-agent** - Specialized agent for working with the Sandbox app for testing, validation, and experimentation253 - **Use when**: User wants to manually test PR functionality or reproduce issues254 - **Capabilities**: Sandbox app setup, Appium-based manual testing, PR functional validation255 - **Trigger phrases**: "test this PR", "validate PR #XXXXX in Sandbox", "reproduce issue #XXXXX", "try out in Sandbox"256 - **Do NOT use for**: Code review (use pr agent), writing automated tests (use write-tests-agent)2572584. **learn-from-pr** - Extracts lessons from PRs and applies improvements to the repository259 - **Use when**: After complex PR, want to improve instruction files/skills based on lessons learned260 - **Capabilities**: Analyzes PR, identifies failure modes, applies improvements to instruction files, skills, code comments261 - **Trigger phrases**: "learn from PR #XXXXX and apply improvements", "improve repo based on what we learned", "update skills based on PR"262 - **Output**: Applied changes to instruction files, skills, architecture docs, code comments263 - **Do NOT use for**: Analysis only without applying changes → Use `/learn-from-pr` skill instead2642655. **release-readiness-agent** - Assesses ship-readiness for a .NET MAUI release branch — both **SR** (`release/*-srN`) and **Preview** (`release/*-previewN`)266 - **Use when**: A release (SR or Preview) is approaching ship date and you need a synthesized verdict with WorkIQ/MCP enrichment on top of the deterministic report — **or** for a portfolio question across all active releases ("status on releases", "what needs attention across releases") where the user may not know which releases exist267 - **Capabilities**: Resolves the branch (SR or Preview) from natural language, picks the right script (`Get-ReleaseReadiness.ps1` for SR, `Get-PreviewReadiness.ps1` for Preview), enriches `rejected-from-sr` candidates with WorkIQ context (SR lane), patches `UNKNOWN` ship-check rows via MCP (`maestro_default_channels`, `maestro_builds`), presents an overall verdict268 - **Trigger phrases**: "is SR7 ready to ship", "release readiness for release/10.0.1xx-sr7", "survey the SR8 branch", "how does net11 preview6 look", "is preview6 ready to cut", "release readiness for release/11.0.1xx-preview6" — **plus portfolio / cross-release questions with no specific release named**: "give me a status on releases", "release status overview", "what's the status across all releases", "what needs attention across releases", "what's next for MAUI releases"269 - **Output**: Verdict (Ready / Conditionally Ready / Not Ready) + per-candidate classification (SR) or per-section table (Preview) + actionable next steps270 - **Do NOT use for**: Programmatic / scripted consumers that just need the raw JSON — use the `release-readiness` skill directly. Reviewing a single PR (use **pr**). Running tests manually (use **sandbox-agent**).271272### Reusable Skills273274Skills are modular capabilities that can be invoked directly or used by agents. Located in `.github/skills/`:275276#### User-Facing Skills2772781. **pr-review** (`.github/skills/pr-review/SKILL.md`)279 - **Purpose**: End-to-end PR review orchestrator — 3 phases: pr-preflight, try-fix, pr-report. Gate runs separately before this skill via Review-PR.ps1.280 - **Trigger phrases**: "review PR #XXXXX", "work on PR #XXXXX", "fix issue #XXXXX", "continue PR #XXXXX"281 - **Capabilities**: Multi-model fix exploration, alternative comparison, PR review recommendation282 - **Do NOT use for**: Just running tests manually → Use `sandbox-agent`283 - **Phase instructions** (in `.github/pr-review/`):284 - `pr-preflight.md` — Context gathering from issue/PR285 - `pr-report.md` — Final recommendation286 - **Phase skill**: `try-fix` — Multi-model fix exploration287 - **Note**: Gate (test verification) runs as a script step in `Review-PR.ps1` before this skill is invoked. Gate result is passed in the prompt.2882892. **issue-triage** (`.github/skills/issue-triage/SKILL.md`)290 - **Purpose**: Query and triage open issues that need milestones, labels, or investigation291 - **Trigger phrases**: "find issues to triage", "show me old Android issues", "what issues need attention"292 - **Scripts**: `init-triage-session.ps1`, `query-issues.ps1`, `record-triage.ps1`2932942. **find-reviewable-pr** (`.github/skills/find-reviewable-pr/SKILL.md`)295 - **Purpose**: Finds open PRs in dotnet/maui and dotnet/docs-maui that need review296 - **Trigger phrases**: "find PRs to review", "show milestoned PRs", "find partner PRs"297 - **Scripts**: `query-reviewable-prs.ps1`298 - **Categories**: P/0, milestoned, partner, community, recent, docs-maui2993003. **pr-finalize** (`.github/skills/pr-finalize/SKILL.md`)301 - **Purpose**: Verifies PR title and description match actual implementation, AND performs code review for best practices before merge.302 - **Trigger phrases**: "finalize PR #XXXXX", "check PR description for #XXXXX", "review commit message"303 - **Used by**: Before merging any PR, when description may be stale304 - **Note**: Does NOT require agent involvement or session markdown - works on any PR305 - **🚨 CRITICAL**: NEVER use `--approve` or `--request-changes` - only post comments. Approval is a human decision.3063074. **code-review** (`.github/skills/code-review/SKILL.md`)308 - **Purpose**: Reviews PR code changes for correctness, safety, and consistency with MAUI conventions. Walks through a MAUI-specific checklist covering handler lifecycle, platform code, safe area, threading, public API, and test patterns.309 - **Trigger phrases**: "review code for PR #XXXXX", "code review PR #XXXXX", "review this PR's code"310 - **Note**: Standalone skill — uses independence-first assessment (reads code before PR description to avoid anchoring bias). Can be used by any agent or invoked directly.311 - **🚨 CRITICAL**: NEVER use `--approve` or `--request-changes` — only post comments. Approval is a human decision.3123135. **learn-from-pr** (`.github/skills/learn-from-pr/SKILL.md`)314 - **Purpose**: Analyzes completed PR to identify repository improvements (analysis only, no changes applied)315 - **Trigger phrases**: "what can we learn from PR #XXXXX?", "how can we improve agents based on PR #XXXXX?"316 - **Used by**: After complex PRs, when agent struggled to find solution317 - **Output**: Prioritized recommendations for instruction files, skills, code comments318 - **Note**: For applying changes automatically, use the learn-from-pr agent instead3193206. **write-ui-tests** (`.github/skills/write-ui-tests/SKILL.md`)321 - **Purpose**: Creates UI tests for GitHub issues and verifies they reproduce the bug322 - **Trigger phrases**: "write UI tests for #XXXXX", "create UI test for issue", "add UI test coverage"323 - **Output**: Test files that fail without fix, pass with fix3243257. **write-xaml-tests** (`.github/skills/write-xaml-tests/SKILL.md`)326 - **Purpose**: Creates XAML unit tests for XAML parsing, compilation, and source generation327 - **Trigger phrases**: "write XAML tests for #XXXXX", "test XamlC behavior", "reproduce XAML parsing bug"328 - **Output**: Test files for Controls.Xaml.UnitTests3293309. **verify-tests-fail-without-fix** (`.github/skills/verify-tests-fail-without-fix/SKILL.md`)331 - **Purpose**: Verifies tests catch the bug before fix and pass with fix. Auto-detects test type (UI, device, unit, XAML) and dispatches to the appropriate runner.332 - **Two modes**: Verify failure only (test creation) or full verification (test + fix)333 - **Used by**: After creating tests, before considering PR complete33433510. **run-integration-tests** (`.github/skills/run-integration-tests/SKILL.md`)336 - **Purpose**: Build, pack, and run .NET MAUI integration tests locally337 - **Trigger phrases**: "run integration tests", "test templates locally", "run macOSTemplates tests", "run RunOniOS tests"338 - **Categories**: Build, WindowsTemplates, macOSTemplates, Blazor, MultiProject, Samples, AOT, RunOnAndroid, RunOniOS339 - **Note**: **ALWAYS use this skill** instead of manual `dotnet test` commands for integration tests34034111. **dependency-flow** (`.github/skills/dependency-flow/SKILL.md`)342 - **Purpose**: MAUI-specific dependency flow rules, channel conventions, and feed lookup workflows343 - **Trigger phrases**: "feeds for .NET MAUI X.Y.Z", "where is MAUI build", "promote build to public feed", "what channels is MAUI on", "subscription health for MAUI"344 - **Wraps**: `maestro-cli` skill (from `dotnet-dnceng@dotnet-arcade-skills` plugin) and maestro MCP tools345 - **Note**: Provides MAUI-specific guardrails on top of core Maestro/darc operations — channel naming, safety deny-list, input validation, and prompt injection defense34634712. **release-readiness** (`.github/skills/release-readiness/SKILL.md`)348 - **Purpose**: Deterministic ship-readiness engine for .NET MAUI release branches — both **SR** (`release/*-srN`) and **Preview** (`release/*-previewN`). Surveys CI, computes what's actually shipping, classifies open regressions, identifies port candidates and rejected backports349 - **Trigger phrases**: "release readiness for SRN", "is SR7 ready to ship", "survey the SR branch", "release readiness for preview6", "how does preview6 look (deterministic)", "status across all releases" (reads the live `[Release Readiness]` tracker issues by body marker — no survey re-run needed)350 - **Scripts**: `Get-ReleaseReadiness.ps1` (SR lane), `Get-PreviewReadiness.ps1` (Preview lane), `Find-ReleaseReadinessTrackers.ps1` (tracker discovery)351 - **Output**: JSON + Markdown report, list of source PRs, classification of regression issues (in-sr-active, rejected-from-sr, no-fix-yet, etc.)352 - **Note**: Deterministic and reproducible — no MCP, no LLM judgment. Use **this skill directly** when you need raw output for a script, dashboard, cron job, or programmatic consumer. For natural-language verdict synthesis with WorkIQ enrichment, use the **`release-readiness-agent`** instead.353354#### Internal Skills (Used by Agents)35535613. **try-fix** (`.github/skills/try-fix/SKILL.md`)357 - **Purpose**: Proposes ONE independent fix approach, applies it, tests, records result with failure analysis, then reverts358 - **Used by**: pr agent Phase 3 (Fix phase) - rarely invoked directly by users359 - **Behavior**: Reads prior attempts to learn from failures. Max 5 attempts per session.360 - **Output**: Updates session markdown with attempt results and failure analysis361362### Using Custom Agents363364**Delegation Policy**: When user request matches agent trigger phrases, **ALWAYS delegate to the appropriate agent immediately**. Do not ask for permission or explain alternatives unless the request is ambiguous.365366**Examples of correct delegation**:367- User: "Review PR #12345" → Immediately invoke **pr** agent368- User: "Test this PR" → Immediately invoke **sandbox-agent**369- User: "Fix issue #67890" (no PR exists) → Suggest using `/delegate` command370- User: "Write tests for issue #12345" → Immediately invoke **write-tests-agent**371- User: "Is SR7 ready to ship?" → Immediately invoke **release-readiness-agent**372- User: "How does net11 preview6 look?" → Immediately invoke **release-readiness-agent**373- User: "Give me a status on releases / what needs attention across releases?" → Immediately invoke **release-readiness-agent** (portfolio mode — it enumerates active releases by reading the `[Release Readiness]` tracker issues; don't ask "which release?")374- User: "Give me the raw release-readiness JSON for SR8" → Use the **release-readiness** skill directly (no enrichment needed)375376**When NOT to delegate**:377- User asks "What does PR #12345 do?" → Informational query, handle yourself378- User asks "How do I test PRs?" → Documentation query, handle yourself379- User has follow-up questions after agent completes → Continue the conversation yourself
Also in dotnet/maui
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotnet/maui.github/instructions/collectionview-handler-detection.instructions.md · 23k | Copilot instructions | stylegitdo-not | 73/100 | 3 days ago | |
| dotnet/maui.github/instructions/android.instructions.md · 23k | Copilot instructions | buildstyle | 70/100 | 3 days ago | |
| dotnet/maui.github/instructions/ci-copilot-pipeline-security.instructions.md · 23k | Copilot instructions | gitsecuritydeploymentdo-not+1 | 76/100 | 3 days ago | |
| dotnet/maui.github/instructions/collectionview-android.instructions.md · 23k | Copilot instructions | stylearchperformanceagent-behaviour | 52/100 | 3 days ago | |
| dotnet/maui.github/instructions/collectionview-ios.instructions.md · 23k | Copilot instructions | styleperformance | 48/100 | 3 days ago | |
| dotnet/maui.github/instructions/collectionview-windows.instructions.md · 23k | Copilot instructions | stylearch | 52/100 | 3 days ago | |
| dotnet/maui.github/instructions/handler-patterns.instructions.md · 23k | Copilot instructions | styledo-not | 55/100 | 3 days ago | |
| dotnet/maui.github/instructions/helix-device-tests.instructions.md · 23k | Copilot instructions | setupbuildtestarch | 74/100 | 3 days ago | |
| dotnet/maui.github/instructions/integration-tests.instructions.md · 23k | Copilot instructions | setupteststyledo-not | 92/100 | 3 days ago | |
| dotnet/maui.github/instructions/layout-system.instructions.md · 23k | Copilot instructions | archapiperformancedo-not | 55/100 | 3 days ago | |
| dotnet/maui.github/instructions/performance-hotpaths.instructions.md · 23k | Copilot instructions | styleperformancedo-not | 55/100 | 3 days ago | |
| dotnet/maui.github/instructions/public-api.instructions.md · 23k | Copilot instructions | apido-not | 59/100 | 3 days ago | |
| dotnet/maui.github/instructions/safe-area-ios.instructions.md · 23k | Copilot instructions | stylegit | 43/100 | 3 days ago | |
| dotnet/maui.github/instructions/sandbox.instructions.md · 23k | Copilot instructions | buildteststyletesting-strategy+4 | 81/100 | 3 days ago | |
| dotnet/maui.github/instructions/templates.instructions.md · 23k | Copilot instructions | buildteststylearch+1 | 92/100 | 3 days ago | |
| dotnet/maui.github/instructions/threading-async.instructions.md · 23k | Copilot instructions | styleui | 48/100 | 3 days ago | |
| dotnet/maui.github/instructions/uitests.instructions.md · 23k | Copilot instructions | setupbuildteststyle+5 | 79/100 | 3 days ago | |
| dotnet/maui.github/instructions/xaml-unittests.instructions.md · 23k | Copilot instructions | teststyledocs | 70/100 | 3 days ago |
Diff against .github/instructions/collectionview-handler-detection.instructions.md Diff against .github/instructions/android.instructions.md Diff against .github/instructions/ci-copilot-pipeline-security.instructions.md Diff against .github/instructions/collectionview-android.instructions.md Diff against .github/instructions/collectionview-ios.instructions.md Diff against .github/instructions/collectionview-windows.instructions.md Diff against .github/instructions/handler-patterns.instructions.md Diff against .github/instructions/helix-device-tests.instructions.md Diff against .github/instructions/integration-tests.instructions.md Diff against .github/instructions/layout-system.instructions.md Diff against .github/instructions/performance-hotpaths.instructions.md Diff against .github/instructions/public-api.instructions.md Diff against .github/instructions/safe-area-ios.instructions.md Diff against .github/instructions/sandbox.instructions.md Diff against .github/instructions/templates.instructions.md Diff against .github/instructions/threading-async.instructions.md Diff against .github/instructions/uitests.instructions.md Diff against .github/instructions/xaml-unittests.instructions.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotnet/roslyn.github/instructions/Compiler.instructions.md · 21k | Copilot instructions | buildteststylearch+3 | 99/100 | 3 days ago | |
| dotnet/roslyn.github/copilot-instructions.md · 21k | Copilot instructions | buildteststylearch+3 | 97/100 | 3 days ago | |
| ardalis/CleanArchitecture.github/copilot-instructions.md · 18k | Copilot instructions | buildteststylearch+4 | 96/100 | 3 days ago | |
| dotnet/maui.github/instructions/integration-tests.instructions.md · 23k | Copilot instructions | setupteststyledo-not | 92/100 | 3 days ago | |
| dotnet/maui.github/instructions/templates.instructions.md · 23k | Copilot instructions | buildteststylearch+1 | 92/100 | 3 days ago | |
| microsoft/WSL.github/copilot-instructions.md · 33k | Copilot instructions | setupbuildtestlint-format+7 | 88/100 | 3 days ago | |
| we-promise/sure.github/copilot-instructions.md · 9.3k | Copilot instructions | setuptestlint-formatstyle+10 | 88/100 | 2 days ago | |
| PowerShell/PowerShell.github/instructions/start-native-execution.instructions.md · 55k | Copilot instructions | buildstylearchgit+1 | 86/100 | 3 days ago |
