event-catalog/eventcatalog

Documentation tool built for software architecture. Document your domains, services, events and schemas — for your teams and your AI agents.

什么是 EventCatalog?

EventCatalog 是一个专为 软件架构 设计的开源 Web 基础文档平台。它让团队能够在一个可搜索的 UI 中记录和探索系统的各个组成部分——领域、服务、消息、模式和业务流程。

核心功能(如 README 所述)

功能 作用 重要性
架构文档 为领域、服务、事件、命令和消息创建页面。 保持系统结构的“活地图”,比分散的 Markdown 文件更容易维护。
AI 驱动发现 内置聊天界面,可回答关于目录的自然语言问题。 使工程师和非技术利益相关者无需记住确切名称即可快速定位信息。
模式探索器 索引 OpenAPI、AsyncAPI、Protobuf、JSON Schema、Avro 等,并使其可搜索。 一处查找所有契约定义,减少服务集成时的摩擦。
模式字段搜索 在所有模式中搜索特定字段名,并查看其使用位置。 帮助评估变更影响并早期发现破坏性变更。
自定义文档集成 可将 ADR、运行手册或任何 Markdown/MDX 文档附加到任何目录实体。 使操作文档与所描述的架构版本同步。
业务流程可视化 绘制引用现有服务和消息的端到端工作流图。 为产品负责人和新成员提供更高层次的视图。
版本控制与治理 事件、命令、服务的语义版本控制,以及破坏性变更检测。 支持大型分布式团队中契约的安全演进。
生成器 支持 AsyncAPI、OpenAPI、Kafka、Confluent、AWS EventBridge 等 15+ 种自动生成功能。 可从现有基础设施定义快速启动目录。
可定制性与企业功能 主题、MDX 组件、OAuth2、RBAC、模式治理。 适配现有安全和品牌要求。

如何快速开始

# 一行式初始化 – 在新文件夹中创建可运行的目录
npx @eventcatalog/create-eventcatalog@latest my-catalog

然后打开 http://localhost:3000,通过 UI 或提供的 SDK 开始添加领域、服务和消息。

项目结构(概览)

作用
@eventcatalog/core 渲染目录 UI 的主 Astro + React 应用。
@eventcatalog/sdk 用于程序化创建、更新和删除目录实体的 Node.js 库。
@eventcatalog/create-eventcatalog 用于生成新目录仓库的 CLI 工具。
@eventcatalog/visualiser 可嵌入其他地方的独立 React 组件,用于可视化目录。

哪些人会使用它?

  • 需要事件驱动或微服务架构单一事实来源的 工程团队
  • 希望无需深入代码仓库即可浏览业务流程和运行手册的 产品与运维人员
  • 寻找自托管、可定制解决方案,具备 RBAC 和版本控制契约的 企业

社区与支持

  • 实时演示站点展示了电商、金融、医疗和 SaaS 等真实世界的目录。
  • 文档网站: https://www.eventcatalog.dev/docs
  • Discord 社区,用于获取帮助和功能讨论。
  • MIT + 商业许可,带有 CI 验证通过的徽章(verify-build.yml)。

TL;DR: EventCatalog 是一个专为文档化和探索软件架构(尤其是事件驱动系统)而设计的开源工具。它结合了可搜索的模式索引、AI 辅助问答、可视化流程图和企业级功能,通过现代 Web UI 和一组 npm 包提供。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目