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 套件提供。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案