mcpField
A
analyzer-config

analyzer-config

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

关于 analyzer-config

面向维护 .NET 仓库配置的编码 Agent 技能,帮助建立清晰、可验证的分析器规则归属。重点是以根 `.editorconfig` 为默认策略,并通过计划、迭代审查和验证形成具体变更。

主要功能

  1. 01规划并迭代配置任务
  2. 02统一分析器严重性设置
  3. 03建立根 `.editorconfig`
  4. 04区分 MSBuild 与编辑器配置
  5. 05执行构建与最终验证

适用场景

  1. 01为仓库创建根 `.editorconfig`
  2. 02解决分析器规则归属不清
  3. 03调整冲突的分析器严重性

安装

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

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

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

包含的文件

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

manifest.json
references/
analyzer-config.md
rules.md
template.md

详细介绍

.NET 分析器配置

触发条件

  • 仓库需要根目录 .editorconfig
  • 分析器严重级别和样式规则的归属不明确
  • 团队希望为规则配置确立唯一可信来源

价值

  • 产出具体的项目变更:代码、文档、配置、测试、CI 或审查产物
  • 通过明确的规划、验证和最终检查,减少模糊空间
  • 留下可复用的项目上下文,让后续任务更快、更安全

不适用场景

  • 只选择分析器,不更改配置
  • 仅执行格式化,且不存在配置归属问题

输入

  • 最近的 AGENTS.md
  • 当前的 .editorconfig
  • 任何 Directory.Build.props 覆盖设置

快速开始

  1. 阅读最近的 AGENTS.md,确认范围和约束。
  2. 通过 Ralph Loop 运行此技能的 Workflow,直至结果可接受。
  3. 按照 Required Result Format 返回具体产物和验证证据。

工作流

  1. 优先使用一个仓库根目录 .editorconfig,并设置 root = true。
  2. 当某个子目录有明确的作用范围(例如需要更严格的规则、不同的生成代码处理方式,或针对测试代码或旧代码采用不同策略)时,再添加嵌套的 .editorconfig 文件。
  3. 将严重级别设置保留在 .editorconfig 中,不要分散到 IDE 设置中。
  4. 文件应采用标准 EditorConfig 格式,而不是自创的 .NET 变体:
    • 文件名使用小写 .editorconfig
    • 在前言中设置 root = true
    • 不添加行内注释
    • glob 模式使用正斜杠
  5. 将 EnableNETAnalyzers 等批量开关保留在 MSBuild 文件中,不要放入 .editorconfig。
  6. 将 .globalconfig 视为特殊情况,而非仓库的常规配置方式。

缺少配置时的初始化

如果用户请求配置分析器,但当前尚未建立结构化配置:

  1. 检测当前状态:
    • rg --files -g '.editorconfig' -g '.globalconfig'
    • rg -n "EnableNETAnalyzers|AnalysisLevel|AnalysisMode" -g '*.csproj' -g 'Directory.Build.*' .
  2. 创建或规范化一个仓库根目录 .editorconfig,并设置 root = true。
  3. 将规则严重级别移入 .editorconfig,并将批量分析器开关保留在项目配置或 MSBuild 配置中。
  4. 仅当某个子目录确实需要不同的作用范围策略时,才添加嵌套的 .editorconfig 文件。
  5. 运行 dotnet build SOLUTION_OR_PROJECT,并返回 status: configured 或 status: improved。
  6. 如果仓库有意采用其他文档明确说明的分析器配置归属模式,则返回 status: not_applicable。

交付内容

  • 明确的分析器配置归属模式
  • Agent 可安全扩展的根目录 .editorconfig 布局

验证

  • 规则严重级别在本地和 CI 构建中均可复现
  • IDE 专属设置不会悄然覆盖仓库策略
  • 默认配置方式为根目录 .editorconfig,而非意外采用其他方式

Ralph Loop

所有任务均须使用 Ralph Loop,包括文档、架构、测试和工具相关工作。

  1. 先制定计划(必须):
    • 分析当前状态
    • 明确目标结果、约束和风险
    • 编写详细的执行计划
    • 列出最后要运行的验证技能,并说明执行顺序和原因
  2. 执行一个计划步骤,并产出具体变更。
  3. 审查结果,并记录发现的问题及可执行的后续修复措施。
  4. 分批实施修复,并重新运行相关检查或审查步骤。
  5. 每轮迭代后更新计划。
  6. 重复以上步骤,直至结果可接受或只剩明确列出的例外。
  7. 如果缺少依赖,则安装或配置该依赖;否则返回 status: not_applicable,并明确说明原因和替代方案。
必需的结果格式
  • status:complete | clean | improved | configured | not_applicable | blocked
  • plan:简明计划和当前迭代步骤
  • actions_taken:所做的具体更改
  • validation_skills:最后运行的技能;如跳过,说明原因
  • verification:命令、检查或审查证据摘要
  • remaining:尚未解决的主要事项,或 none

对于未执行操作、仅提供设置说明的请求,返回 status: configured,并给出确切的后续命令。

加载参考资料

请求示例

  • “将 .editorconfig 设为唯一事实来源。”
  • “为此仓库编写规范的根目录 .editorconfig。”
  • “修复此 .NET 仓库中冲突的分析器严重性。”

评论

支持 Markdown