@eventcatalog/core 3.35.0 → 3.36.1

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 (439) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/{chunk-LUWCWNOR.js → chunk-6D65JSOA.js} +1 -1
  6. package/dist/{chunk-NEWQKEP7.js → chunk-C7JCOHTI.js} +1 -1
  7. package/dist/chunk-D6IBLY3O.js +320 -0
  8. package/dist/{chunk-Y5O6SCX3.js → chunk-HDENGAZL.js} +1 -1
  9. package/dist/{chunk-DFLUDECO.js → chunk-UJ7DX4SA.js} +3 -3
  10. package/dist/{chunk-3KXCGYET.js → chunk-ULZYHF3V.js} +5 -0
  11. package/dist/{chunk-B2LDVIVY.js → chunk-V22QY5Q3.js} +1 -1
  12. package/dist/constants.cjs +1 -1
  13. package/dist/constants.js +1 -1
  14. package/dist/docs/api/01-overview.md +74 -0
  15. package/dist/docs/api/02-config.md +959 -0
  16. package/dist/docs/api/03-domain-api.md +394 -0
  17. package/dist/docs/api/04-service-api.md +368 -0
  18. package/dist/docs/api/05-command-api.md +319 -0
  19. package/dist/docs/api/06-event-api.md +318 -0
  20. package/dist/docs/api/06-query-api.md +316 -0
  21. package/dist/docs/api/08-channel-api.md +317 -0
  22. package/dist/docs/api/08-code-blocks.md +53 -0
  23. package/dist/docs/api/09-flow-api.md +362 -0
  24. package/dist/docs/api/10-entity-api.md +285 -0
  25. package/dist/docs/api/11-data-api.md +268 -0
  26. package/dist/docs/api/12-data-product-api.md +416 -0
  27. package/dist/docs/api/_category_.json +12 -0
  28. package/dist/docs/cli/channels.md +180 -0
  29. package/dist/docs/cli/commands.md +183 -0
  30. package/dist/docs/cli/custom-docs.md +78 -0
  31. package/dist/docs/cli/data-products.md +177 -0
  32. package/dist/docs/cli/data-stores.md +166 -0
  33. package/dist/docs/cli/diagrams.md +147 -0
  34. package/dist/docs/cli/domains.md +280 -0
  35. package/dist/docs/cli/entities.md +138 -0
  36. package/dist/docs/cli/events.md +186 -0
  37. package/dist/docs/cli/export.md +27 -0
  38. package/dist/docs/cli/governance.md +24 -0
  39. package/dist/docs/cli/import.md +26 -0
  40. package/dist/docs/cli/index.md +121 -0
  41. package/dist/docs/cli/messages.md +69 -0
  42. package/dist/docs/cli/queries.md +183 -0
  43. package/dist/docs/cli/services.md +266 -0
  44. package/dist/docs/cli/snapshots.md +44 -0
  45. package/dist/docs/cli/teams.md +75 -0
  46. package/dist/docs/cli/users.md +75 -0
  47. package/dist/docs/cli/utilities.md +43 -0
  48. package/dist/docs/contributing/01-overview.md +186 -0
  49. package/dist/docs/contributing/_category_.json +12 -0
  50. package/dist/docs/development/00-why-eventcatalog.md +87 -0
  51. package/dist/docs/development/01-fundamentals.md +34 -0
  52. package/dist/docs/development/01-getting-started/_category_.json +12 -0
  53. package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
  54. package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
  55. package/dist/docs/development/01-getting-started/installation.md +103 -0
  56. package/dist/docs/development/01-getting-started/project-structure.md +269 -0
  57. package/dist/docs/development/_category_.json +12 -0
  58. package/dist/docs/development/_getting-started.mdx +15 -0
  59. package/dist/docs/development/agent-resources/_category_.json +6 -0
  60. package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
  61. package/dist/docs/development/agent-resources/llms-full.md +17 -0
  62. package/dist/docs/development/agent-resources/llms.md +17 -0
  63. package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
  64. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
  65. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
  66. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
  67. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
  68. package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
  69. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
  70. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
  71. package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
  72. package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
  73. package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
  74. package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
  75. package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
  76. package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
  77. package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
  78. package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
  79. package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
  80. package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
  81. package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
  82. package/dist/docs/development/authentication/01-introduction.md +78 -0
  83. package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
  84. package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
  85. package/dist/docs/development/authentication/_category_.json +11 -0
  86. package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
  87. package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
  88. package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
  89. package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
  90. package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
  91. package/dist/docs/development/authentication/providers/_category_.json +11 -0
  92. package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
  93. package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
  94. package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
  95. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
  96. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
  97. package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
  98. package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
  99. package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
  100. package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
  101. package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
  102. package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
  103. package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
  104. package/dist/docs/development/components/04-snippets.md +134 -0
  105. package/dist/docs/development/components/05-using-components.md +67 -0
  106. package/dist/docs/development/components/07-resource-references.md +136 -0
  107. package/dist/docs/development/components/_category_.json +12 -0
  108. package/dist/docs/development/components/components/01-accordian.md +41 -0
  109. package/dist/docs/development/components/components/02-accordian-group.md +57 -0
  110. package/dist/docs/development/components/components/03-admonitions.md +43 -0
  111. package/dist/docs/development/components/components/04-attachments.md +56 -0
  112. package/dist/docs/development/components/components/05-channel-information.md +29 -0
  113. package/dist/docs/development/components/components/06-design.md +66 -0
  114. package/dist/docs/development/components/components/07-entitymap.md +71 -0
  115. package/dist/docs/development/components/components/08-flow.md +46 -0
  116. package/dist/docs/development/components/components/09-link.md +32 -0
  117. package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
  118. package/dist/docs/development/components/components/11-message-table.md +43 -0
  119. package/dist/docs/development/components/components/12-nodegraph.md +167 -0
  120. package/dist/docs/development/components/components/13-openapi.md +55 -0
  121. package/dist/docs/development/components/components/14-prompt.md +69 -0
  122. package/dist/docs/development/components/components/15-remote-schema.md +174 -0
  123. package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
  124. package/dist/docs/development/components/components/17-resource-link.md +57 -0
  125. package/dist/docs/development/components/components/18-schema.md +44 -0
  126. package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
  127. package/dist/docs/development/components/components/20-steps.md +83 -0
  128. package/dist/docs/development/components/components/21-tabs.md +55 -0
  129. package/dist/docs/development/components/components/22-tiles.md +53 -0
  130. package/dist/docs/development/components/components/23-visibility.md +61 -0
  131. package/dist/docs/development/components/components/_category_.json +12 -0
  132. package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
  133. package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
  134. package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
  135. package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
  136. package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
  137. package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
  138. package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
  139. package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
  140. package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
  141. package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
  142. package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
  143. package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
  144. package/dist/docs/development/customization/02-themes.md +429 -0
  145. package/dist/docs/development/customization/03-search.md +79 -0
  146. package/dist/docs/development/customization/06-customize-tables.md +194 -0
  147. package/dist/docs/development/customization/_category_.json +12 -0
  148. package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
  149. package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
  150. package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
  151. package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
  152. package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
  153. package/dist/docs/development/customization/custom-components/_category_.json +11 -0
  154. package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
  155. package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
  156. package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
  157. package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
  158. package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
  159. package/dist/docs/development/deployment/_category_.json +12 -0
  160. package/dist/docs/development/deployment/build-and-deploy.md +71 -0
  161. package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
  162. package/dist/docs/development/deployment/deployment-workflows.md +43 -0
  163. package/dist/docs/development/deployment/hosting-options.md +112 -0
  164. package/dist/docs/development/deployment/licenses.md +50 -0
  165. package/dist/docs/development/design/_category_.json +12 -0
  166. package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
  167. package/dist/docs/development/design/further-reading.md +19 -0
  168. package/dist/docs/development/design/import-resources.md +27 -0
  169. package/dist/docs/development/design/intro.md +22 -0
  170. package/dist/docs/development/developer-tools/_category_.json +12 -0
  171. package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
  172. package/dist/docs/development/developer-tools/github-action.md +147 -0
  173. package/dist/docs/development/developer-tools/llms.txt.md +55 -0
  174. package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
  175. package/dist/docs/development/governance/_category_.json +6 -0
  176. package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
  177. package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
  178. package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
  179. package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
  180. package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
  181. package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
  182. package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
  183. package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
  184. package/dist/docs/development/guides/99-adding-analytics.md +138 -0
  185. package/dist/docs/development/guides/_category_.json +11 -0
  186. package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
  187. package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
  188. package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
  189. package/dist/docs/development/guides/changelogs/_category_.json +11 -0
  190. package/dist/docs/development/guides/channels/01-introduction.md +111 -0
  191. package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
  192. package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
  193. package/dist/docs/development/guides/channels/09-configuration +39 -0
  194. package/dist/docs/development/guides/channels/_category_.json +11 -0
  195. package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
  196. package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
  197. package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
  198. package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
  199. package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
  200. package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
  201. package/dist/docs/development/guides/data/01-introduction.md +34 -0
  202. package/dist/docs/development/guides/data/02-adding-data.md +86 -0
  203. package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
  204. package/dist/docs/development/guides/data/_category_.json +11 -0
  205. package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
  206. package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
  207. package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
  208. package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
  209. package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
  210. package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
  211. package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
  212. package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
  213. package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
  214. package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
  215. package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
  216. package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
  217. package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
  218. package/dist/docs/development/guides/data-products/_category_.json +11 -0
  219. package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
  220. package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
  221. package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
  222. package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
  223. package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
  224. package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
  225. package/dist/docs/development/guides/diagrams/_category_.json +10 -0
  226. package/dist/docs/development/guides/domains/01-introduction.md +22 -0
  227. package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
  228. package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
  229. package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
  230. package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
  231. package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
  232. package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
  233. package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
  234. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
  235. package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
  236. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
  237. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
  238. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
  239. package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
  240. package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
  241. package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
  242. package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
  243. package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
  244. package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
  245. package/dist/docs/development/guides/domains/_category_.json +11 -0
  246. package/dist/docs/development/guides/flows/01-introduction.md +36 -0
  247. package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
  248. package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
  249. package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
  250. package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
  251. package/dist/docs/development/guides/flows/06-versioning.md +27 -0
  252. package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
  253. package/dist/docs/development/guides/flows/_category_.json +11 -0
  254. package/dist/docs/development/guides/messages/01-overview.md +57 -0
  255. package/dist/docs/development/guides/messages/_category_.json +11 -0
  256. package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
  257. package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
  258. package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
  259. package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
  260. package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
  261. package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
  262. package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
  263. package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
  264. package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
  265. package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
  266. package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
  267. package/dist/docs/development/guides/messages/common/07-components.md +12 -0
  268. package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
  269. package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
  270. package/dist/docs/development/guides/messages/common/_category_.json +11 -0
  271. package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
  272. package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
  273. package/dist/docs/development/guides/messages/events/_category_.json +11 -0
  274. package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
  275. package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
  276. package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
  277. package/dist/docs/development/guides/owners/_category_.json +11 -0
  278. package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
  279. package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
  280. package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
  281. package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
  282. package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
  283. package/dist/docs/development/guides/owners/users/_category_.json +11 -0
  284. package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
  285. package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
  286. package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
  287. package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
  288. package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
  289. package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
  290. package/dist/docs/development/guides/schemas/_category_.json +11 -0
  291. package/dist/docs/development/guides/services/01-introduction.md +33 -0
  292. package/dist/docs/development/guides/services/02-adding-services.md +113 -0
  293. package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
  294. package/dist/docs/development/guides/services/_category_.json +11 -0
  295. package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
  296. package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
  297. package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
  298. package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
  299. package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
  300. package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
  301. package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
  302. package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
  303. package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
  304. package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
  305. package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
  306. package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
  307. package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
  308. package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
  309. package/dist/docs/development/upgrading/_category_.json +12 -0
  310. package/dist/docs/development/upgrading/upgrading.md +142 -0
  311. package/dist/docs/development/upgrading/v2.md +69 -0
  312. package/dist/docs/development/upgrading/v3.md +277 -0
  313. package/dist/docs/miro/_category_.json +12 -0
  314. package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
  315. package/dist/docs/miro/contributing/_category_.json +11 -0
  316. package/dist/docs/miro/getting-started/01-overview.md +63 -0
  317. package/dist/docs/miro/getting-started/02-installation.md +37 -0
  318. package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
  319. package/dist/docs/miro/getting-started/_category_.json +11 -0
  320. package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
  321. package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
  322. package/dist/docs/miro/guides/03-editing-resources.md +50 -0
  323. package/dist/docs/miro/guides/04-connected-resources.md +54 -0
  324. package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
  325. package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
  326. package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
  327. package/dist/docs/miro/guides/_category_.json +11 -0
  328. package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
  329. package/dist/docs/miro/specifications/02-openapi.md +86 -0
  330. package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
  331. package/dist/docs/miro/specifications/_category_.json +11 -0
  332. package/dist/docs/miro/using-ai/01-overview.md +105 -0
  333. package/dist/docs/miro/using-ai/_category_.json +11 -0
  334. package/dist/docs/plugins/01-intro.md +49 -0
  335. package/dist/docs/plugins/02-generators.md +76 -0
  336. package/dist/docs/plugins/03-all-plugins.md +26 -0
  337. package/dist/docs/plugins/_category_.json +12 -0
  338. package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
  339. package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
  340. package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
  341. package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
  342. package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
  343. package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
  344. package/dist/docs/plugins/apicurio/00-intro.md +102 -0
  345. package/dist/docs/plugins/apicurio/01-installation.md +165 -0
  346. package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
  347. package/dist/docs/plugins/apicurio/03-features.md +221 -0
  348. package/dist/docs/plugins/apicurio/04-examples.md +20 -0
  349. package/dist/docs/plugins/apicurio/_category_.json +12 -0
  350. package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
  351. package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
  352. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
  353. package/dist/docs/plugins/asyncapi/03-features.md +698 -0
  354. package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
  355. package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
  356. package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
  357. package/dist/docs/plugins/asyncapi/_category_.json +12 -0
  358. package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
  359. package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
  360. package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
  361. package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
  362. package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
  363. package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
  364. package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
  365. package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
  366. package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
  367. package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
  368. package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
  369. package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
  370. package/dist/docs/plugins/backstage/00-intro.md +67 -0
  371. package/dist/docs/plugins/backstage/01-installation.md +250 -0
  372. package/dist/docs/plugins/backstage/02-api.md +51 -0
  373. package/dist/docs/plugins/backstage/03-examples.md +12 -0
  374. package/dist/docs/plugins/backstage/_category_.json +11 -0
  375. package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
  376. package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
  377. package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
  378. package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
  379. package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
  380. package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
  381. package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
  382. package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
  383. package/dist/docs/plugins/eventbridge/01-features.md +225 -0
  384. package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
  385. package/dist/docs/plugins/eventbridge/03-api.md +441 -0
  386. package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
  387. package/dist/docs/plugins/eventbridge/_category_.json +11 -0
  388. package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
  389. package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
  390. package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
  391. package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
  392. package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
  393. package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
  394. package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
  395. package/dist/docs/plugins/github/00-intro.md +93 -0
  396. package/dist/docs/plugins/github/01-installation.md +293 -0
  397. package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
  398. package/dist/docs/plugins/github/03-features.md +42 -0
  399. package/dist/docs/plugins/github/04-examples.md +17 -0
  400. package/dist/docs/plugins/github/_category_.json +12 -0
  401. package/dist/docs/plugins/graphql/00-intro.md +74 -0
  402. package/dist/docs/plugins/graphql/01-installation.md +144 -0
  403. package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
  404. package/dist/docs/plugins/graphql/03-features.md +197 -0
  405. package/dist/docs/plugins/graphql/04-examples.md +15 -0
  406. package/dist/docs/plugins/graphql/_category_.json +12 -0
  407. package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
  408. package/dist/docs/plugins/hookdeck/02-api.md +133 -0
  409. package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
  410. package/dist/docs/plugins/hookdeck/_category_.json +11 -0
  411. package/dist/docs/plugins/openapi/00-intro.md +78 -0
  412. package/dist/docs/plugins/openapi/01-installation.md +148 -0
  413. package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
  414. package/dist/docs/plugins/openapi/03-features.md +790 -0
  415. package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
  416. package/dist/docs/plugins/openapi/04-examples.md +23 -0
  417. package/dist/docs/plugins/openapi/_category_.json +12 -0
  418. package/dist/eventcatalog.cjs +434 -35
  419. package/dist/eventcatalog.config.d.cts +8 -0
  420. package/dist/eventcatalog.config.d.ts +8 -0
  421. package/dist/eventcatalog.js +87 -10
  422. package/dist/features.cjs +6 -0
  423. package/dist/features.d.cts +2 -1
  424. package/dist/features.d.ts +2 -1
  425. package/dist/features.js +3 -1
  426. package/dist/generate.cjs +1 -1
  427. package/dist/generate.js +3 -3
  428. package/dist/search-indexer.cjs +356 -0
  429. package/dist/search-indexer.d.cts +30 -0
  430. package/dist/search-indexer.d.ts +30 -0
  431. package/dist/search-indexer.js +10 -0
  432. package/dist/utils/cli-logger.cjs +1 -1
  433. package/dist/utils/cli-logger.js +2 -2
  434. package/eventcatalog/astro.config.mjs +28 -32
  435. package/eventcatalog/src/components/Search/SearchModal.tsx +248 -148
  436. package/eventcatalog/src/components/Search/search-utils.spec.ts +138 -1
  437. package/eventcatalog/src/components/Search/search-utils.ts +271 -0
  438. package/eventcatalog/src/env.d.ts +1 -0
  439. package/package.json +4 -3
@@ -0,0 +1,27 @@
1
+ ---
2
+ sidebar_position: 3
3
+ keywords:
4
+ - design
5
+ - studio
6
+ - resources
7
+ sidebar_label: Import Resources into Studio
8
+ title: Import Resources into Studio
9
+ description: Import Resources into Studio with EventCatalog
10
+ unlisted: true
11
+ ---
12
+
13
+ To import your resources into EventCatalog Studio, click on the **EventCatalog Studio** button in the navigation bar, then click on the **Open EventCatalog Studio** button.
14
+
15
+ ![Import Resources](./img/studio.png)
16
+
17
+ Then click on **Copy resources to clipboard** to copy your architecture primitives to the clipboard, then click on **Open EventCatalog Studio** to open the drag and drop editor.
18
+
19
+ <img src="/img/studio-copy.png" alt="Copy Resources" />
20
+
21
+ Then you can paste your resources into the drag and drop editor, and click **Import resources** to import your resources into the drag and drop editor.
22
+
23
+ ![Import Resources](./img/paste.png)
24
+
25
+ Once you have imported your resources, you can start to use them to create new designs or workflows for your architecture.
26
+
27
+ ![Import Resources](./img/example.png)
@@ -0,0 +1,22 @@
1
+ ---
2
+ sidebar_position: 2
3
+ keywords:
4
+ - components
5
+ sidebar_label: Documentation to Design
6
+ title: Documentation to Design
7
+ description: Documentation to Design with EventCatalog
8
+ unlisted: true
9
+ ---
10
+
11
+ When you document your architecture with EventCatalog, you can use your architecture primitives (your domains, services, messages, channels, schemas, etc) to create designs of business workflows, and explore new ideas with your teams using our drag and drop editor [(EventCatalog Studio)](http://eventcatalog.studio/).
12
+
13
+ This can be useful if you want to share new ideas with your teams, or document end to end business workflows in your organization using a drag and drop interface.
14
+ This means your developers, architects and business stakeholders can all work together to create workflows or designs together and embed them back into your documentation.
15
+
16
+ ![Design workflows](/img/studio-app-2.png)
17
+
18
+ ### How EventCatalog Studio works
19
+
20
+ EventCatalog Studio is a drag and drop editor that lets you create designs (.ecstudio files) with your architecture primitives.
21
+
22
+ You can embed these designs back into your documentation using the [`<Design />` component](/docs/development/components/components/design).
@@ -0,0 +1,12 @@
1
+ {
2
+ "label": "Developer tools",
3
+ "position": 11,
4
+ "collapsible": false,
5
+ "collapsed": false,
6
+ "link": {
7
+ "type": "generated-index",
8
+ "slug": "developer-tools",
9
+ "title": "Developer tools",
10
+ "description": "Developer tools for EventCatalog."
11
+ }
12
+ }
@@ -0,0 +1,597 @@
1
+ ---
2
+ sidebar_position: 1
3
+ keywords:
4
+ - EventCatalog linter
5
+ - schema validation
6
+ - reference validation
7
+ - CI/CD
8
+ - quality assurance
9
+ sidebar_label: EventCatalog Linter
10
+ title: EventCatalog Linter
11
+ description: Validate your EventCatalog frontmatter schemas and resource references with the comprehensive EventCatalog Linter
12
+ ---
13
+
14
+ import AddedIn from '@site/src/components/MDX/AddedIn';
15
+ import Tabs from '@theme/Tabs';
16
+ import TabItem from '@theme/TabItem';
17
+
18
+ A comprehensive linter for EventCatalog that validates frontmatter schemas and resource references to ensure your architecture documentation is correct and consistent.
19
+
20
+ The EventCatalog Linter helps you catch issues early in your development process, ensuring your documentation maintains high quality and accuracy across all your EventCatalog resources.
21
+
22
+ ## Use cases
23
+
24
+ - **Quality Assurance**: Ensure your documentation is correct and consistent
25
+ - **CI/CD**: Integrate the linter into your CI/CD pipeline to catch issues early
26
+ - **Documentation**: Run the linter regularly as part of your development workflow
27
+ - **Version Consistency**: Use consistent version patterns across your EventCatalog resources
28
+
29
+ ## Features
30
+
31
+ - **📋 Schema Validation**: Validates all resource frontmatter against defined schemas using Zod
32
+ - **🔗 Reference Validation**: Ensures all referenced resources (services, events, domains, etc.) actually exist
33
+ - **📦 Semver Version Support**: Supports semantic versions, ranges (`^1.0.0`, `~1.2.0`), x-patterns (`0.0.x`), and `latest`
34
+ - **⚙️ Configurable Rules**: Optional `.eventcatalogrc.js` config file for customizing rule severity and behavior
35
+ - **🚫 Ignore Patterns**: Skip validation for specific file patterns (archived, drafts, etc.)
36
+ - **🎯 Rule Overrides**: Apply different rules to different file patterns for flexible team workflows
37
+ - **🎯 Comprehensive Coverage**: Supports all EventCatalog resource types
38
+ - **⚡ Fast Performance**: Efficiently scans large catalogs
39
+ - **🎨 ESLint-Inspired Output**: Clean, file-grouped error reporting with severity levels
40
+ - **⚠️ Warnings Support**: Distinguish between errors and warnings with `--fail-on-warning` option
41
+
42
+ ### Supported Resource Types
43
+
44
+ The linter validates all EventCatalog resource types:
45
+
46
+ - 🏢 **Domains** (including subdomains)
47
+ - ⚙️ **Services**
48
+ - 📨 **Events**
49
+ - 📤 **Commands**
50
+ - ❓ **Queries**
51
+ - 📡 **Channels**
52
+ - 🔄 **Flows**
53
+ - 📊 **Entities**
54
+ - 👤 **Users**
55
+ - 👥 **Teams**
56
+
57
+ ## Quick Start
58
+
59
+ Get started with the EventCatalog Linter in three simple steps:
60
+
61
+ ### 1. Run the Linter
62
+
63
+ Start linting your EventCatalog immediately with npx:
64
+
65
+ ```bash
66
+ npx @eventcatalog/linter
67
+ ```
68
+
69
+ ### 2. Configure Rules (Optional)
70
+
71
+ Create a `.eventcatalogrc.js` file in your EventCatalog root to customize validation:
72
+
73
+ ```javascript
74
+ module.exports = {
75
+ rules: {
76
+ 'best-practices/summary-required': 'warn',
77
+ 'refs/owner-exists': 'error'
78
+ },
79
+ ignorePatterns: ['**/drafts/**']
80
+ };
81
+ ```
82
+
83
+ ### 3. Integrate with CI/CD
84
+
85
+ Add to your CI/CD pipeline for automated validation:
86
+
87
+ ```yaml
88
+ # GitHub Actions
89
+ - run: npx @eventcatalog/linter --fail-on-warning
90
+ ```
91
+
92
+ ## Installation
93
+
94
+ ### Use with npx (Recommended)
95
+
96
+ <Tabs>
97
+ <TabItem value="npm">
98
+ ```bash
99
+ npx @eventcatalog/linter
100
+ ```
101
+ </TabItem>
102
+ <TabItem value="pnpm">
103
+ ```bash
104
+ pnpm dlx @eventcatalog/linter
105
+ ```
106
+ </TabItem>
107
+ </Tabs>
108
+
109
+ ### Global Installation
110
+
111
+ <Tabs>
112
+ <TabItem value="npm">
113
+ ```bash
114
+ npm install -g @eventcatalog/linter
115
+ ```
116
+ </TabItem>
117
+ <TabItem value="pnpm">
118
+ ```bash
119
+ pnpm install -g @eventcatalog/linter
120
+ ```
121
+ </TabItem>
122
+ </Tabs>
123
+
124
+ ### Add to your project
125
+
126
+ <Tabs>
127
+ <TabItem value="npm">
128
+ ```bash
129
+ npm install --save-dev @eventcatalog/linter
130
+ ```
131
+ </TabItem>
132
+ <TabItem value="pnpm">
133
+ ```bash
134
+ pnpm install --save-dev @eventcatalog/linter
135
+ ```
136
+ </TabItem>
137
+ </Tabs>
138
+
139
+ ## Usage
140
+
141
+ ### Basic Usage
142
+
143
+ Run the linter in your EventCatalog directory:
144
+
145
+ ```js
146
+ // Lint current directory
147
+ eventcatalog-linter
148
+
149
+ // Lint specific directory
150
+ eventcatalog-linter ./my-eventcatalog
151
+
152
+ // Verbose output with detailed information
153
+ eventcatalog-linter --verbose
154
+
155
+ // Show help
156
+ eventcatalog-linter --help
157
+ ```
158
+
159
+ ### CLI Options
160
+
161
+ ```
162
+ Usage: eventcatalog-linter [options] [directory]
163
+
164
+ Arguments:
165
+ directory EventCatalog directory to lint (default: ".")
166
+
167
+ Options:
168
+ -V, --version output the version number
169
+ -v, --verbose Show verbose output (default: false)
170
+ --fail-on-warning Exit with non-zero code on warnings (default: false)
171
+ -h, --help display help for command
172
+ ```
173
+
174
+ ## Configuration
175
+
176
+ The EventCatalog Linter supports optional configuration through a `.eventcatalogrc.js` file in your catalog root directory. This allows you to:
177
+
178
+ - Turn rules on/off
179
+ - Configure rule severity levels (error, warn, off)
180
+ - Ignore specific file patterns
181
+ - Override rules for specific file patterns
182
+
183
+ ### Quick Start with Configuration
184
+
185
+ Create a `.eventcatalogrc.js` file in your EventCatalog root directory:
186
+
187
+ ```javascript
188
+ // .eventcatalogrc.js
189
+ module.exports = {
190
+ rules: {
191
+ // Schema validation rules
192
+ 'schema/required-fields': 'error',
193
+ 'schema/valid-semver': 'error',
194
+ 'schema/valid-email': 'warn',
195
+
196
+ // Reference validation rules
197
+ 'refs/owner-exists': 'error',
198
+ 'refs/valid-version-range': 'error',
199
+
200
+ // Best practice rules
201
+ 'best-practices/summary-required': 'warn',
202
+ 'best-practices/owner-required': 'error',
203
+ },
204
+
205
+ // Ignore certain paths
206
+ ignorePatterns: ['**/archived/**', '**/drafts/**'],
207
+
208
+ // Override rules for specific file patterns
209
+ overrides: [
210
+ {
211
+ files: ['**/experimental/**'],
212
+ rules: {
213
+ 'best-practices/owner-required': 'off'
214
+ }
215
+ }
216
+ ]
217
+ };
218
+ ```
219
+
220
+ ### Rule Severity Levels
221
+
222
+ - **`'error'`** - Causes the linter to exit with error code 1
223
+ - **`'warn'`** - Shows warnings but allows the linter to pass (unless `--fail-on-warning` is used)
224
+ - **`'off'`** - Disables the rule completely
225
+
226
+ ### Available Rules
227
+
228
+ | Rule Name | Description | Accepted Values | Default |
229
+ |-----------|-------------|-----------------|----------|
230
+ | **Schema Validation Rules** |
231
+ | `schema/required-fields` | Validates that required fields are present in frontmatter | `error`, `warn`, `off` | `error` |
232
+ | `schema/valid-type` | Validates that field types are correct (strings, arrays, objects) | `error`, `warn`, `off` | `error` |
233
+ | `schema/valid-semver` | Validates semantic version format (1.0.0, 2.1.3-beta) | `error`, `warn`, `off` | `error` |
234
+ | `schema/valid-email` | Validates email address format in user frontmatter | `error`, `warn`, `off` | `error` |
235
+ | `schema/validation-error` | General schema validation errors | `error`, `warn`, `off` | `error` |
236
+ | **Reference Validation Rules** |
237
+ | `refs/owner-exists` | Ensures referenced owners (users/teams) exist | `error`, `warn`, `off` | `error` |
238
+ | `refs/valid-version-range` | Validates version references and patterns | `error`, `warn`, `off` | `error` |
239
+ | `refs/resource-exists` | Ensures referenced resources exist (always enabled for critical resources) | Always enabled | Always enabled |
240
+ | **Best Practice Rules** |
241
+ | `best-practices/summary-required` | Requires summary field for better documentation | `error`, `warn`, `off` | `error` |
242
+ | `best-practices/owner-required` | Requires at least one owner for accountability | `error`, `warn`, `off` | `error` |
243
+
244
+ :::info Core Resource Validation
245
+ Core resource reference validation (services, domains, entities) is always enabled and cannot be disabled, ensuring referential integrity of your EventCatalog.
246
+ :::
247
+
248
+ ### Configuration Examples
249
+
250
+ #### Relaxed Configuration for Development
251
+
252
+ ```javascript
253
+ module.exports = {
254
+ rules: {
255
+ 'best-practices/summary-required': 'warn',
256
+ 'best-practices/owner-required': 'warn',
257
+ 'refs/owner-exists': 'warn',
258
+ },
259
+ ignorePatterns: ['**/drafts/**', '**/experimental/**']
260
+ };
261
+ ```
262
+
263
+ #### Strict Configuration for Production
264
+
265
+ ```javascript
266
+ module.exports = {
267
+ rules: {
268
+ 'schema/required-fields': 'error',
269
+ 'refs/owner-exists': 'error',
270
+ 'best-practices/summary-required': 'error',
271
+ 'best-practices/owner-required': 'error',
272
+ }
273
+ };
274
+ ```
275
+
276
+ #### Team-Specific Overrides
277
+
278
+ ```javascript
279
+ module.exports = {
280
+ rules: {
281
+ 'best-practices/owner-required': 'error',
282
+ 'best-practices/summary-required': 'error',
283
+ },
284
+ overrides: [
285
+ {
286
+ files: ['**/legacy/**'],
287
+ rules: {
288
+ 'best-practices/owner-required': 'warn',
289
+ 'best-practices/summary-required': 'off'
290
+ }
291
+ },
292
+ {
293
+ files: ['**/critical/**'],
294
+ rules: {
295
+ 'best-practices/summary-required': 'error',
296
+ 'refs/owner-exists': 'error'
297
+ }
298
+ }
299
+ ]
300
+ };
301
+ ```
302
+
303
+ ### Using with CI/CD
304
+
305
+ The configuration file allows you to have different validation rules for different environments:
306
+
307
+ ```bash
308
+ # Development - warnings allowed
309
+ npx @eventcatalog/linter
310
+
311
+ # Production - fail on warnings
312
+ npx @eventcatalog/linter --fail-on-warning
313
+ ```
314
+
315
+ ### Default Behavior
316
+
317
+ If no `.eventcatalogrc.js` file is found, the linter uses default rules where all validations are set to `'error'`. This ensures strict validation out of the box, making it easy to get started with quality documentation practices.
318
+
319
+ ### Package.json Integration
320
+
321
+ Add to your `package.json` scripts:
322
+
323
+ ```json
324
+ {
325
+ "scripts": {
326
+ "lint:eventcatalog": "eventcatalog-linter",
327
+ "lint:eventcatalog:verbose": "eventcatalog-linter --verbose"
328
+ }
329
+ }
330
+ ```
331
+
332
+ ## What It Validates
333
+
334
+ ### Frontmatter Schema Validation
335
+
336
+ - ✅ Required fields are present (`id`, `name`, `version`)
337
+ - ✅ Field types are correct (strings, arrays, objects)
338
+ - ✅ Semantic versions follow proper format (`1.0.0`, `2.1.3-beta`)
339
+ - ✅ Version patterns supported (`latest`, `^1.0.0`, `~1.2.0`, `0.0.x`)
340
+ - ✅ URLs are valid format
341
+ - ✅ Email addresses are valid format
342
+ - ✅ Enum values are from allowed lists
343
+ - ✅ Nested object structures are correct
344
+
345
+ ### Reference Validation
346
+
347
+ - ✅ Services referenced in domains exist
348
+ - ✅ Events/Commands/Queries referenced in services exist
349
+ - ✅ Entities referenced in domains/services exist
350
+ - ✅ Users/Teams referenced as owners exist
351
+ - ✅ Flow steps reference existing services/messages
352
+ - ✅ Entity properties reference existing entities
353
+ - ✅ Version-specific references are valid
354
+
355
+ ## Example Output
356
+
357
+ ### ✅ Success Output
358
+
359
+ ```bash
360
+ $ eventcatalog-linter
361
+
362
+ ✔ No problems found!
363
+
364
+ 42 files checked
365
+ ```
366
+
367
+ ### ❌ Error Output
368
+
369
+ ```bash
370
+ $ eventcatalog-linter
371
+
372
+ services/user-service/index.mdx
373
+ ✖ error version: Invalid semantic version format [version] (schema/valid-semver)
374
+ ⚠ warning Summary is required for better documentation [summary] (best-practices/summary-required)
375
+
376
+ ✖ 2 problems
377
+
378
+ domains/sales/index.mdx
379
+ ✖ error Referenced service "order-service" does not exist [services] (refs/resource-exists)
380
+
381
+ ✖ 1 problem
382
+
383
+ flows/user-registration/index.mdx
384
+ ✖ error Referenced service "notification-service" (version: 2.0.0) does not exist [steps[1].service] (refs/valid-version-range)
385
+
386
+ ✖ 1 problem
387
+
388
+ ✖ 4 problems (3 errors, 1 warning)
389
+ 3 files checked
390
+ ```
391
+
392
+ ## Version Pattern Support
393
+
394
+ The linter supports flexible version patterns for resource references:
395
+
396
+ ### Exact Versions
397
+
398
+ ```yaml
399
+ sends:
400
+ - id: user-created
401
+ version: 1.0.0 # Exact semantic version
402
+ ```
403
+
404
+ ### Latest Version
405
+
406
+ ```yaml
407
+ sends:
408
+ - id: user-created
409
+ version: latest # Always use the latest available version
410
+ ```
411
+
412
+ ### Semver Ranges
413
+
414
+ ```yaml
415
+ sends:
416
+ - id: user-created
417
+ version: ^1.0.0 # Compatible with 1.x.x (1.0.0, 1.2.3, but not 2.0.0)
418
+ - id: user-updated
419
+ version: ~1.2.0 # Compatible with 1.2.x (1.2.0, 1.2.5, but not 1.3.0)
420
+ ```
421
+
422
+ ### X-Pattern Matching
423
+
424
+ ```yaml
425
+ sends:
426
+ - id: user-created
427
+ version: 0.0.x # Matches 0.0.1, 0.0.5, 0.0.12, etc.
428
+ - id: order-placed
429
+ version: 1.x # Matches 1.0.0, 1.5.3, 1.99.0, etc.
430
+ ```
431
+
432
+ ## CI/CD Integration
433
+
434
+ ### GitHub Actions
435
+
436
+ ```yaml
437
+ name: EventCatalog Lint
438
+ on: [push, pull_request]
439
+
440
+ jobs:
441
+ lint:
442
+ runs-on: ubuntu-latest
443
+ steps:
444
+ - uses: actions/checkout@v3
445
+ - uses: actions/setup-node@v3
446
+ with:
447
+ node-version: '18'
448
+ - run: npx @eventcatalog/linter
449
+ ```
450
+
451
+ ### GitLab CI
452
+
453
+ ```yaml
454
+ eventcatalog-lint:
455
+ stage: test
456
+ image: node:18
457
+ script:
458
+ - npx @eventcatalog/linter
459
+ ```
460
+
461
+ ## Rule Names and Error Codes
462
+
463
+ The linter provides descriptive rule names in parentheses to help identify and fix issues quickly. Each error shows the specific rule that was violated:
464
+
465
+ ### Schema Validation Rules
466
+
467
+ - `(schema/required-fields)` - Required field is missing
468
+ - `(schema/valid-type)` - Field has wrong data type
469
+ - `(schema/valid-semver)` - Invalid semantic version format
470
+ - `(schema/valid-email)` - Invalid email address format
471
+ - `(schema/validation-error)` - General schema validation error
472
+
473
+ ### Reference Validation Rules
474
+
475
+ - `(refs/owner-exists)` - Referenced owner (user/team) doesn't exist
476
+ - `(refs/valid-version-range)` - Referenced version doesn't exist or invalid pattern
477
+ - `(refs/resource-exists)` - Referenced resource doesn't exist
478
+
479
+ ### Best Practice Rules
480
+
481
+ - `(best-practices/summary-required)` - Summary field is missing
482
+ - `(best-practices/owner-required)` - At least one owner is required
483
+
484
+ ### Parse Errors
485
+
486
+ - `(@eventcatalog/parse-error)` - YAML/frontmatter parsing error
487
+
488
+ ## Warnings Support
489
+
490
+ The linter distinguishes between errors (critical issues) and warnings (suggestions for improvement):
491
+
492
+ - **Errors**: Critical issues that must be fixed
493
+ - **Warnings**: Suggestions for better documentation
494
+
495
+ Use `--fail-on-warning` to treat warnings as errors in CI/CD pipelines:
496
+
497
+ ```bash
498
+ # Exit with error code if warnings are found
499
+ eventcatalog-linter --fail-on-warning
500
+ ```
501
+
502
+ ## Common Validation Examples
503
+
504
+ ### Valid Frontmatter Examples
505
+
506
+ #### Service
507
+
508
+ ```yaml
509
+ ---
510
+ id: user-service
511
+ name: User Service
512
+ version: 2.1.0
513
+ summary: Manages user accounts and authentication
514
+ owners:
515
+ - platform-team
516
+ - john-doe
517
+ sends:
518
+ - id: user-created
519
+ version: 1.0.0
520
+ - id: user-updated
521
+ receives:
522
+ - id: create-user
523
+ - id: update-user
524
+ entities:
525
+ - id: user
526
+ repository:
527
+ language: TypeScript
528
+ url: https://github.com/company/user-service
529
+ ---
530
+ ```
531
+
532
+ #### Event
533
+
534
+ ```yaml
535
+ ---
536
+ id: user-created
537
+ name: User Created
538
+ version: 1.0.0
539
+ summary: Triggered when a new user account is created
540
+ owners:
541
+ - platform-team
542
+ sidebar:
543
+ badge: POST
544
+ label: User Events
545
+ draft: false
546
+ deprecated: false
547
+ ---
548
+ ```
549
+
550
+ ### Common Validation Errors
551
+
552
+ #### ❌ Missing Required Fields
553
+
554
+ ```yaml
555
+ ---
556
+ # Missing 'id' field
557
+ name: User Service
558
+ version: 1.0.0
559
+ ---
560
+ ```
561
+
562
+ #### ❌ Invalid Semantic Version
563
+
564
+ ```yaml
565
+ ---
566
+ id: user-service
567
+ name: User Service
568
+ version: v1.0 # Should be 1.0.0
569
+ ---
570
+ ```
571
+
572
+ #### ❌ Invalid Reference
573
+
574
+ ```yaml
575
+ ---
576
+ id: sales-domain
577
+ name: Sales Domain
578
+ version: 1.0.0
579
+ services:
580
+ - id: non-existent-service # Service doesn't exist
581
+ ---
582
+ ```
583
+
584
+ ## Best Practices
585
+
586
+ 1. **Start with Configuration**: Create a `.eventcatalogrc.js` file to customize rules for your team's workflow
587
+ 2. **Run in CI/CD**: Integrate the linter into your CI/CD pipeline to catch issues early
588
+ 3. **Use `--fail-on-warning`**: Consider treating warnings as errors in production environments
589
+ 4. **Regular Validation**: Run the linter regularly as part of your development workflow
590
+ 5. **Fix Issues Promptly**: Address validation errors immediately to maintain documentation quality
591
+ 6. **Version Consistency**: Use consistent version patterns across your EventCatalog resources
592
+ 7. **Team Overrides**: Use file pattern overrides for different validation requirements across teams
593
+ 8. **Ignore Patterns**: Use ignore patterns for draft or experimental content that shouldn't be validated yet
594
+
595
+ ## Issues?
596
+
597
+ If you have any issues or feedback, please let us know by opening an issue on [GitHub](https://github.com/event-catalog/eventcatalog/issues) or joining our [Discord server](https://eventcatalog.dev/discord).