mcpField
D
dotnet

dotnet

github.com/managedcode开发50071 次安装2 天前更新
代码仓库

关于 dotnet

面向 C# 和 .NET 项目的通用路由技能,先识别仓库使用的框架、SDK 与测试工具,再将任务交给更具体的技能。也覆盖跨领域工作分流及按项目实际工作流验证变更。

主要功能

  1. 01识别项目技术栈
  2. 02路由到专用技能
  3. 03处理跨领域任务分流
  4. 04遵循实际测试与质量流程
  5. 05控制测试诊断输出

适用场景

  1. 01确定 .NET 任务适用技能
  2. 02为多框架仓库选择处理路径
  3. 03分流测试或代码质量工作
  4. 04按项目配置验证变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/managedcode/dotnet-skills --skill dotnet

安装后在 Claude Code 中输入/dotnet确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.json
references/
detection.md
routing.md

详细介绍

.NET 路由技能

触发条件

  • 用户在未指定更具体的框架或工具时,询问一般性的 .NET 问题
  • 在包含多种应用模型或框架的代码仓库中实现、调试、审查或重构 C# 或 .NET 代码
  • 在编辑代码前,决定由哪个 .NET 技能负责处理任务
  • 将平台工作与测试、质量、架构、设置或迁移决策结合起来的任务

工作流

  1. 首先检测实际技术栈:
    • 目标框架和 SDK 版本
    • LangVersion
    • 项目 SDK 和工作负载提示
    • 托管模型和应用入口点
    • 测试框架和运行器
    • 分析器、格式化工具、覆盖率和 CI 质量门禁
  2. 确认技术栈后,立即转交给最具体的平台技能:
    • Web:aspnet-core、minimal-apis、web-api、blazor、signalr、grpc
    • 云和托管:aspire、azure-functions、worker-services
    • 桌面和客户端:maui、wpf、winforms、winui
    • 数据和分布式系统:entity-framework-core、entity-framework6、orleans
    • AI 和 Agent:semantic-kernel、microsoft-extensions-ai、microsoft-agent-framework、mlnet、mixed-reality,或参考使用 .NET 构建 AI Agent中的架构指导
    • 旧版技术:legacy-aspnet、wcf、workflow-foundation
  3. 将跨领域工作转交给配套技能,而不是纳入一般性的 .NET 建议:
    • 项目初始化或代码仓库结构:project-setup、architecture
    • 混合 .NET 和 Node 代码仓库中的前端资源分析:eslint、stylelint、htmlhint、webhint、biome、sonarjs、metalint、chous
    • 代码审查:code-review
    • 语言功能:modern-csharp
    • 测试:tunit、xunit、mstest
    • 格式化、分析器、覆盖率和 CI:format、code-analysis、quality-ci、coverlet、reportgenerator
    • 可维护性和架构规则:complexity、netarchtest、archunitnet
  4. 如果有多个专用技能适用,优先选择最贴近用户可见行为的技能,然后再调用质量或工具类技能。
  5. 一旦存在更具体的匹配技能,就不要停留在此技能上。此技能应负责分类和移交,而不是成为泛泛建议的堆放处。
  6. 修改代码后,应根据代码仓库实际采用的构建、测试和质量工作流进行验证,而不是使用通用的 .NET 命令。

测试输出预算

  • 保留原生运行器的进度输出并启用 ANSI(对于受支持的 MTP/TUnit 运行器,使用 --progress on --ansi on);在本地使用 PTY。不要将进度重绘内容重复写入模型上下文。使用检测到的运行器所支持的标志,不要对 VSTest 使用 MTP 开关。
  • 显示警告、错误和一条最终摘要(数量、耗时、退出代码)。将测试自身的控制台日志配置为 Warning;不要将 Information/Debug/Trace、成功测试输出和预期的负向测试噪声写入上下文。单独降低构建详细程度并不能过滤应用日志。
  • 发生失败、崩溃、启动错误或超时时,显示失败的测试/资源、根异常和相关堆栈帧。去重;每条诊断工具响应最多 80 行 / 8 KiB,以先达到者为准。绝不要自动输出 stdout/stderr、主机日志、浏览器控制台历史记录、DOM/HTML、TRX 或崩溃产物。
  • 将必要的诊断信息保存在大小受限或轮换的产物中,并提供链接。按精确的失败信息/关联信息搜索;只读取有界摘录,绝不读取完整日志。工具传递输出前先捕获并过滤嘈杂内容,保留真实退出代码,并说明是否发生截断。监控实际活动;仅仅没有输出并不能证明进程已挂起。

当前上游说明

  • .NET 10.0.11 运行时和 ASP.NET Core 发布版本属于维护更新。重新测试受影响的路径,例如 cgroup-v2 内存限制、Mono 原生库解析、Windows 目录枚举、WASM AOT/延迟加载启动、线程静态初始化、Blazor 持久化电路和 OpenAPI 生成,而不要默认更改架构。
  • .NET SDK 10.0.400 是当前的 10.0.4xx 功能带。它扩展了对基于文件的应用的支持,为 dotnet test 添加了 Microsoft.Testing.Platform 项目/解决方案选择功能,允许使用 @ 作为 dotnet new 选项分隔符,并包含硬链接和增量构建修复。采用新的功能带前,确保 global.json、工作负载和 CI 镜像保持一致。
  • 2026 年 8 月的“使用 .NET 构建应用”Learn 概览仍是涵盖 Web、云、桌面、移动、AI 和控制台工作负载的广泛路由背景;一旦明确应用模型,就转交给 project-setup、worker-services、aspnet-core、modern-csharp 或其他专门技能。

路由启发式

  • 如果仓库包含 Microsoft.NET.Sdk.Web,请从 Web 技能入手,而不是通用的 .NET 技能。
  • 如果仓库包含 Blazor、Razor Components 或 .razor 页面,优先选择 blazor。
  • 如果 .NET 解决方案内包含 package.json、前端 lint 配置或面向浏览器的资源管线,优先选择专门的前端分析技能,而不是通用的 .NET 技能。
  • 如果仓库包含 Orleans grains 或 silo 托管,优先选择 orleans。
  • 如果仓库主要涉及分析器、CI 或覆盖率工作,直接选择质量技能。
  • 如果用户询问“我应该使用哪种技能?”,请用一句简短的话说明原因,并给出最匹配的专门技能。
  • 如果没有更匹配的专门技能,就在此处继续处理,并明确说明缺少哪种专门化能力。

交付内容

  • 为任务选择正确的专门技能
  • 提供与仓库兼容、符合检测到的技术栈的代码或文档更改
  • 提供符合实际项目运行器和质量工具链的验证依据

验证

  • 确认所选的下游技能确实存在于目录中
  • 确认平台假设与项目 SDK、程序包和工作负载相符
  • 尽可能使用框架专属指导替代通用指导
  • 不要错误混用特定运行器的命令
  • 仅使用仓库支持的语言或运行时功能

文档

参考资料

评论

支持 Markdown