Reorganize plugins into domain-specific groupings - #274
Conversation
Split the dotnet plugin into domain-specific plugins per discussion in dotnet#271: - dotnet: narrowed to common everyday C#/.NET coding tasks - dotnet-diag: perf investigations, debugging, incident analysis - dotnet-data: data access and Entity Framework - dotnet-aspnet, dotnet-wpf, dotnet-winforms, dotnet-maui: scaffolded empty to convey intent for future framework-specific skills Moved skills, tests, and CODEOWNERS entries accordingly. No file content was changed; all skill/test moves are pure renames. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- dotnet-diag: add '.NET' qualifier to clarify scope - dotnet-winforms: use official 'Windows Forms (WinForms)' name Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Reorganizes the repository’s .NET skills/tests into more domain-focused plugins (e.g., dotnet-diag, dotnet-data) and updates metadata/ownership to match the new layout.
Changes:
- Split former
dotnetdiagnostics/perf/content into new plugins (dotnet-diag,dotnet-data) and introduced placeholder plugins (dotnet-aspnet,dotnet-wpf,dotnet-winforms,dotnet-maui). - Added/moved evaluation scenarios and fixtures under the new
tests/dotnet-diag/**andtests/dotnet-data/**paths. - Updated CODEOWNERS and plugin metadata to reflect the new structure.
Reviewed changes
Copilot reviewed 8 out of 74 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| .github/CODEOWNERS | Reassigns ownership entries to new plugin/test paths. |
| plugins/dotnet/plugin.json | Updates the dotnet plugin description to reflect a narrower “everyday” scope. |
| plugins/dotnet-aspnet/plugin.json | Adds new (empty) ASP.NET plugin metadata. |
| plugins/dotnet-diag/agents/optimizing-dotnet-performance.agent.md | Adds/moves the optimizing performance agent into dotnet-diag. |
| plugins/dotnet-diag/plugin.json | Adds new diagnostics plugin metadata. |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/SKILL.md | Adds/moves the performance analysis skill under dotnet-diag. |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/async-patterns.md | Reference material for perf scan patterns (async). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/collections-and-linq.md | Reference material for perf scan patterns (collections/LINQ). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/critical-patterns.md | Reference material for perf scan patterns (critical). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/io-and-serialization.md | Reference material for perf scan patterns (I/O/serialization). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/memory-and-strings.md | Reference material for perf scan patterns (memory/strings). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/regex-patterns.md | Reference material for perf scan patterns (regex). |
| plugins/dotnet-diag/skills/analyzing-dotnet-performance/references/structural-patterns.md | Reference material for perf scan patterns (structural). |
| plugins/dotnet-diag/skills/android-tombstone-symbolication/SKILL.md | Adds/moves Android tombstone symbolication skill under dotnet-diag. |
| plugins/dotnet-diag/skills/clr-activation-debugging/references/com-activation.md | Adds/moves CLR activation debugging reference content. |
| plugins/dotnet-diag/skills/dotnet-trace-collect/references/dotnet-monitor.md | Adds/moves dotnet-monitor reference content. |
| plugins/dotnet-diag/skills/dotnet-trace-collect/references/dotnet-trace-collect-linux.md | Adds/moves collect-linux reference content. |
| plugins/dotnet-diag/skills/dotnet-trace-collect/references/dotnet-trace-collect.md | Adds/moves dotnet-trace collect reference content. |
| plugins/dotnet-diag/skills/dotnet-trace-collect/references/perfcollect.md | Adds/moves perfcollect reference content. |
| plugins/dotnet-diag/skills/dotnet-trace-collect/references/perfview.md | Adds/moves PerfView reference content. |
| plugins/dotnet-diag/skills/dump-collect/SKILL.md | Adds/moves dump-collect skill under dotnet-diag. |
| plugins/dotnet-diag/skills/dump-collect/references/coreclr-dumps.md | Adds/moves CoreCLR dump collection reference. |
| plugins/dotnet-diag/skills/microbenchmarking/SKILL.md | Adds/moves microbenchmarking skill under dotnet-diag. |
| plugins/dotnet-diag/skills/microbenchmarking/references/bdn-internals-and-tuning.md | Adds/moves BenchmarkDotNet internals/tuning reference. |
| plugins/dotnet-diag/skills/microbenchmarking/references/comparison-strategies.md | Adds/moves benchmark comparison strategies reference. |
| plugins/dotnet-diag/skills/microbenchmarking/references/diagnosers-and-exporters.md | Adds/moves diagnosers/exporters reference. |
| plugins/dotnet-diag/skills/microbenchmarking/references/project-setup-and-running.md | Adds/moves benchmark project setup/running reference. |
| plugins/dotnet-data/plugin.json | Adds new data plugin metadata. |
| plugins/dotnet-data/skills/optimizing-ef-core-queries/SKILL.md | Adds/moves EF Core optimization skill under dotnet-data. |
| plugins/dotnet-maui/plugin.json | Adds new (empty) MAUI plugin metadata. |
| plugins/dotnet-winforms/plugin.json | Adds new (empty) WinForms plugin metadata. |
| plugins/dotnet-wpf/plugin.json | Adds new (empty) WPF plugin metadata. |
| tests/dotnet-data/optimizing-ef-core-queries/eval.yaml | Adds/moves EF Core eval scenario under dotnet-data. |
| tests/dotnet-diag/analyzing-dotnet-performance/eval.yaml | Adds/moves perf-analysis eval scenarios under dotnet-diag. |
| tests/dotnet-diag/analyzing-dotnet-performance/fixtures/metric-numeral-extensions.cs | Fixture source for perf-analysis evals. |
| tests/dotnet-diag/analyzing-dotnet-performance/fixtures/number-converter-greek.cs | Fixture source for perf-analysis evals. |
| tests/dotnet-diag/analyzing-dotnet-performance/fixtures/string-humanize-and-dehumanize.cs | Fixture source for perf-analysis evals. |
| tests/dotnet-diag/analyzing-dotnet-performance/fixtures/truncation-and-span.cs | Fixture source for perf-analysis evals. |
| tests/dotnet-diag/android-tombstone-symbolication/crashlog_ios.txt | iOS crashlog fixture for format-rejection scenario. |
| tests/dotnet-diag/android-tombstone-symbolication/eval.yaml | Adds/moves tombstone symbolication eval scenarios. |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_coreclr.txt | Tombstone fixture (CoreCLR). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_multi_buildid.txt | Tombstone fixture (multiple BuildIds). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_multithread.txt | Tombstone fixture (multiple threads). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_nativeaot.txt | Tombstone fixture (NativeAOT). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_no_buildid.txt | Tombstone fixture (missing BuildId). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_no_dotnet.txt | Tombstone fixture (no .NET frames). |
| tests/dotnet-diag/android-tombstone-symbolication/tombstone_sample.txt | Tombstone sample fixture. |
| tests/dotnet-diag/clr-activation-debugging/eval.yaml | Adds/moves CLR activation debugging eval scenarios. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/csc-healthy.txt | CLR activation log fixture. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/link-fod-suppressed.txt | CLR activation log fixture. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/link-multi-activation.txt | CLR activation log fixture. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/mt-fod-launched.txt | CLR activation log fixture. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/mt-fod-suppressed.txt | CLR activation log fixture. |
| tests/dotnet-diag/clr-activation-debugging/fixtures/tool-with-legacy-policy.txt | CLR activation log fixture. |
| tests/dotnet-diag/dump-collect/eval.yaml | Adds/moves dump collection eval scenarios under dotnet-diag. |
| tests/dotnet-diag/microbenchmarking/eval.yaml | Adds/moves microbenchmarking eval scenario. |
| tests/dotnet-diag/microbenchmarking/TextAnalyzer/TextAnalyzer.cs | Test project source used by microbenchmarking eval. |
| tests/dotnet-diag/microbenchmarking/TextAnalyzer/TextAnalyzer.csproj | Test project metadata used by microbenchmarking eval. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
This is basically all moving files around + creating the plugin.json's. The description in the plugin.jsons I believe is only for humans, unlike eg skill descriptions which are for LLM's, so I made them short and concise. |
|
Note 4 of the plugins are currently empty -- @ManishJayaswal suggested in the issue to create them anyway and we can populate them later. I think that's reasonable |
|
/validate |
|
Perhaps we should add a plugin called dotnet.modernization and move thread-abort-migration there. We will likely add more modernization rules in future. |
ManishJayaswal
left a comment
There was a problem hiding this comment.
Perhaps we should add a plugin called dotnet.modernization and move thread-abort-migration there. We will likely add more modernization rules in future.
Otherwise looks good to me.
Remove the four empty placeholder plugins (dotnet-aspnet, dotnet-wpf, dotnet-winforms, dotnet-maui) that had only plugin.json and no skills. Add a 'Plugin organization' section to CONTRIBUTING.md that describes the domain-specific plugin groupings introduced in this PR and lists the four removed plugin names as reserved candidates for future contributions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Update: removed empty placeholder plugins Removed the four empty plugins (
This keeps the repo clean — plugins only exist when they have content — while still guiding future contributors to the intended structure. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 71 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Move migrate-nullable-references, thread-abort-migration, and dotnet-aot-compat from dotnet to the new dotnet-upgrade plugin. Update CODEOWNERS paths (same owners), CONTRIBUTING.md plugin table, and fix the thread-abort-migration SKILL.md link in CONTRIBUTING.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Update: added Created a new
CODEOWNERS updated (same owners, new paths). CONTRIBUTING.md updated with the full plugin table and reserved names for future plugins ( |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 1021 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fixes #271
Reorganize plugins into domain-specific groupings per the structure agreed in #271.
Changes
New plugins with skills moved from
dotnet:dotnet-diag(perf investigations, debugging, incident analysis) — 6 skills + 1 agentdotnet-data(data access, Entity Framework) — 1 skillNarrowed
dotnetplugin to common everyday C#/.NET coding skills.dotnet-msbuildis unchanged.CONTRIBUTING.md updated with a "Plugin organization" section describing the domain groupings and listing
dotnet-aspnet,dotnet-wpf,dotnet-winforms, anddotnet-mauias reserved plugin names for future contributions.Skill placement
dotnetdotnet-diagdotnet-datadotnet-msbuildWhat this does NOT change
dotnet-msbuildplugin is untouched