mcpField
U
umbraco-kinds

umbraco-kinds

github.com/umbraco开发27387 次安装6 周前更新
代码仓库

关于 umbraco-kinds

umbraco-kinds 是用于构建 Umbraco 后台扩展的技能,聚焦 Kind 预设。它引导开发者查阅最新文档,并生成 Kind 清单及继承共享默认值的扩展。

主要功能

  1. 01Umbraco Kind 预设指导
  2. 02查阅最新扩展文档
  3. 03创建 Kind 清单及使用它的扩展
  4. 04在扩展间共享默认属性

适用场景

  1. 01统一相关扩展的属性结构
  2. 02生成 Kind 及使用它的扩展

安装

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

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

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

详细介绍

Umbraco Kinds

什么是 Kind?

Kind 是一种预设配置,扩展会继承它以保持一致性。它通过定义可供多个扩展共用的默认属性,减少重复。Kind 可确保扩展采用标准化结构,并通过提供扩展自动继承的预定义属性,简化定义。

文档

实现前务必获取最新文档:

工作流

  1. 获取文档 - 对上述 URL 使用 WebFetch
  2. 询问问题 - 扩展类型是什么?要共享哪些默认属性?
  3. 生成文件 - 根据最新文档创建 Kind 清单和使用它的扩展
  4. 说明 - 展示创建的内容及测试方法

最小示例

注册 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',
  },
};
带有默认 Meta 属性的 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