SuperAPI AI 工具集

c4-diagramming

通用与其它

查看项目

更新于 10-16 06:24

技能介绍

用途:用 C4 模型做软件架构的结构化可视化,按四个缩放层级产出图表,并映射到 Artifact Pyramid 层。C4 与金字塔契合度高:Level 1 系统上下文→L1 摘要(01-summary/system-context.md);Level 2 容器→L2 分析(02-analysis/structural-views/container.md);Level 3 组件→L2 分析(02-analysis/structural-views/components.md);Level 4 代码→L3 档案(03-dossiers/code-level-detail.md)。

主要能力:提供 Mermaid(快速单图,嵌入 Markdown 的默认方式)与 Structurizr DSL(长期项目的推荐方式,C4 官方“模型即代码”实现,一份 DSL 生成全部四级视图,保证结构一致)两种编写格式。Structurizr DSL 支持 !adrs 导入架构决策记录(adr-tools、MADR、log4brains)、!docs 导入 arc42 文档;可用 Structurizr Lite(Docker)在本地 http://localhost:8081 预览;CI 命令包括 validate、inspect、export(PlantUML、Mermaid、静态站点)。

使用方式:编写 DSL 后运行上述 CI 命令校验、检查与导出;参考文件涵盖各级细节、C4 到金字塔映射、C4 转标准流程图、架构即代码生态(工具对比、DSL 手册、C4-PlantUML 备选、仓库约定)及 CI 流水线模板(GitHub Actions、GitLab CI、ForgeJo)。

限制:GitHub 内置 Mermaid 渲染器不打包 C4 插件,C4Context、C4Container、C4Component 语法在 GitHub 上会显示为原始代码而非图表,影响 issue、PR、讨论与 Markdown 文件;需转为标准 flowchart 语法(如 Person() 转 rect 节点、System_Boundary{} 转 subgraph、Rel() 转 -- label -->),或预先渲染为 PNG。DIAGRAMS/ 目录下的 .mmd 文件若用 C4 语法,也无法在 GitHub 文件预览中正常渲染,仅在 Mermaid Live Editor、配置 C4 扩展的 mmdc 等内置插件的工具中可用。已提交的相关 GitHub 社区功能请求(discussions/197898)已关闭,需通过 Web UI 重新提交;暂未提供该请求的当前状态。官方参考为 c4model.com。