名称: 映射关系 描述: 将内容关系可视化为依赖图。显示内容类型如何相互引用。 参数提示: [–output mermaid|ascii|yaml] [–scope all|type:<名称>] 允许工具: Read, Glob, Grep, Task, Skill
映射关系命令
生成内容类型关系的视觉表示。
用法
/cms:map-relationships --output mermaid
/cms:map-relationships --output ascii --scope type:Article
/cms:map-relationships --output yaml
输出格式
- mermaid: Mermaid 图表语法
- ascii: 文本基础图表
- yaml: 结构化关系数据
工作流程
步骤 1: 解析参数
从命令中提取输出格式和范围。
步骤 2: 分析内容类型
读取现有内容类型定义:
- 技能知识(如果设计)
- 代码库(如果实现)
步骤 3: 调用技能
调用 content-relationships 技能来分析:
- 直接引用 (ContentPickerField)
- 分类关联
- 媒体引用
- 自引用关系
步骤 4: 生成输出
Mermaid 输出:
graph LR
Article -->|author| Author
Article -->|categories| Category
Article -->|tags| Tag
Article -->|featuredImage| Media
Article -->|relatedArticles| Article
Product -->|categories| ProductCategory
Product -->|images| Media
Product -->|variants| ProductVariant
ProductVariant -->|product| Product
Page -->|parent| Page
Page -->|featuredImage| Media
ASCII 输出:
CONTENT RELATIONSHIP MAP
========================
Article
├── author ──────────> Author (1:1)
├── categories ──────> Category (1:N)
├── tags ────────────> Tag (1:N)
├── featuredImage ───> Media (1:1)
└── relatedArticles ─> Article (N:N, self)
Product
├── categories ──────> ProductCategory (1:N)
├── images ──────────> Media (1:N)
└── variants ────────> ProductVariant (1:N)
ProductVariant
└── product ─────────> Product (N:1, inverse)
Page
├── parent ──────────> Page (N:1, self)
└── featuredImage ───> Media (1:1)
YAML 输出:
relationships:
Article:
- field: author
target: Author
cardinality: one-to-one
required: true
- field: categories
target: Category
cardinality: one-to-many
required: true
- field: relatedArticles
target: Article
cardinality: many-to-many
self_referential: true
Product:
- field: variants
target: ProductVariant
cardinality: one-to-many
inverse: product
步骤 5: 识别问题
标记潜在问题:
- 循环依赖
- 孤立内容类型
- 缺少反向关系
- 过度耦合的类型
相关技能
content-relationships- 关系模式content-type-modeling- 内容类型结构