umbraco-skill-code-analyzer

📁 umbraco/umbraco-cms-backoffice-skills 📅 9 days ago
28
总安装量
14
周安装量
#13426
全站排名
安装命令
npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-skill-code-analyzer

Agent 安装分布

github-copilot 11
opencode 6
gemini-cli 6
codex 6
kimi-cli 6

Skill 文档

Umbraco Skill Code Analyzer

Static analysis tool that validates code examples in SKILL.md files.

What It Checks

  • Import paths – Validates @umbraco-cms/backoffice/* imports against known modules
  • Extension types – Checks type: values against known Umbraco extension types
  • Deprecated patterns – Flags outdated code patterns
  • TypeScript compilation – Optional syntax/type checking

Usage

cd .claude/skills/umbraco-skill-code-analyzer/scripts
npm install --silent
npx tsx analyze-code.ts

Environment Variables

Variable Default Description
CHECK_TYPESCRIPT true Set to false to skip TypeScript compilation

Output

Produces code-analysis-report.json in project root with structure:

{
  "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
  }
}

Issue Types

Type Severity Description
invalid-import warning Unknown @umbraco-cms/backoffice/* module
unknown-extension-type warning Unrecognized extension type: value
deprecated-pattern warning Outdated code pattern detected
typescript-error error TypeScript compilation failed

Updating Known Values

The script maintains lists of known modules and extension types. To update:

  1. Edit analyze-code.ts
  2. Add to KNOWN_BACKOFFICE_MODULES set
  3. Add to KNOWN_EXTENSION_TYPES set