umbraco-kinds について
umbraco-kindsは、Umbracoのバックオフィス拡張でKindプリセットを扱うためのスキルです。最新ドキュメントの確認から、共通の既定値を継承するKindマニフェストと拡張の生成までを案内します。
主な機能
- 01Umbraco Kindプリセットの案内
- 02最新の拡張ドキュメントの確認
- 03Kindマニフェストと利用側拡張の作成
- 04拡張間での既定プロパティ共有
活用シーン
- 01関連する拡張のプロパティ構造の統一
- 02Kindとそれを使う拡張の生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ umbraco/ umbraco-cms-backoffice-skills --skill umbraco-kindsインストール後、Claude Code で/umbraco-kindsを入力して読み込まれたか確認します。
詳細
Umbraco Kinds
これは何ですか?
Kind は、拡張機能が一貫性のために継承するプリセット構成です。複数の拡張機能が共有できる既定のプロパティを定義することで、冗長性を減らします。Kind は拡張機能全体で標準化された構造を保証し、拡張機能が自動的に継承する事前定義済みのプロパティを提供することで定義を簡素化します。
ドキュメント
実装する前に、常に最新のドキュメントを取得してください:
- メインドキュメント: https://docs.umbraco.com/umbraco-cms/extend-your-project/backoffice-extensions/extending-overview/extension-types/kind
- Foundation: https://docs.umbraco.com/umbraco-cms/extend-your-project/backoffice-extensions/foundation
- Extension Registry: https://docs.umbraco.com/umbraco-cms/extend-your-project/backoffice-extensions/extending-overview/extension-registry
ワークフロー
- ドキュメントを取得 - 上記の URL に対して WebFetch を使用します
- 質問する - どの拡張機能タイプですか? 共有する既定のプロパティは何ですか?
- ファイルを生成 - 最新のドキュメントに基づいて Kind マニフェストとそれを利用する拡張機能を作成します
- 説明 - 作成された内容とテスト方法を示します
最小限の例
Kind の登録
import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-api';
export const customButtonKind: UmbExtensionManifestKind = {
type: 'kind',
alias: 'My.Kind.HeaderAppButton',
matchType: 'headerApp',
matchKind: 'button',
manifest: {
elementName: 'umb-header-app-button',
},
};
拡張機能での Kind の使用
const manifest = {
type: 'headerApp',
kind: 'button', // Uses the 'button' kind
name: 'My Header App',
alias: 'My.HeaderApp',
meta: {
label: 'My App',
icon: 'icon-heart',
href: '/my-app',
},
};
既定のメタプロパティを持つ Kind
export const cardKind: UmbExtensionManifestKind = {
type: 'kind',
alias: 'My.Kind.DashboardCard',
matchType: 'dashboard',
matchKind: 'card',
manifest: {
elementName: 'my-dashboard-card',
meta: {
// Default meta properties
size: 'medium',
color: 'default',
},
},
};
// Extension inherits defaults, can override
const dashboard = {
type: 'dashboard',
kind: 'card',
alias: 'My.Dashboard',
name: 'My Dashboard',
meta: {
label: 'Stats',
pathname: 'stats',
// size and color inherited from kind
},
};
以上です! 常に最新のドキュメントを取得し、例は最小限に保ち、完全に動作するコードを生成してください。
コメント
Markdown 対応