mcpField
U
umbraco-skill-code-analyzer

umbraco-skill-code-analyzer

github.com/umbraco测试与质量27375 次安装6 周前更新
代码仓库

关于 umbraco-skill-code-analyzer

用于静态分析 Umbraco 项目中 SKILL.md 代码示例的工具,可检查后台导入路径、扩展类型、过时模式,并可选进行 TypeScript 编译,最后生成 JSON 报告。

主要功能

  1. 01验证 Umbraco 后台导入路径
  2. 02检查扩展类型值
  3. 03标记过时的代码模式
  4. 04可选编译 TypeScript 示例
  5. 05将发现写入 JSON 报告

适用场景

  1. 01发布前审查技能示例
  2. 02查找过时的 Umbraco 代码模式
  3. 03检查 TypeScript 示例的语法和类型

安装

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

$npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-skill-code-analyzer

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

包含的文件

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

scripts/
analyze-code.ts
package-lock.json
package.json

详细介绍

Umbraco 技能代码分析器

用于验证 SKILL.md 文件中代码示例的静态分析工具。

检查内容

  • 导入路径 - 根据已知模块验证 @umbraco-cms/backoffice/* 导入
  • 扩展类型 - 根据已知的 Umbraco 扩展类型检查 type: 值
  • 已弃用模式 - 标记过时的代码模式
  • TypeScript 编译 - 可选的语法/类型检查

用法

cd .claude/skills/umbraco-skill-code-analyzer/scripts
npm install --silent
npx tsx analyze-code.ts
环境变量
变量默认值描述
CHECK_TYPESCRIPTtrue设置为 false 可跳过 TypeScript 编译

输出

在项目根目录生成 code-analysis-report.json,其结构如下:

{
  "timestamp": "...",
  "skillsScanned": 69,
  "codeBlocksAnalyzed": 473,
  "issuesFound": 34,
  "skills": [
    {
      "skillPath": "...",
      "skillName": "...",
      "codeBlocks": 5,
      "issues": [
        {
          "line": 33,
          "type": "invalid-import",
          "value": "@umbraco-cms/backoffice/unknown",
          "message": "Unknown import path",
          "severity": "warning"
        }
      ]
    }
  ],
  "statistics": {
    "totalCodeBlocks": 473,
    "typescriptBlocks": 368,
    "importIssues": 16,
    "extensionTypeIssues": 21,
    "compilationErrors": 0,
    "deprecatedPatterns": 15
  }
}

问题类型

类型严重性描述
invalid-import警告未知的 @umbraco-cms/backoffice/* 模块
unknown-extension-type警告无法识别的扩展 type: 值
deprecated-pattern警告检测到过时的代码模式
typescript-error错误TypeScript 编译失败

更新已知值

该脚本维护已知模块和扩展类型列表。更新方法:

  1. 编辑 analyze-code.ts
  2. 添加到 KNOWN_BACKOFFICE_MODULES 集合
  3. 添加到 KNOWN_EXTENSION_TYPES 集合

评论

支持 Markdown