umbraco-skill-code-analyzer について
Umbraco プロジェクトの SKILL.md にあるコード例を静的解析するツールです。バックオフィスのインポート、拡張タイプ、非推奨パターンを確認し、任意で TypeScript をコンパイルして JSON レポートを作成します。
主な機能
- 01Umbraco バックオフィスのインポートパス検証
- 02拡張タイプ値の確認
- 03非推奨コードパターンの検出
- 04任意の TypeScript 例コンパイル
- 05検出結果の JSON レポート出力
活用シーン
- 01公開前のスキル例のレビュー
- 02古い Umbraco コードパターンの発見
- 03TypeScript 例の構文と型の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
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.tspackage-lock.jsonpackage.json詳細
Umbraco Skill Code Analyzer
SKILL.md ファイル内のコード例を検証する静的解析ツールです。
チェック内容
- インポートパス -
@umbraco-cms/backoffice/*のインポートを既知のモジュールと照合して検証します - 拡張機能の種類 -
type:の値を既知の Umbraco 拡張機能の種類と照合してチェックします - 非推奨パターン - 古くなったコードパターンを指摘します
- TypeScript のコンパイル - 任意の構文・型チェック
使用方法
cd .claude/skills/umbraco-skill-code-analyzer/scripts
npm install --silent
npx tsx analyze-code.ts
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
CHECK_TYPESCRIPT | true | TypeScript のコンパイルをスキップするには false に設定します |
出力
プロジェクトルートに次の構造の 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 | warning | 不明な @umbraco-cms/backoffice/* モジュール |
unknown-extension-type | warning | 認識されない拡張機能の type: の値 |
deprecated-pattern | warning | 古くなったコードパターンを検出 |
typescript-error | error | TypeScript のコンパイルに失敗 |
既知の値の更新
スクリプトは既知のモジュールと拡張機能の種類のリストを保持しています。更新するには:
analyze-code.tsを編集しますKNOWN_BACKOFFICE_MODULESセットに追加しますKNOWN_EXTENSION_TYPESセットに追加します
コメント
Markdown 対応