mcpField
C
class-diagram

class-diagram

github.com/athola开发34390 次安装1 天前更新
代码仓库

关于 class-diagram

class-diagram 用于分析代码库,并生成展示类型、关系和公共接口的 Mermaid 类图,适合 API 文档及继承与组合分析,随后通过 Mermaid Chart MCP 渲染图表。

主要功能

  1. 01探索代码库中的类型
  2. 02生成 Mermaid 类图
  3. 03呈现公共方法和属性
  4. 04梳理继承与组合关系
  5. 05渲染图表并提供分析说明

适用场景

  1. 01理解类层次结构
  2. 02记录模块的公共 API
  3. 03分析组合与继承模式

MCP 相关

使用 Mermaid Chart MCP 验证并渲染生成的类图。

安装

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

$npx skills add https://github.com/athola/claude-night-market --skill class-diagram

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

详细介绍

类图

生成 Mermaid 类图,展示代码库中的类型、类型之间的关系及其公开接口。

适用场景

  • 了解类层次结构和继承关系
  • 为模块的公开 API 编写文档
  • 分析组合与继承模式
  • 回答“有哪些类型,以及它们之间有什么关系?”

不适用场景

  • 模块级导入(使用 cartograph:dependency-graph)
  • 运行时数据流动(使用 cartograph:data-flow)

工作流

步骤 1:探索代码库

调度代码库探索 Agent:

Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on classes, dataclasses, protocols, type aliases,
inheritance, and composition for a class diagram.
Extract: class names, methods (public only), attributes,
parent classes, and composed types.
步骤 2:生成 Mermaid 语法

将结构模型转换为 Mermaid 类图。

类图规则:

  • 使用 classDiagram 图表类型
  • 仅展示公开方法和关键属性
  • 使用 Mermaid 关系表示法:
    • <|-- 表示继承
    • *-- 表示组合
    • o-- 表示聚合
    • ..> 表示依赖/使用
  • 为特殊类型添加构造型:
    • <<protocol>> 表示 Python 协议/接口
    • <<dataclass>> 表示数据类
    • <<enum>> 表示枚举
    • <<abstract>> 表示抽象类
  • 最多显示 12-15 个类
  • 使用 namespace 对相关类进行分组
  • 省略私有方法和双下划线方法
  • 显示方法的返回类型

输出示例:

classDiagram
    class ResumeSession {
        +Path config_path
        +dict data
        +load() ResumeSession
        +to_pdf(Path) Path
        +to_html(Path) Path
    }

    class ResumeError {
        <<abstract>>
        +str message
        +str context
    }

    class ValidationError {
        +list~str~ fields
    }

    class RenderError {
        +str template
    }

    ResumeError <|-- ValidationError
    ResumeError <|-- RenderError
    ResumeSession ..> ResumeError
步骤 3:通过 MCP 渲染

调用 Mermaid Chart MCP 进行渲染:

mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
  prompt: "Class diagram of [scope]"
  mermaidCode: [generated syntax]
  diagramType: "classDiagram"
  clientName: "claude-code"

如果渲染失败,请修复语法并重试(最多重试 2 次)。

步骤 4:展示结果

展示渲染后的图表,并附上分析说明:

  • 类和关系的总数
  • 已识别的关键继承层次结构
  • 记录的组合模式

完成标准

  • 生成 Mermaid classDiagram 语法,且至少包含一个带有公开方法或属性的类定义
  • 调用 mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram,传入 diagramType: "classDiagram",且调用成功、无错误
  • 分析说明包含类总数、已识别的继承层次结构和组合模式
  • 生成的图表中不包含私有方法和双下划线方法(__init__、__repr__ 等)
  • 图表最多包含 15 个类;如果范围内的类超过 15 个,则应用聚合并注明

评论

支持 Markdown