@eventcatalog/core 5.0.0-beta.9 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/LICENSE +13 -12
  2. package/README.md +5 -5
  3. package/dist/analytics/analytics.cjs +1 -1
  4. package/dist/analytics/analytics.js +2 -2
  5. package/dist/analytics/log-build.cjs +91 -44
  6. package/dist/analytics/log-build.d.cts +2 -2
  7. package/dist/analytics/log-build.d.ts +2 -2
  8. package/dist/analytics/log-build.js +6 -5
  9. package/dist/analytics/studio-usage.cjs +90 -0
  10. package/dist/analytics/studio-usage.d.cts +5 -0
  11. package/dist/analytics/studio-usage.d.ts +5 -0
  12. package/dist/analytics/studio-usage.js +10 -0
  13. package/dist/catalog-runtime.cjs +1 -1
  14. package/dist/{chunk-RFIXKATC.js → chunk-4G7FSRPN.js} +35 -42
  15. package/dist/{chunk-AWOO63ME.js → chunk-AD7CL772.js} +11 -4
  16. package/dist/chunk-CA6WCQ2T.js +54 -0
  17. package/dist/{chunk-GAHKCOQM.js → chunk-JZN4RSMF.js} +1 -1
  18. package/dist/{chunk-JQMYHZWI.js → chunk-NEAVAFSJ.js} +16 -8
  19. package/dist/{chunk-4CFZUHGG.js → chunk-NIVST4WY.js} +1 -1
  20. package/dist/{chunk-ENAG6UH7.js → chunk-NKNOXQ62.js} +1 -6
  21. package/dist/{chunk-ZEY2XUJN.js → chunk-OX6TSVHY.js} +6 -6
  22. package/dist/{chunk-36RYTYT5.js → chunk-PD7KTSYN.js} +1 -1
  23. package/dist/{chunk-EUNQJO3J.js → chunk-RE7UTPWH.js} +1 -1
  24. package/dist/chunk-S5GWAUG5.js +29 -0
  25. package/dist/{chunk-TZVDMWQX.js → chunk-YQGRMDRB.js} +4 -2
  26. package/dist/constants.cjs +1 -1
  27. package/dist/constants.js +1 -1
  28. package/dist/docs/api/02-config.md +57 -7
  29. package/dist/docs/development/00-why-eventcatalog.md +11 -11
  30. package/dist/docs/development/01-fundamentals.md +20 -13
  31. package/dist/docs/development/01-getting-started/configuration-overview.md +2 -2
  32. package/dist/docs/development/01-getting-started/installation.md +9 -1
  33. package/dist/docs/development/_getting-started.mdx +1 -1
  34. package/dist/docs/development/ask-your-architecture/01-intro.md +5 -5
  35. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +0 -4
  36. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +15 -3
  37. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +0 -3
  38. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +1 -1
  39. package/dist/docs/development/ask-your-architecture/02-llms.txt.md +1 -1
  40. package/dist/docs/development/ask-your-architecture/{05-skills/01-introduction.md → 03-install-skills.md} +57 -7
  41. package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +1 -1
  42. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +86 -33
  43. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +14 -4
  44. package/dist/docs/development/ask-your-architecture/03-schemas.txt.md +1 -1
  45. package/dist/docs/development/ask-your-architecture/04-agents/_category_.json +1 -1
  46. package/dist/docs/development/authentication/01-introduction.md +2 -23
  47. package/dist/docs/development/authentication/02-enabling-authentication.md +0 -20
  48. package/dist/docs/development/authentication/07-rbac-middleware.md +0 -2
  49. package/dist/docs/development/authentication/providers/03-setting-up-github.md +0 -2
  50. package/dist/docs/development/authentication/providers/03a-setting-up-google.md +0 -2
  51. package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +0 -2
  52. package/dist/docs/development/authentication/providers/05-setting-up-okta.md +0 -3
  53. package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +0 -2
  54. package/dist/docs/development/bring-your-own-documentation/01-introduction.md +0 -4
  55. package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +0 -3
  56. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +0 -17
  57. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +0 -4
  58. package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +0 -2
  59. package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +1 -3
  60. package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +1 -4
  61. package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +0 -2
  62. package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +1 -3
  63. package/dist/docs/development/components/components/11-flow.md +17 -0
  64. package/dist/docs/development/components/components/15-nodegraph.md +43 -10
  65. package/dist/docs/development/components/components/18-remote-schema.md +1 -4
  66. package/dist/docs/development/components/custom-components/07-reference.md +14 -0
  67. package/dist/docs/development/customization/02-themes.md +0 -5
  68. package/dist/docs/development/customization/03-search.md +1 -1
  69. package/dist/docs/development/customization/05-custom-pages-and-api-routes/01-introduction.md +0 -2
  70. package/dist/docs/development/customization/05-custom-pages-and-api-routes/04-reference.md +7 -1
  71. package/dist/docs/development/customization/05-resource-sidebar.md +1 -1
  72. package/dist/docs/development/customization/09-embed-eventcatalog.md +20 -25
  73. package/dist/docs/development/deployment/hosting-options.md +7 -2
  74. package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md +16 -0
  75. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/03-rules.md +31 -1
  76. package/dist/docs/development/developer-tools/eventcatalog-linter/reference/05-supported-resources.md +1 -1
  77. package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +0 -10
  78. package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +0 -4
  79. package/dist/docs/development/guides/97-architecture-graph.md +1 -1
  80. package/dist/docs/development/guides/99-adding-analytics.md +0 -7
  81. package/dist/docs/development/guides/domains/03-model-subdomains.md +2 -2
  82. package/dist/docs/development/guides/domains/04-add-resources-to-domains/01-add-systems-to-domains.md +3 -1
  83. package/dist/docs/development/guides/domains/04-add-resources-to-domains/02-add-services-to-domains.md +5 -1
  84. package/dist/docs/development/guides/domains/04-add-resources-to-domains/03-add-messages-to-domains.md +2 -2
  85. package/dist/docs/development/guides/domains/04-add-resources-to-domains/05-add-entities-to-domains.md +1 -1
  86. package/dist/docs/development/guides/domains/04-add-resources-to-domains/06-domain-resources-page.md +40 -0
  87. package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-diagram.md +89 -0
  88. package/dist/docs/development/guides/domains/06-visualize-domains/_category_.json +1 -2
  89. package/dist/docs/development/guides/domains/09-reference.md +4 -4
  90. package/dist/docs/development/guides/owners/automated-teams-and-users/create-your-own-connector.md +0 -2
  91. package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-github.md +0 -3
  92. package/dist/docs/development/guides/owners/automated-teams-and-users/sync-from-microsoft-entra.md +0 -2
  93. package/dist/docs/development/guides/resources/adrs/03-linking-resources.md +8 -0
  94. package/dist/docs/development/guides/resources/adrs/06-reference.md +4 -4
  95. package/dist/docs/development/guides/resources/agents/11-reference.md +1 -1
  96. package/dist/docs/development/guides/resources/data/04-reference.md +1 -1
  97. package/dist/docs/development/guides/resources/data-products/07-reference.md +1 -1
  98. package/dist/docs/development/guides/resources/entities/05-entity-maps.md +1 -1
  99. package/dist/docs/development/guides/resources/entities/06-reference.md +2 -2
  100. package/dist/docs/development/guides/resources/flows/01-introduction.md +11 -1
  101. package/dist/docs/development/guides/resources/flows/03-model-flow-steps.md +65 -6
  102. package/dist/docs/development/guides/resources/flows/05-explore-flows.md +112 -0
  103. package/dist/docs/development/guides/resources/flows/06-reference.md +25 -4
  104. package/dist/docs/development/guides/resources/messages/01-what-are-messages.md +19 -0
  105. package/dist/docs/development/guides/resources/messages/04-message-channels/01-introduction.md +16 -0
  106. package/dist/docs/development/guides/resources/messages/04-message-channels/05-reference.md +2 -1
  107. package/dist/docs/development/guides/resources/messages/10-reference.md +6 -3
  108. package/dist/docs/development/guides/resources/schemas/04-explore-schemas/01-schema-explorer.md +2 -2
  109. package/dist/docs/development/guides/resources/schemas/04-explore-schemas/02-fields-explorer.md +0 -9
  110. package/dist/docs/development/guides/resources/schemas/05-schema-api.md +0 -3
  111. package/dist/docs/development/guides/resources/schemas/06-schema-mcp.md +11 -3
  112. package/dist/docs/development/guides/resources/services/04-add-resources-to-services/03-add-entities-to-services.md +1 -1
  113. package/dist/docs/development/guides/resources/services/05-resources-page.md +50 -0
  114. package/dist/docs/development/guides/resources/services/08-reference.md +2 -1
  115. package/dist/docs/development/guides/systems/01-introduction.md +1 -1
  116. package/dist/docs/development/guides/systems/02-create-system.md +2 -2
  117. package/dist/docs/development/guides/systems/03-add-resources-to-systems.md +35 -9
  118. package/dist/docs/development/guides/systems/04-model-relationships-and-actors.md +5 -3
  119. package/dist/docs/development/guides/systems/05-system-context-maps.md +39 -22
  120. package/dist/docs/development/guides/systems/06-reference.md +4 -4
  121. package/dist/docs/development/license/01-license-file.md +151 -0
  122. package/dist/docs/development/license/_category_.json +12 -0
  123. package/dist/docs/development/license-keys/_category_.json +3 -3
  124. package/dist/docs/development/license-keys/integrations.md +7 -37
  125. package/dist/docs/development/license-keys/license-validation.md +4 -0
  126. package/dist/docs/development/license-keys/overview.md +5 -1
  127. package/dist/docs/development/license-keys/plans.md +4 -2
  128. package/dist/docs/development/studio/01-introduction.md +60 -0
  129. package/dist/docs/development/studio/02-create-a-canvas.md +103 -0
  130. package/dist/docs/development/studio/03-set-up-persistent-storage.md +59 -0
  131. package/dist/docs/development/studio/04-collaborate-on-a-canvas.md +78 -0
  132. package/dist/docs/development/studio/05-connect-your-agent.md +102 -0
  133. package/dist/docs/development/studio/06-run-studio-in-production.md +54 -0
  134. package/dist/docs/development/studio/07-reference.md +294 -0
  135. package/dist/docs/development/studio/_category_.json +12 -0
  136. package/dist/docs/development/upgrading/v5.md +345 -0
  137. package/dist/docs/federation/00-overview.md +2 -8
  138. package/dist/docs/federation/01-first-federation.md +6 -18
  139. package/dist/docs/federation/explanation/how-it-works.md +0 -4
  140. package/dist/docs/federation/explanation/lockfile-and-cache.md +0 -4
  141. package/dist/docs/federation/explanation/mvp-status-and-feedback.md +0 -4
  142. package/dist/docs/federation/explanation/ownership-and-references.md +0 -4
  143. package/dist/docs/federation/how-to/configure-github-sources.md +6 -5
  144. package/dist/docs/federation/how-to/configure-validation-rules.md +0 -4
  145. package/dist/docs/federation/how-to/run-in-ci.md +2 -9
  146. package/dist/docs/federation/how-to/share-assets-and-components.md +0 -4
  147. package/dist/docs/federation/how-to/use-local-sources.md +0 -4
  148. package/dist/docs/federation/legacy-federation/00-introduction.md +4 -22
  149. package/dist/docs/federation/legacy-federation/01-installation.md +7 -58
  150. package/dist/docs/federation/legacy-federation/02-plugin-configuration.md +3 -21
  151. package/dist/docs/federation/legacy-federation/03-examples.md +3 -5
  152. package/dist/docs/federation/legacy-federation/04-configuration.md +3 -8
  153. package/dist/docs/federation/legacy-federation/05-setup-team-catalog.md +3 -6
  154. package/dist/docs/federation/reference/cli.md +2 -8
  155. package/dist/docs/federation/reference/configuration.md +0 -4
  156. package/dist/docs/federation/reference/diagnostic-rules.md +0 -5
  157. package/dist/docs/federation/reference/generated-output.md +0 -4
  158. package/dist/docs/federation/reference/supported-content.md +0 -4
  159. package/dist/docs/federation/reference/troubleshooting.md +0 -14
  160. package/dist/docs/plugins/02-generators.md +1 -1
  161. package/dist/docs/plugins/amazon-apigateway/00-intro.md +3 -28
  162. package/dist/docs/plugins/amazon-apigateway/01-installation.md +4 -56
  163. package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +1 -6
  164. package/dist/docs/plugins/apicurio/00-intro.md +2 -31
  165. package/dist/docs/plugins/apicurio/01-installation.md +2 -26
  166. package/dist/docs/plugins/apicurio/02-plugin-configuration.md +5 -13
  167. package/dist/docs/plugins/apicurio/03-features.md +1 -3
  168. package/dist/docs/plugins/asyncapi/00-intro.md +2 -28
  169. package/dist/docs/plugins/asyncapi/01-installation.md +3 -54
  170. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +2 -1
  171. package/dist/docs/plugins/aws-glue-registry/00-intro.md +4 -32
  172. package/dist/docs/plugins/aws-glue-registry/00a-installation.md +3 -53
  173. package/dist/docs/plugins/azure-schema-registry/00-intro.md +4 -32
  174. package/dist/docs/plugins/azure-schema-registry/01-installation.md +6 -33
  175. package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +1 -14
  176. package/dist/docs/plugins/azure-schema-registry/04-examples.md +0 -2
  177. package/dist/docs/plugins/backstage/00-overview.md +1 -7
  178. package/dist/docs/plugins/backstage/01-get-started.md +6 -15
  179. package/dist/docs/plugins/backstage/06-configuration.md +2 -8
  180. package/dist/docs/plugins/confluent-schema-registry/00-intro.md +2 -29
  181. package/dist/docs/plugins/confluent-schema-registry/01-installation.md +2 -26
  182. package/dist/docs/plugins/eventbridge/00-intro.md +0 -4
  183. package/dist/docs/plugins/eventbridge/00a-installation.md +1 -87
  184. package/dist/docs/plugins/eventbridge/03-api.md +2 -20
  185. package/dist/docs/plugins/github/00-intro.md +0 -31
  186. package/dist/docs/plugins/github/01-installation.md +2 -34
  187. package/dist/docs/plugins/graphql/00-intro.md +0 -30
  188. package/dist/docs/plugins/graphql/01-installation.md +1 -53
  189. package/dist/docs/plugins/graphql/02-plugin-configuration.md +0 -1
  190. package/dist/docs/plugins/hookdeck/01-intro.md +1 -1
  191. package/dist/docs/plugins/openapi/00-intro.md +0 -30
  192. package/dist/docs/plugins/openapi/01-installation.md +1 -57
  193. package/dist/docs/plugins/openapi/02-plugin-configuration.md +0 -5
  194. package/dist/docs/plugins/openapi/03-features.md +0 -4
  195. package/dist/eventcatalog-config-file-utils.cjs +34 -41
  196. package/dist/eventcatalog-config-file-utils.d.cts +56 -58
  197. package/dist/eventcatalog-config-file-utils.d.ts +56 -58
  198. package/dist/eventcatalog-config-file-utils.js +1 -1
  199. package/dist/eventcatalog.cjs +340 -249
  200. package/dist/eventcatalog.config.d.cts +18 -15
  201. package/dist/eventcatalog.config.d.ts +18 -15
  202. package/dist/eventcatalog.js +51 -33
  203. package/dist/features.cjs +36 -49
  204. package/dist/features.d.cts +1 -3
  205. package/dist/features.d.ts +1 -3
  206. package/dist/features.js +4 -6
  207. package/dist/federation/federate.cjs +37 -44
  208. package/dist/federation/federate.js +5 -5
  209. package/dist/federation/source-provider.js +2 -2
  210. package/dist/generate.cjs +37 -42
  211. package/dist/generate.js +4 -4
  212. package/dist/resolve-catalog-dependencies.cjs +34 -41
  213. package/dist/resolve-catalog-dependencies.js +2 -2
  214. package/dist/runtime-dependencies/@eventcatalog__visualiser__studio-fonts.css.mjs +3 -0
  215. package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.css.mjs +3 -0
  216. package/dist/runtime-dependencies/@eventcatalog__visualiser__studio.mjs +3 -0
  217. package/dist/runtime-dependencies/htmlparser2.mjs +3 -0
  218. package/dist/runtime-dependencies/manifest.json +5 -1
  219. package/dist/runtime-dependencies/react-syntax-highlighter__dist__cjs__create-element.js.mjs +3 -0
  220. package/dist/utils/child-process-signals.cjs +53 -0
  221. package/dist/utils/child-process-signals.d.cts +19 -0
  222. package/dist/utils/child-process-signals.d.ts +19 -0
  223. package/dist/utils/child-process-signals.js +6 -0
  224. package/dist/utils/cli-logger.cjs +1 -1
  225. package/dist/utils/cli-logger.js +2 -2
  226. package/dist/utils/license-status.cjs +11 -4
  227. package/dist/utils/license-status.d.cts +3 -2
  228. package/dist/utils/license-status.d.ts +3 -2
  229. package/dist/utils/license-status.js +1 -1
  230. package/eventcatalog/astro.config.mjs +21 -1
  231. package/eventcatalog/integrations/config-loader.mjs +56 -58
  232. package/eventcatalog/integrations/skip-startup-reload.mjs +31 -0
  233. package/eventcatalog/integrations/stable-dependency-order.mjs +29 -0
  234. package/eventcatalog/integrations/storage.mjs +20 -0
  235. package/eventcatalog/integrations/studio-server.mjs +4 -1
  236. package/eventcatalog/src/components/CatalogGraph/CatalogForceGraph.tsx +39 -0
  237. package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +2 -0
  238. package/eventcatalog/src/components/Homepage/CatalogDashboard.astro +342 -0
  239. package/eventcatalog/src/components/MDX/NodeGraph/AstroNodeGraph.tsx +60 -4
  240. package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +5 -1
  241. package/eventcatalog/src/components/NavigationProgress.astro +7 -0
  242. package/eventcatalog/src/components/SchemaExplorer/ApiContentViewer.tsx +2 -0
  243. package/eventcatalog/src/components/SchemaExplorer/ExamplesViewer.tsx +2 -0
  244. package/eventcatalog/src/components/SchemaExplorer/SchemaCodeModal.tsx +2 -0
  245. package/eventcatalog/src/components/SchemaExplorer/SchemaContentViewer.tsx +2 -0
  246. package/eventcatalog/src/components/Search/SearchDataLoader.astro +16 -28
  247. package/eventcatalog/src/components/Search/SearchModal.tsx +2 -10
  248. package/eventcatalog/src/components/Search/search-utils.ts +26 -0
  249. package/eventcatalog/src/components/Seo.astro +5 -1
  250. package/eventcatalog/src/components/Settings/AssistantSettingsForm.tsx +53 -48
  251. package/eventcatalog/src/components/Settings/GeneralSettingsForm.tsx +183 -178
  252. package/eventcatalog/src/components/Settings/LicenseSettings.tsx +140 -31
  253. package/eventcatalog/src/components/Settings/LlmAccessSettingsForm.tsx +40 -35
  254. package/eventcatalog/src/components/Settings/LogoUpload.tsx +1 -1
  255. package/eventcatalog/src/components/Settings/McpSettingsForm.tsx +9 -8
  256. package/eventcatalog/src/components/Settings/Row.tsx +7 -4
  257. package/eventcatalog/src/components/Settings/SettingsShared.tsx +3 -3
  258. package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +37 -76
  259. package/eventcatalog/src/components/SideNav/NestedSideBar/storage.ts +2 -0
  260. package/eventcatalog/src/components/SideNav/NestedSideBar/utils.ts +122 -1
  261. package/eventcatalog/src/components/SideNav/SideNav.astro +9 -1
  262. package/eventcatalog/src/components/TrialBadge.astro +20 -9
  263. package/eventcatalog/src/content.config.ts +19 -2
  264. package/eventcatalog/src/features/auth/error.astro +4 -2
  265. package/eventcatalog/src/features/auth/login.astro +2 -1
  266. package/eventcatalog/src/features/auth/middleware/middleware-auth.ts +21 -1
  267. package/eventcatalog/src/features/auth/unauthorized.astro +1 -1
  268. package/eventcatalog/src/features/fields/pages/fields.astro +1 -1
  269. package/eventcatalog/src/features/integrations/eventcatalog-features.ts +13 -7
  270. package/eventcatalog/src/features/mcp/apps/architecture-diagram/node-chat.tsx +6 -45
  271. package/eventcatalog/src/features/mcp/apps/canvas/shared.ts +3 -3
  272. package/eventcatalog/src/features/mcp/apps/canvas/styles.css +3 -1
  273. package/eventcatalog/src/features/mcp/apps/canvas/view.tsx +7 -5
  274. package/eventcatalog/src/features/mcp/apps/generated/canvas.html +123 -98
  275. package/eventcatalog/src/features/mcp/apps/generated/viewer.html +118 -101
  276. package/eventcatalog/src/features/mcp/mcp-server.ts +20 -4
  277. package/eventcatalog/src/features/server/start.ts +25 -0
  278. package/eventcatalog/src/features/storage/database.ts +88 -0
  279. package/eventcatalog/src/features/storage/migrations.ts +85 -0
  280. package/eventcatalog/src/features/storage/sql/database.sql +5 -0
  281. package/eventcatalog/src/features/storage/sql/migrations/0001-studio-canvases.sql +12 -0
  282. package/eventcatalog/src/features/storage/sql/migrations.sql +15 -0
  283. package/eventcatalog/src/features/storage/sql.ts +28 -0
  284. package/eventcatalog/src/features/studio/agent-choreography.ts +13 -10
  285. package/eventcatalog/src/features/studio/agents.ts +28 -0
  286. package/eventcatalog/src/features/studio/api/canvases-api.ts +219 -0
  287. package/eventcatalog/src/features/studio/api/canvases.ts +25 -0
  288. package/eventcatalog/src/features/studio/api/client.ts +40 -0
  289. package/eventcatalog/src/features/studio/canvas-actions.ts +160 -34
  290. package/eventcatalog/src/features/studio/canvas-preview.ts +1 -2
  291. package/eventcatalog/src/features/studio/catalog.ts +16 -14
  292. package/eventcatalog/src/features/studio/components/CanvasHeader.tsx +274 -105
  293. package/eventcatalog/src/features/studio/components/CanvasStatusMenu.tsx +15 -14
  294. package/eventcatalog/src/features/studio/components/ConnectAgentDialog.tsx +272 -119
  295. package/eventcatalog/src/features/studio/components/ConnectionsChooser.tsx +1 -2
  296. package/eventcatalog/src/features/studio/components/DeleteCanvasDialog.tsx +65 -0
  297. package/eventcatalog/src/features/studio/components/Dialog.tsx +60 -0
  298. package/eventcatalog/src/features/studio/components/JoinForm.tsx +101 -26
  299. package/eventcatalog/src/features/studio/components/LeftPanel.tsx +122 -230
  300. package/eventcatalog/src/features/studio/components/NodeDetails.tsx +183 -0
  301. package/eventcatalog/src/features/studio/components/OpenInStudioDialog.tsx +79 -0
  302. package/eventcatalog/src/features/studio/components/Presence.tsx +52 -45
  303. package/eventcatalog/src/features/studio/components/ShareDialog.tsx +277 -141
  304. package/eventcatalog/src/features/studio/components/ShortcutsDialog.tsx +41 -0
  305. package/eventcatalog/src/features/studio/components/StudioDesigner.tsx +1314 -385
  306. package/eventcatalog/src/features/studio/components/StudioNotice.astro +24 -0
  307. package/eventcatalog/src/features/studio/document-name.ts +7 -0
  308. package/eventcatalog/src/features/studio/from-visualiser.ts +138 -0
  309. package/eventcatalog/src/features/studio/hooks/presence-sender.ts +19 -2
  310. package/eventcatalog/src/features/studio/hooks/use-canvas-webmcp.ts +9 -3
  311. package/eventcatalog/src/features/studio/hooks/use-comments.ts +2 -2
  312. package/eventcatalog/src/features/studio/hooks/use-follow-camera.ts +8 -3
  313. package/eventcatalog/src/features/studio/hooks/use-studio-flow.ts +244 -32
  314. package/eventcatalog/src/features/studio/identity.ts +25 -1
  315. package/eventcatalog/src/features/studio/limits.ts +2 -0
  316. package/eventcatalog/src/features/studio/pages/[id].astro +42 -16
  317. package/eventcatalog/src/features/studio/pages/index.astro +596 -373
  318. package/eventcatalog/src/features/studio/pages/webmcp-relay.ts +12 -15
  319. package/eventcatalog/src/features/studio/server/canvas-mcp.ts +8 -23
  320. package/eventcatalog/src/features/studio/server/runtime.ts +150 -46
  321. package/eventcatalog/src/features/studio/server/sql/storage.sql +18 -0
  322. package/eventcatalog/src/features/studio/server/storage.ts +53 -73
  323. package/eventcatalog/src/features/studio/webmcp-relay/LICENSE +21 -0
  324. package/eventcatalog/src/features/studio/webmcp-relay/README.md +5 -0
  325. package/eventcatalog/src/features/studio/webmcp-relay/embed.js +2 -0
  326. package/eventcatalog/src/features/studio/webmcp-relay/widget.html +10 -0
  327. package/eventcatalog/src/features/studio/webmcp-relay/widget.js +1 -0
  328. package/eventcatalog/src/features/tools/catalog-tools.ts +3 -1
  329. package/eventcatalog/src/layouts/BaseLayout.astro +4 -4
  330. package/eventcatalog/src/layouts/SettingsLayout.astro +2 -2
  331. package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +3 -2
  332. package/eventcatalog/src/pages/_index.astro +5 -342
  333. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.spec.ts +2 -3
  334. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/_index.data.ts +0 -7
  335. package/eventcatalog/src/pages/architecture/[type]/[id]/[version]/index.astro +3 -1
  336. package/eventcatalog/src/pages/diagrams/[id]/[version]/_index.data.ts +0 -7
  337. package/eventcatalog/src/pages/diagrams/[id]/[version]/embed.astro +1 -0
  338. package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +1 -0
  339. package/eventcatalog/src/pages/directory/[type]/_index.data.ts +5 -7
  340. package/eventcatalog/src/pages/directory/[type]/index.astro +3 -1
  341. package/eventcatalog/src/pages/discover/[type]/_index.data.ts +5 -7
  342. package/eventcatalog/src/pages/discover/[type]/index.astro +3 -1
  343. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/_index.data.ts +0 -7
  344. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +1 -0
  345. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/_index.data.ts +0 -7
  346. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +1 -0
  347. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/_index.data.ts +0 -7
  348. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +3 -1
  349. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/_[filename].data.ts +0 -7
  350. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/_index.data.ts +0 -7
  351. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +1 -0
  352. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/[...filename].astro +1 -0
  353. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/examples/_[...filename].data.ts +0 -4
  354. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/_index.data.ts +0 -7
  355. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/field-lineage/index.astro +1 -0
  356. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +3 -1
  357. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/_[filename].data.ts +0 -7
  358. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +1 -0
  359. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.spec.ts +2 -3
  360. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/_index.data.ts +0 -7
  361. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/resources/index.astro +1 -0
  362. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +1 -0
  363. package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/_[filename].data.ts +0 -7
  364. package/eventcatalog/src/pages/docs/[type]/[id]/_index.data.ts +0 -7
  365. package/eventcatalog/src/pages/docs/[type]/[id]/index.astro +2 -1
  366. package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/_index.data.ts +0 -7
  367. package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +1 -0
  368. package/eventcatalog/src/pages/docs/[type]/[id]/language/_index.data.ts +0 -7
  369. package/eventcatalog/src/pages/docs/[type]/[id]/language/index.astro +1 -0
  370. package/eventcatalog/src/pages/docs/custom/[...path]/_index.data.ts +0 -7
  371. package/eventcatalog/src/pages/docs/custom/[...path]/index.astro +1 -0
  372. package/eventcatalog/src/pages/docs/services/[id]/[docType]/[docId]/index.astro +1 -1
  373. package/eventcatalog/src/pages/docs/services/[id]/[version]/resources/index.astro +1 -0
  374. package/eventcatalog/src/pages/docs/services/[id]/asyncapi/[filename].astro +1 -1
  375. package/eventcatalog/src/pages/docs/services/[id]/changelog/index.astro +1 -1
  376. package/eventcatalog/src/pages/docs/services/[id]/graphql/[filename].astro +1 -1
  377. package/eventcatalog/src/pages/docs/services/[id]/spec/[filename].astro +1 -1
  378. package/eventcatalog/src/pages/docs/teams/[id]/_index.data.ts +0 -7
  379. package/eventcatalog/src/pages/docs/teams/[id]/index.astro +1 -0
  380. package/eventcatalog/src/pages/docs/users/[id]/_index.data.ts +0 -7
  381. package/eventcatalog/src/pages/docs/users/[id]/index.astro +1 -0
  382. package/eventcatalog/src/pages/index.astro +4 -2
  383. package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/_index.data.ts +0 -7
  384. package/eventcatalog/src/pages/schemas/[type]/[id]/[version]/index.astro +9 -1
  385. package/eventcatalog/src/pages/schemas/explorer/_index.data.ts +0 -7
  386. package/eventcatalog/src/pages/schemas/explorer/index.astro +4 -2
  387. package/eventcatalog/src/pages/settings/license.astro +9 -1
  388. package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/_index.data.ts +0 -7
  389. package/eventcatalog/src/pages/triggers/[type]/[id]/[version]/index.astro +1 -0
  390. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/_index.data.ts +0 -7
  391. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/_index.data.ts +0 -7
  392. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/data/index.astro +1 -0
  393. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/_index.data.ts +0 -7
  394. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/entity-map/index.astro +1 -0
  395. package/eventcatalog/src/pages/visualiser/[type]/[id]/[version]/index.astro +1 -0
  396. package/eventcatalog/src/pages/visualiser/[type]/[id]/_index.data.ts +38 -0
  397. package/eventcatalog/src/pages/visualiser/[type]/[id]/index.astro +18 -41
  398. package/eventcatalog/src/pages/visualiser/designs/[id]/_index.data.ts +0 -7
  399. package/eventcatalog/src/pages/visualiser/designs/[id]/index.astro +2 -1
  400. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/_index.data.ts +0 -7
  401. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/entity-map/index.astro +1 -0
  402. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/index.astro +1 -0
  403. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/_index.data.ts +0 -7
  404. package/eventcatalog/src/pages/visualiser/domains/[id]/[version]/systems-context/index.astro +1 -0
  405. package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/_index.data.ts +0 -7
  406. package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/context/index.astro +1 -0
  407. package/eventcatalog/src/pages/visualiser/systems/[id]/[version]/index.astro +1 -0
  408. package/eventcatalog/src/types/react-syntax-highlighter.d.ts +10 -0
  409. package/eventcatalog/src/utils/collections/flows.ts +20 -7
  410. package/eventcatalog/src/utils/collections/resource-owners.ts +8 -2
  411. package/eventcatalog/src/utils/collections/resources.ts +2 -0
  412. package/eventcatalog/src/utils/collections/util.ts +8 -4
  413. package/eventcatalog/src/utils/git.ts +11 -0
  414. package/eventcatalog/src/utils/homepage-dashboard.ts +143 -0
  415. package/eventcatalog/src/utils/license.ts +1 -1
  416. package/eventcatalog/src/utils/link-validation.ts +25 -19
  417. package/eventcatalog/src/utils/node-graphs/domain-entity-map.ts +3 -1
  418. package/eventcatalog/src/utils/node-graphs/domain-levels-node-graph.ts +3 -3
  419. package/eventcatalog/src/utils/node-graphs/field-node-graph.ts +4 -2
  420. package/eventcatalog/src/utils/node-graphs/layout-node-graph.ts +20 -1
  421. package/eventcatalog/src/utils/node-graphs/node-resource.ts +67 -0
  422. package/eventcatalog/src/utils/node-graphs/systems-node-graph.ts +1 -1
  423. package/eventcatalog/src/utils/page-loaders/hybrid-page.ts +4 -15
  424. package/eventcatalog/src/utils/page-title.ts +15 -0
  425. package/eventcatalog/src/utils/syntax-highlighter-renderer.ts +64 -0
  426. package/eventcatalog/src/utils/trial.ts +13 -0
  427. package/package.json +11 -11
  428. package/dist/docs/development/ask-your-architecture/05-skills/02-installation.md +0 -60
  429. package/dist/docs/development/ask-your-architecture/05-skills/_category_.json +0 -11
  430. package/dist/docs/development/ask-your-architecture/06-slack-integration/01-introduction.md +0 -63
  431. package/dist/docs/development/ask-your-architecture/06-slack-integration/02-slack-app-setup.md +0 -154
  432. package/dist/docs/development/ask-your-architecture/06-slack-integration/03-installation.md +0 -169
  433. package/dist/docs/development/ask-your-architecture/06-slack-integration/04-deployment.md +0 -236
  434. package/dist/docs/development/ask-your-architecture/06-slack-integration/05-usage.md +0 -140
  435. package/dist/docs/development/ask-your-architecture/06-slack-integration/06-troubleshooting.md +0 -268
  436. package/dist/docs/development/ask-your-architecture/06-slack-integration/_category_.json +0 -13
  437. package/dist/docs/development/guides/domains/06-visualize-domains/01-domain-integration-map.md +0 -40
  438. package/dist/runtime-dependencies/@mcp-b__webmcp-local-relay.mjs +0 -3
  439. package/eventcatalog/src/features/studio/canvas-doc.ts +0 -409
  440. package/eventcatalog/src/features/studio/clipboard.ts +0 -97
  441. package/eventcatalog/src/features/studio/components/CanvasControls.tsx +0 -154
  442. package/eventcatalog/src/features/studio/components/Comments.tsx +0 -770
  443. package/eventcatalog/src/features/studio/components/ContainerChooser.tsx +0 -145
  444. package/eventcatalog/src/features/studio/components/DragGhost.tsx +0 -115
  445. package/eventcatalog/src/features/studio/components/Picture.tsx +0 -21
  446. package/eventcatalog/src/features/studio/components/PropertiesPanel.tsx +0 -212
  447. package/eventcatalog/src/features/studio/components/canvas-nodes.tsx +0 -255
  448. package/eventcatalog/src/features/studio/components/icons.ts +0 -53
  449. package/eventcatalog/src/features/studio/components/status.ts +0 -51
  450. package/eventcatalog/src/features/studio/edges.ts +0 -56
  451. package/eventcatalog/src/features/studio/flow-state.ts +0 -92
  452. package/eventcatalog/src/features/studio/grouping.ts +0 -226
  453. package/eventcatalog/src/features/studio/layout.ts +0 -42
  454. package/eventcatalog/src/features/studio/levels.ts +0 -282
  455. package/eventcatalog/src/features/studio/node-types.ts +0 -205
  456. package/eventcatalog/src/features/studio/pages/new.astro +0 -24
  457. package/eventcatalog/src/features/studio/pages/wake.ts +0 -15
  458. package/eventcatalog/src/features/studio/placement.ts +0 -197
  459. package/eventcatalog/src/features/studio/studio.css +0 -273
  460. package/dist/{chunk-A2RZR3U4.js → chunk-6K7XZAYI.js} +3 -3
@@ -1,18 +1,21 @@
1
1
  ---
2
- sidebar_position: 1
2
+ sidebar_position: 3
3
3
  keywords:
4
4
  - AI Skills
5
5
  - Claude Code
6
6
  - documentation generation
7
- sidebar_label: Introduction
8
- title: AI Skills
9
- description: Pre-built AI skills to help you document your architecture with EventCatalog
7
+ - installation
8
+ sidebar_label: Install Skills
9
+ title: Install Skills
10
+ description: Install EventCatalog Skills so your AI agent can document your architecture with EventCatalog.
10
11
  ---
11
12
 
12
13
  EventCatalog Skills are pre-built instructions that teach AI agents how to work with your EventCatalog project. Install a skill and your AI agent gains the ability to generate correct documentation, following EventCatalog conventions and best practices.
13
14
 
14
15
  Skills work with any AI coding agent that supports the skills format (e.g. [Claude Code](https://claude.ai/code)).
15
16
 
17
+ **Source code:** [github.com/event-catalog/skills](https://github.com/event-catalog/skills)
18
+
16
19
  ## Why use skills?
17
20
 
18
21
  When you ask an AI agent to generate EventCatalog documentation, it doesn't know about EventCatalog's frontmatter format, folder structure, or component conventions. Skills solve this by providing the agent with structured instructions and reference material.
@@ -33,8 +36,55 @@ The agent will generate properly formatted `index.mdx` files with correct frontm
33
36
  | [Catalog Documentation Creator](https://github.com/event-catalog/skills) | Generates EventCatalog documentation files (services, events, commands, queries, domains, flows, channels, containers) with correct frontmatter, folder structure, and best practices. |
34
37
  | [Flow Wizard](https://github.com/event-catalog/skills) | Guides you through documenting a business flow step by step in a conversational session, cross-referencing your existing catalog resources to link services, events, and commands automatically. |
35
38
 
36
- ## Getting started
39
+ ## Install skills
37
40
 
38
- Head to the [installation guide](/docs/development/ask-your-architecture/skills/installation) to add skills to your project.
41
+ ### CLI install (recommended)
39
42
 
40
- **Source code:** [github.com/event-catalog/skills](https://github.com/event-catalog/skills)
43
+ Use [npx skills](https://github.com/vercel-labs/skills) to install skills directly into your project:
44
+
45
+ ```bash
46
+ # Install all EventCatalog skills
47
+ npx skills add event-catalog/skills
48
+
49
+ # Install a specific skill
50
+ npx skills add event-catalog/skills --skill catalog-documentation-creator
51
+ ```
52
+
53
+ This copies the skill files into your project's `.claude/skills/` directory where your AI agent can access them.
54
+
55
+ ### Clone and copy
56
+
57
+ Clone the repository and copy the skills you need:
58
+
59
+ ```bash
60
+ git clone https://github.com/event-catalog/skills.git
61
+ cp -r skills/skills/catalog-documentation-creator .claude/skills/
62
+ ```
63
+
64
+ ### Git submodule
65
+
66
+ Add as a submodule for easy updates:
67
+
68
+ ```bash
69
+ git submodule add https://github.com/event-catalog/skills.git .claude/skills/eventcatalog
70
+ ```
71
+
72
+ When new skills are released, pull updates with:
73
+
74
+ ```bash
75
+ git submodule update --remote
76
+ ```
77
+
78
+ ### Fork and customize
79
+
80
+ Fork the repository and tailor skills to your team's conventions:
81
+
82
+ 1. Fork [event-catalog/skills](https://github.com/event-catalog/skills) on GitHub
83
+ 2. Modify skills to match your naming conventions, ownership patterns, and schema formats
84
+ 3. Install from your fork:
85
+
86
+ ```bash
87
+ npx add-skill https://github.com/YOUR_ORG/eventcatalog-skills
88
+ ```
89
+
90
+ This is useful when your team has specific conventions for IDs, owners, or folder structures that differ from the defaults.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "label": "EventCatalog MCP Server",
3
- "position": 5,
3
+ "position": 2,
4
4
  "collapsible": true,
5
5
  "collapsed": true,
6
6
  "link": {
@@ -8,14 +8,10 @@ description: Connect MCP clients to your EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
-
13
- <PlanBanner plan="Scale" />
14
11
 
15
12
  ### Prerequisites
16
13
 
17
14
  1. **SSR mode** - EventCatalog must run in [server mode](/docs/development/deployment/build-ssr-mode#building-your-eventcatalog-ssr) (not static)
18
- 2. **Scale license** - You can get a 30-day free trial at [eventcatalog.cloud](https://eventcatalog.cloud)
19
15
 
20
16
  ### Quick start
21
17
 
@@ -31,6 +27,11 @@ For local development:
31
27
  http://localhost:3000/docs/mcp/
32
28
  ```
33
29
 
30
+ The server accepts URLs with or without a trailing slash (`/docs/mcp` and `/docs/mcp/`).
31
+
32
+ To find your server URLs in EventCatalog, open **Settings > MCP**. It lists the **Catalog MCP Server** and, under **Domain
33
+ MCP Servers**, the MCP server of each domain, each with its full URL to copy.
34
+
34
35
  ### Connect to a domain or system
35
36
 
36
37
  Domain and system pages include a **Connect to MCP server** action when the built-in MCP server is available. Select it to see
@@ -57,14 +58,17 @@ connection action uses the versioned URL instead.
57
58
 
58
59
  You can use a scoped URL anywhere the client examples below use the whole-catalog `/docs/mcp/` URL.
59
60
 
61
+ On a scoped server, tools only return resources in that scope, and an omitted version means the latest version in that domain
62
+ or system.
63
+
60
64
  :::note Scoped tool availability
61
- Scoped servers omit C4, team and user directory, custom documentation, and user-defined extended tools. System-scoped servers
62
- also omit the domain-specific ubiquitous-language tool.
65
+ Scoped servers omit C4, team and user directory, data product, custom documentation, and user-defined extended tools.
66
+ System-scoped servers also omit the domain-specific ubiquitous-language tool. See [Available tools](#available-tools).
63
67
  :::
64
68
 
65
69
  ### Disable the MCP server
66
70
 
67
- The built-in MCP server is enabled by default when EventCatalog is running in server mode with a Scale license. To disable the
71
+ The built-in MCP server is enabled by default when EventCatalog is running in server mode. To disable the
68
72
  whole-catalog endpoint, scoped endpoints, and MCP connection actions, set `mcp.enabled` to `false`:
69
73
 
70
74
  ```js title="eventcatalog.config.js"
@@ -83,7 +87,7 @@ Visit the endpoint in your browser to verify. It returns available tools and res
83
87
  ```json
84
88
  {
85
89
  "name": "EventCatalog MCP Server",
86
- "version": "1.2.0",
90
+ "version": "1.3.0",
87
91
  "status": "running",
88
92
  "tools": ["getResources", "getResource", ...],
89
93
  "resources": ["eventcatalog://all", "eventcatalog://events", ...]
@@ -228,27 +232,78 @@ claude mcp add --transport http <name> <url>
228
232
 
229
233
  ## Available tools
230
234
 
231
- ### 19 built-in tools
232
-
233
- - `getResources` - Get events, services, commands, queries, flows, domains
234
- - `getResource` - Get a specific resource by id and version
235
- - `getMessagesProducedOrConsumedByResource` - Messages a resource sends/receives
236
- - `getSchemaForResource` - Get OpenAPI, AsyncAPI, or other schemas
237
- - `findResourcesByOwner` - Resources owned by a team or user
238
- - `getProducersOfMessage` - Services that produce a message
239
- - `getConsumersOfMessage` - Services that consume a message
240
- - `getC4Diagram` - Get the source for a C4 diagram
241
- - `analyzeChangeImpact` - Impact of changing a message
242
- - `explainBusinessFlow` - Detailed flow information
243
- - `getTeams` / `getTeam` - Query teams
244
- - `getUsers` / `getUser` - Query users
245
- - `findMessageBySchemaId` - Find messages by schema identifiers
246
- - `explainUbiquitousLanguageTerms` - DDD ubiquitous language from domains
247
- - `getCustomDocs` - List and search custom documentation pages
248
- - `searchCustomDocs` - Full-text search custom documentation
249
- - `getCustomDoc` - Get a custom documentation page or section
250
-
251
- [See full API documentation →](/docs/development/ask-your-architecture/mcp-server/getting-started)
235
+ ### 22 built-in tools
236
+
237
+ Every built-in tool is read-only (`readOnlyHint: true`) and has a title, so MCP clients can show readable names and
238
+ auto-approve the tools. Version parameters are optional on every tool: omit them (or pass `latest`) to use the latest
239
+ version. Hidden resources (`hidden: true`) are not listed.
240
+
241
+ The server also sends instructions to clients on how to navigate the catalog, for example to use `showResource` when the user
242
+ wants to see a diagram or schema.
243
+
244
+ | Tool | Title | What it does | Scoped servers |
245
+ |---|---|---|---|
246
+ | `getResources` | List catalog resources | Lists resources in a collection, with pagination (`cursor`) and an optional `search` term | Yes |
247
+ | `getResource` | Get a catalog resource | Returns a resource's frontmatter and markdown as `{ id, version, collection, data, body }` | Yes |
248
+ | `getMessagesProducedOrConsumedByResource` | Get messages a resource sends and receives | Returns the messages a service, agent or domain sends and receives, resolved to their catalog entries. `resourceCollection` defaults to `services` | Yes |
249
+ | `getSchemaForResource` | Get schemas and specifications | Returns the schemas or OpenAPI/AsyncAPI/GraphQL specifications of a resource, for the model to read. `resourceCollection` defaults to `services` | Yes |
250
+ | `showResource` | Show a resource | Shows the user a resource's architecture diagram or schema. See [Interactive diagrams and schemas](#interactive-diagrams-and-schemas) | Yes |
251
+ | `findResourcesByOwner` | Find resources by owner | Finds resources owned by a team or user | Yes |
252
+ | `getProducersOfMessage` | Find producers of a message | Finds the services and agents that send a message. `messageCollection` defaults to `events` | Yes |
253
+ | `getConsumersOfMessage` | Find consumers of a message | Finds the services and agents that receive a message. `messageCollection` defaults to `events` | Yes |
254
+ | `analyzeChangeImpact` | Analyze the impact of changing a message | Returns the affected producers and consumers, their owning teams and the blast radius of a change | Yes |
255
+ | `explainBusinessFlow` | Explain a business flow | Returns a flow's definition, steps and related services and agents | Yes |
256
+ | `findMessageBySchemaId` | Find a message from a schema | Finds a message from the `x-eventcatalog-id` (and optional `x-eventcatalog-version`) in a schema | Yes |
257
+ | `explainUbiquitousLanguageTerms` | Explain ubiquitous language terms | Returns the ubiquitous language terms of a domain and its subdomains | Domain servers only |
258
+ | `getC4Diagram` | Get C4 (LikeC4) diagrams | Returns the source of your C4 (LikeC4) diagrams | No |
259
+ | `getTeams` / `getTeam` | List teams / Get a team | Lists teams, or gets a team with its members | No |
260
+ | `getUsers` / `getUser` | List users / Get a user | Lists users, or gets a user with their role and contact details | No |
261
+ | `getDataProductInputs` | Get data product inputs | Returns the resources a data product consumes | No |
262
+ | `getDataProductOutputs` | Get data product outputs and contracts | Returns the resources a data product produces, with their data contracts | No |
263
+ | `getCustomDocs` | List custom documentation | Lists custom documentation pages, with pagination and an optional `search` term | No |
264
+ | `searchCustomDocs` | Search custom documentation | Full-text search across custom documentation pages | No |
265
+ | `getCustomDoc` | Get a custom documentation page | Returns a custom documentation page, or one `section` of it | No |
266
+
267
+ `showResource`, `getDataProductInputs` and `getDataProductOutputs` were added in EventCatalog 5.0.0.
268
+
269
+ In clients that support MCP Apps, the server also registers `getResourceView`. The viewer uses this app-only tool to load
270
+ diagrams and schemas. The model doesn't call it.
271
+
272
+ ### Interactive diagrams and schemas
273
+
274
+ <AddedIn version="5.0.0" />
275
+
276
+ The `showResource` tool shows the user a resource in EventCatalog's viewer. Ask your agent things like "show me how the Order
277
+ Service works" or "show me the schema for OrderCreated".
278
+
279
+ | Parameter | Required | Description |
280
+ |---|---|---|
281
+ | `view` | Yes | `"architecture"` for an architecture diagram, or `"schema"` for the schema of a message or other resource |
282
+ | `resourceId` | Yes | The id of the resource to show |
283
+ | `resourceVersion` | No | The version to show. Defaults to the latest version |
284
+ | `resourceCollection` | No | The collection of the resource, for example `services`, `domains` or `events`. Defaults to `events` |
285
+ | `detail` | No | For `view: "architecture"` of domains and systems: `"overview"` shows only the domains, systems and their relationships (level 1). `"full"` (default) also shows services, messages and channels |
286
+
287
+ With `view: "architecture"`, the diagram is built the same way as the resource's **Diagram** page in EventCatalog. You can
288
+ show diagrams of domains, systems, services, agents, events, commands, queries, flows, data stores and data products.
289
+
290
+ In MCP clients that support MCP Apps (for example Claude, ChatGPT and VS Code):
291
+
292
+ - **Architecture diagrams** open in the interactive visualiser. You can switch levels, search, open other resources'
293
+ diagrams, and click a node to ask the conversation a question about it.
294
+ - **Schemas** open in the same viewer as the [Schema Explorer](/docs/development/guides/resources/schemas/explore-schemas/schema-explorer):
295
+ a **Schema** tab with the highlighted source, and a **Properties** tab for JSON Schema, Avro and Protobuf that you can
296
+ search and expand. Messages with several schemas can switch between them.
297
+
298
+ Diagrams and schemas share one viewer. Clients such as ChatGPT keep that viewer open and switch it to each diagram or schema
299
+ you ask for. The viewer asks the client to open it full screen.
300
+
301
+ Other MCP clients get the diagram as Mermaid code and the schema as code, which the agent can show you.
302
+
303
+ :::tip Showing schemas vs reading schemas
304
+ Use `showResource` with `view: "schema"` when a person wants to see a schema. `getSchemaForResource` returns the raw schemas
305
+ and specifications for the agent to read, for example to generate code.
306
+ :::
252
307
 
253
308
  ### 17 resources
254
309
 
@@ -303,7 +358,7 @@ For local development and testing, you can use the MCP Server on stdio. This is
303
358
 
304
359
  **Prerequisites:**
305
360
  - EventCatalog configured with the [`LLMS.txt` feature](/docs/development/ask-your-architecture/llms.txt)
306
- - EventCatalog Scale license
361
+ - EventCatalog license key
307
362
  - MCP client installed
308
363
 
309
364
  **Command:**
@@ -321,7 +376,7 @@ Run the MCP Server over HTTP for production deployments.
321
376
 
322
377
  **Prerequisites:**
323
378
  - EventCatalog instance running
324
- - EventCatalog Scale license
379
+ - EventCatalog license key
325
380
  - MCP client installed
326
381
 
327
382
  **Run using npx:**
@@ -344,5 +399,3 @@ See [instructions on the GitHub repository](https://github.com/event-catalog/mcp
344
399
 
345
400
  </details>
346
401
 
347
-
348
-
@@ -9,10 +9,6 @@ description: Connect AI tools to your architecture catalog
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
11
 
12
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
13
-
14
- <PlanBanner plan="Scale" />
15
-
16
12
  EventCatalog exposes a built-in MCP server that lets AI agents and other MCP clients query your architecture catalog. Its
17
13
  built-in tools can find resources, inspect schemas and ownership, follow message producers and consumers, and analyze change
18
14
  impact.
@@ -23,7 +19,21 @@ unrelated parts of the catalog.
23
19
 
24
20
  On a domain or system page, select **Connect to MCP server** to copy the appropriate scoped server URL. EventCatalog uses the
25
21
  unversioned URL for the latest resource version and includes the version when you are viewing historical documentation.
22
+ **Settings > MCP** lists the catalog MCP server and the MCP server of each domain, with full URLs to copy.
23
+
24
+ Every built-in tool is read-only and has a title, so MCP clients can auto-approve them. Versions are optional on every tool
25
+ and default to the latest version.
26
+
27
+ <AddedIn version="5.0.0" />
26
28
 
29
+ The `showResource` tool shows your users architecture diagrams and schemas. In MCP clients that support
30
+ [MCP Apps](/docs/development/ask-your-architecture/mcp-server/getting-started#interactive-diagrams-and-schemas) (for example
31
+ Claude, ChatGPT and VS Code), diagrams open in the interactive visualiser and schemas open in the same viewer as the Schema
32
+ Explorer. Other clients get the diagram as Mermaid and the schema as code.
27
33
 
34
+ ## Canvas tools
28
35
 
36
+ When [EventCatalog Studio](/docs/development/studio/introduction) is on, the MCP server also has tools to create, read and
37
+ edit Studio canvases, so agents can design on a canvas with your team. These tools change your canvases, so they are not
38
+ read-only. See the [MCP tools reference](/docs/development/studio/reference#mcp-tools) for the full list.
29
39
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- sidebar_position: 3
2
+ sidebar_position: 7
3
3
  keywords:
4
4
  - mermaid
5
5
  sidebar_label: schemas.txt
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "label": "Agents",
3
- "position": 6,
3
+ "position": 4,
4
4
  "collapsible": true,
5
5
  "collapsed": true,
6
6
  "link": {
@@ -8,21 +8,15 @@ description: Introduction to EventCatalog Authentication
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  # Authentication Guide
14
13
 
15
- <PlanBanner plan="Scale" />
16
14
  <AddedIn version="2.43.0" />
17
15
 
18
-
19
16
  EventCatalog provides secure authentication to control access to your event-driven architecture documentation. Whether you're a small team getting started or a large enterprise with complex identity requirements, EventCatalog's flexible authentication system grows with your needs.
20
17
 
21
18
  <iframe width="100%" height="455" src="https://www.youtube.com/embed/OVbXNP0Ns_U?si=TagMKL49ZD_G_HYE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
22
19
 
23
-
24
-
25
-
26
20
  ## How it works
27
21
 
28
22
  EventCatalog uses industry-standard **OpenID Connect (OIDC)** and **OAuth 2.0** protocols to integrate with your identity provider. Here's the authentication flow:
@@ -37,19 +31,10 @@ EventCatalog uses industry-standard **OpenID Connect (OIDC)** and **OAuth 2.0**
37
31
 
38
32
  EventCatalog runs in **SSR mode** to handle authentication sessions and uses [Auth.js](https://authjs.dev/) to manage the authentication flow securely.
39
33
 
40
- ## Authentication by Plan
41
-
42
- EventCatalog Authentication is a **paid feature** available in Scale and Enterprise plans.
43
-
44
- #### Scale Plan
45
- Perfect for growing teams that need secure collaboration with popular business providers:
34
+ ## Supported providers
46
35
 
47
36
  - **GitHub** - Ideal for development teams already using GitHub
48
37
  <!-- - **Google** - For teams using Gmail and Google Workspace -->
49
-
50
- #### Enterprise Plan
51
- Designed for large organizations with dedicated identity management systems:
52
-
53
38
  - **Microsoft Azure AD (Entra ID)** - For organizations using Office 365 and Azure
54
39
  - **Auth0** - Developer-friendly identity platform with advanced features
55
40
  - **Okta** - Popular enterprise identity platform with custom claims
@@ -63,16 +48,10 @@ Designed for large organizations with dedicated identity management systems:
63
48
  - ✅ **Centralized management** - Control access through your existing identity systems
64
49
  - ✅ **Team collaboration** - Secure access for distributed teams
65
50
 
66
- ## Getting Started
67
-
68
- Ready to secure your EventCatalog with authentication?
69
-
70
- **New to EventCatalog?** Start your **30-day free trial** at [EventCatalog.cloud](https://eventcatalog.cloud) to explore all authentication features.
71
-
72
51
  ## Next steps
73
52
 
74
53
  Ready to get started? Let's enable authentication in your EventCatalog project:
75
54
 
76
55
  → [Enabling Authentication](/docs/development/authentication/enabling-authentication)
77
56
 
78
- **Questions?** Join our [Discord community](https://discord.gg/eventcatalog) for support and guidance.
57
+ **Questions?** Join our [Discord community](https://eventcatalog.dev/discord) for support and guidance.
@@ -8,11 +8,9 @@ description: Enabling authentication for EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
  import { Card, CardGrid, GitHubIcon, OktaIcon, AzureIcon, GoogleIcon, Auth0Icon, GitLabIcon } from '@site/src/components/MDX/Card';
13
12
 
14
13
  <AddedIn version="2.43.0" />
15
- <PlanBanner plan="Scale" />
16
14
 
17
15
  To enable authentication for your site, you will need to do three things:
18
16
 
@@ -20,18 +18,6 @@ To enable authentication for your site, you will need to do three things:
20
18
  1. [Enable EventCatalog Server Side Rendering (SSR)](#enable-eventcatalog-server-side-rendering-ssr)
21
19
  1. [Create your `eventcatalog.auth.js` file](#create-your-eventcatalogauthjs-file)
22
20
 
23
- :::info Authentication is a paid feature
24
- Authentication is a paid feature, and is available on EventCatalog Scale and Enterprise plans.
25
-
26
- You can get a 30-day free trial of EventCatalog Scale and Enterprise [here](https://www.eventcatalog.dev/pricing).
27
-
28
- You will need to set your license key in your `.env` file.
29
-
30
- ```env title=".env"
31
- EVENTCATALOG_LICENSE_KEY=your-license-key
32
- ```
33
- :::
34
-
35
21
  ### Setup Environment
36
22
 
37
23
  EventCatalog uses [Auth.js](https://authjs.dev/) to handle the authentication flow.
@@ -60,7 +46,6 @@ You do not need to set `AUTH_TRUST_HOST` when deploying to Vercel or Cloudflare
60
46
 
61
47
  To learn more, refer to the [Auth.js deployment documentation](https://authjs.dev/getting-started/deployment#auth_trust_host).
62
48
 
63
-
64
49
  ### Enable EventCatalog Server Side Rendering (SSR)
65
50
 
66
51
  Authentication requires EventCatalog to be SSR enabled. This is because EventCatalog needs to be able to access the user's session to determine if they are authenticated.
@@ -113,19 +98,16 @@ EventCatalog supports a range of authentication providers, and you can find the
113
98
  <Card
114
99
  title="Setting up GitHub"
115
100
  icon={<GitHubIcon />}
116
- badge="Scale"
117
101
  href="/docs/development/authentication/providers/setting-up-github"
118
102
  />
119
103
  <Card
120
104
  title="Setting up Google"
121
105
  icon={<GoogleIcon />}
122
- badge="Scale"
123
106
  href="/docs/development/authentication/providers/setting-up-google"
124
107
  />
125
108
  <Card
126
109
  title="Setting up Azure AD"
127
110
  icon={<AzureIcon />}
128
- badge="Enterprise"
129
111
  href="/docs/development/authentication/providers/setting-up-azure-ad"
130
112
  />
131
113
  <!-- <Card
@@ -138,13 +120,11 @@ EventCatalog supports a range of authentication providers, and you can find the
138
120
  title="Setting up Okta"
139
121
  icon={<OktaIcon />}
140
122
  href="/docs/development/authentication/providers/setting-up-okta"
141
- badge="Enterprise"
142
123
  />
143
124
  <Card
144
125
  title="Setting up Auth0"
145
126
  icon={<Auth0Icon />}
146
127
  href="/docs/development/authentication/providers/setting-up-auth0"
147
- badge="Enterprise"
148
128
  />
149
129
  </CardGrid>
150
130
 
@@ -12,10 +12,8 @@ description: Implementing role-based access control with custom middleware in Ev
12
12
  ---
13
13
 
14
14
  import AddedIn from '@site/src/components/MDX/AddedIn';
15
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
16
15
 
17
16
  <AddedIn version="2.44.0" />
18
- <PlanBanner plan="Enterprise" />
19
17
 
20
18
  # Role-Based Access Control (RBAC) Middleware
21
19
 
@@ -8,10 +8,8 @@ description: Setting up GitHub authentication for EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  <AddedIn version="2.43.0" />
14
- <PlanBanner plan="Scale" />
15
13
 
16
14
  :::info
17
15
  This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you’ve first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication).
@@ -9,10 +9,8 @@ id: setting-up-google
9
9
  ---
10
10
 
11
11
  import AddedIn from '@site/src/components/MDX/AddedIn';
12
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
13
12
 
14
13
  <AddedIn version="2.43.3" />
15
- <PlanBanner plan="Scale" />
16
14
 
17
15
  :::info
18
16
  This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you've first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication).
@@ -8,10 +8,8 @@ description: Setting up Microsoft Entra ID authentication for EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  <AddedIn version="2.43.1" />
14
- <PlanBanner plan="Enterprise" />
15
13
 
16
14
  :::info
17
15
  This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you've first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication).
@@ -8,10 +8,8 @@ description: Setting up Okta authentication for EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  <AddedIn version="2.43.0" />
14
- <PlanBanner plan="Enterprise" />
15
13
 
16
14
  :::info
17
15
  This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you've first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication).
@@ -94,7 +92,6 @@ All pages should now be protected and require an Okta account to access.
94
92
  1. Enter your Okta credentials
95
93
  1. After successful authentication, you'll be redirected back to EventCatalog
96
94
 
97
-
98
95
  ## Found an issue?
99
96
 
100
97
  Remember to setup the prerequisites for this guide:
@@ -8,10 +8,8 @@ description: Setting up Auth0 authentication for EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  <AddedIn version="2.43.1" />
14
- <PlanBanner plan="Enterprise" />
15
13
 
16
14
  :::info
17
15
  This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you've first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication).
@@ -7,10 +7,6 @@ title: Bring your own documentation
7
7
  description: Bring your own documentation to EventCatalog
8
8
  ---
9
9
 
10
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
11
-
12
- <PlanBanner plan="Scale" />
13
-
14
10
  EventCatalog lets you bring your own documentation and diagrams into your catalog.
15
11
 
16
12
  This is useful when your documentation is spread across multiple repositories, project folders, wikis, or internal tools. You can bring that context into EventCatalog and make it part of the same experience people already use to explore your architecture.
@@ -8,10 +8,8 @@ description: Customize documentation in EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
 
13
12
  <AddedIn version="2.33.0" />
14
- <PlanBanner plan="Scale" />
15
13
 
16
14
  <iframe width="100%" height="415" src="https://www.youtube.com/embed/auzmEf0AdJg?si=wHe-3X6b6uLN39sB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
17
15
 
@@ -21,7 +19,6 @@ High level documentation is a way to add catalog-wide custom documentation pages
21
19
 
22
20
  This can be a great way to extend your catalog beyond what is provided, and bring your own documentation to EventCatalog, rather than having documentation spread across multiple tools.
23
21
 
24
-
25
22
  ![Example](./img/custom-docs.png)
26
23
  <a class="block" href="https://demo.eventcatalog.dev/docs/custom/technical-architecture-design/architecture-decision-records/published/01-api-gateway-pattern">View demo</a>
27
24
 
@@ -8,15 +8,9 @@ description: Adding high level documentation to your EventCatalog
8
8
  ---
9
9
 
10
10
  import AddedIn from '@site/src/components/MDX/AddedIn';
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
11
  import ProjectTree from '@site/src/components/MDX/ProjectTree';
13
12
 
14
13
  <AddedIn version="2.33.0" />
15
- <PlanBanner plan="Scale" />
16
-
17
- ## Getting started
18
-
19
- High level documentation requires an EventCatalog Scale license key. You can get a 30-day free trial from [EventCatalog Cloud](https://eventcatalog.cloud).
20
14
 
21
15
  ## Adding high level documentation
22
16
 
@@ -97,7 +91,6 @@ In this example we have high level documentation for:
97
91
  We added numbers (01, 02, 03) to the files to help with maintenance, you can configure the order of the files in your configuration.
98
92
  :::
99
93
 
100
-
101
94
  #### Structure of markdown files for high level documentation
102
95
 
103
96
  Each markdown file is split into two parts:
@@ -194,7 +187,6 @@ export default {
194
187
  };
195
188
  ```
196
189
 
197
-
198
190
  #### Rendered output
199
191
 
200
192
  The rendered output will be the content of the markdown file, with the frontmatter properties.
@@ -234,12 +226,3 @@ export default {
234
226
 
235
227
  ![Example](./img/custom-attrs.png)
236
228
 
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
-
@@ -8,10 +8,6 @@ title: Components
8
8
  description: Component list for custom pages
9
9
  ---
10
10
 
11
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
-
13
- <PlanBanner plan="Scale" />
14
-
15
11
  You can add custom EventCatalog components to your custom pages.
16
12
 
17
13
  [See the list of components and how to use them](/docs/development/components/using-components).
@@ -10,10 +10,8 @@ description: Adding owners to custom pages with EventCatalog.
10
10
  ---
11
11
 
12
12
  import AddedIn from '@site/src/components/MDX/AddedIn';
13
- import PlanBanner from '@site/src/components/MDX/PlanBanner';
14
13
 
15
14
  <AddedIn version="2.33.0" />
16
- <PlanBanner plan="Scale" />
17
15
 
18
16
  Owners in EventCatalog are either **users** or **teams** and are **optional**.
19
17