@eventcatalog/core 3.34.0 → 3.35.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.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-K5AM6PPU.js → chunk-4SNN54V4.js} +1 -1
- package/dist/{chunk-623CFR4T.js → chunk-B7C4DHFE.js} +1 -1
- package/dist/{chunk-BJWMR3ZH.js → chunk-JEQZWJWP.js} +1 -1
- package/dist/{chunk-PP7EDIPX.js → chunk-R4DR3YAH.js} +1 -1
- package/dist/{chunk-IO6EMN5C.js → chunk-VJ357XOI.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/01-overview.md +74 -0
- package/dist/docs/api/02-config.md +937 -0
- package/dist/docs/api/03-domain-api.md +394 -0
- package/dist/docs/api/04-service-api.md +368 -0
- package/dist/docs/api/05-command-api.md +319 -0
- package/dist/docs/api/06-event-api.md +318 -0
- package/dist/docs/api/06-query-api.md +316 -0
- package/dist/docs/api/08-channel-api.md +317 -0
- package/dist/docs/api/08-code-blocks.md +53 -0
- package/dist/docs/api/09-flow-api.md +362 -0
- package/dist/docs/api/10-entity-api.md +285 -0
- package/dist/docs/api/11-data-api.md +268 -0
- package/dist/docs/api/12-data-product-api.md +416 -0
- package/dist/docs/api/_category_.json +12 -0
- package/dist/docs/cli/channels.md +180 -0
- package/dist/docs/cli/commands.md +183 -0
- package/dist/docs/cli/custom-docs.md +78 -0
- package/dist/docs/cli/data-products.md +177 -0
- package/dist/docs/cli/data-stores.md +166 -0
- package/dist/docs/cli/diagrams.md +147 -0
- package/dist/docs/cli/domains.md +280 -0
- package/dist/docs/cli/entities.md +138 -0
- package/dist/docs/cli/events.md +186 -0
- package/dist/docs/cli/export.md +27 -0
- package/dist/docs/cli/governance.md +24 -0
- package/dist/docs/cli/import.md +26 -0
- package/dist/docs/cli/index.md +121 -0
- package/dist/docs/cli/messages.md +69 -0
- package/dist/docs/cli/queries.md +183 -0
- package/dist/docs/cli/services.md +266 -0
- package/dist/docs/cli/snapshots.md +44 -0
- package/dist/docs/cli/teams.md +75 -0
- package/dist/docs/cli/users.md +75 -0
- package/dist/docs/cli/utilities.md +43 -0
- package/dist/docs/contributing/01-overview.md +186 -0
- package/dist/docs/contributing/_category_.json +12 -0
- package/dist/docs/development/00-why-eventcatalog.md +87 -0
- package/dist/docs/development/01-fundamentals.md +34 -0
- package/dist/docs/development/01-getting-started/_category_.json +12 -0
- package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
- package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
- package/dist/docs/development/01-getting-started/installation.md +103 -0
- package/dist/docs/development/01-getting-started/project-structure.md +269 -0
- package/dist/docs/development/_category_.json +12 -0
- package/dist/docs/development/_getting-started.mdx +15 -0
- package/dist/docs/development/agent-resources/_category_.json +6 -0
- package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
- package/dist/docs/development/agent-resources/llms-full.md +17 -0
- package/dist/docs/development/agent-resources/llms.md +17 -0
- package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
- package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
- package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
- package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
- package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
- package/dist/docs/development/authentication/01-introduction.md +78 -0
- package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
- package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
- package/dist/docs/development/authentication/_category_.json +11 -0
- package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
- package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
- package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
- package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
- package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
- package/dist/docs/development/authentication/providers/_category_.json +11 -0
- package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
- package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
- package/dist/docs/development/components/04-snippets.md +134 -0
- package/dist/docs/development/components/05-using-components.md +67 -0
- package/dist/docs/development/components/07-resource-references.md +136 -0
- package/dist/docs/development/components/_category_.json +12 -0
- package/dist/docs/development/components/components/01-accordian.md +41 -0
- package/dist/docs/development/components/components/02-accordian-group.md +57 -0
- package/dist/docs/development/components/components/03-admonitions.md +43 -0
- package/dist/docs/development/components/components/04-attachments.md +56 -0
- package/dist/docs/development/components/components/05-channel-information.md +29 -0
- package/dist/docs/development/components/components/06-design.md +66 -0
- package/dist/docs/development/components/components/07-entitymap.md +71 -0
- package/dist/docs/development/components/components/08-flow.md +46 -0
- package/dist/docs/development/components/components/09-link.md +32 -0
- package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
- package/dist/docs/development/components/components/11-message-table.md +43 -0
- package/dist/docs/development/components/components/12-nodegraph.md +167 -0
- package/dist/docs/development/components/components/13-openapi.md +55 -0
- package/dist/docs/development/components/components/14-prompt.md +69 -0
- package/dist/docs/development/components/components/15-remote-schema.md +174 -0
- package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
- package/dist/docs/development/components/components/17-resource-link.md +57 -0
- package/dist/docs/development/components/components/18-schema.md +44 -0
- package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
- package/dist/docs/development/components/components/20-steps.md +83 -0
- package/dist/docs/development/components/components/21-tabs.md +55 -0
- package/dist/docs/development/components/components/22-tiles.md +53 -0
- package/dist/docs/development/components/components/23-visibility.md +61 -0
- package/dist/docs/development/components/components/_category_.json +12 -0
- package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
- package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
- package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
- package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
- package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
- package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
- package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
- package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
- package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
- package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
- package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
- package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
- package/dist/docs/development/customization/02-themes.md +429 -0
- package/dist/docs/development/customization/06-customize-tables.md +194 -0
- package/dist/docs/development/customization/_category_.json +12 -0
- package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
- package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
- package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
- package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
- package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
- package/dist/docs/development/customization/custom-components/_category_.json +11 -0
- package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
- package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
- package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
- package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
- package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
- package/dist/docs/development/deployment/_category_.json +12 -0
- package/dist/docs/development/deployment/build-and-deploy.md +71 -0
- package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
- package/dist/docs/development/deployment/deployment-workflows.md +43 -0
- package/dist/docs/development/deployment/hosting-options.md +112 -0
- package/dist/docs/development/deployment/licenses.md +50 -0
- package/dist/docs/development/design/_category_.json +12 -0
- package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
- package/dist/docs/development/design/further-reading.md +19 -0
- package/dist/docs/development/design/import-resources.md +27 -0
- package/dist/docs/development/design/intro.md +22 -0
- package/dist/docs/development/developer-tools/_category_.json +12 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
- package/dist/docs/development/developer-tools/github-action.md +147 -0
- package/dist/docs/development/developer-tools/llms.txt.md +55 -0
- package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
- package/dist/docs/development/governance/_category_.json +6 -0
- package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
- package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
- package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
- package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
- package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
- package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
- package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
- package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
- package/dist/docs/development/guides/99-adding-analytics.md +138 -0
- package/dist/docs/development/guides/_category_.json +11 -0
- package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
- package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
- package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
- package/dist/docs/development/guides/changelogs/_category_.json +11 -0
- package/dist/docs/development/guides/channels/01-introduction.md +111 -0
- package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
- package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
- package/dist/docs/development/guides/channels/09-configuration +39 -0
- package/dist/docs/development/guides/channels/_category_.json +11 -0
- package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
- package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
- package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/guides/data/01-introduction.md +34 -0
- package/dist/docs/development/guides/data/02-adding-data.md +86 -0
- package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
- package/dist/docs/development/guides/data/_category_.json +11 -0
- package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
- package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
- package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
- package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
- package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
- package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
- package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
- package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
- package/dist/docs/development/guides/data-products/_category_.json +11 -0
- package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
- package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
- package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
- package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
- package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
- package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
- package/dist/docs/development/guides/diagrams/_category_.json +10 -0
- package/dist/docs/development/guides/domains/01-introduction.md +22 -0
- package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
- package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
- package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
- package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
- package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
- package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
- package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
- package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
- package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
- package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
- package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
- package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
- package/dist/docs/development/guides/domains/_category_.json +11 -0
- package/dist/docs/development/guides/flows/01-introduction.md +36 -0
- package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
- package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
- package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
- package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
- package/dist/docs/development/guides/flows/06-versioning.md +27 -0
- package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
- package/dist/docs/development/guides/flows/_category_.json +11 -0
- package/dist/docs/development/guides/messages/01-overview.md +57 -0
- package/dist/docs/development/guides/messages/_category_.json +11 -0
- package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
- package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
- package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
- package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
- package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
- package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
- package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
- package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
- package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
- package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
- package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
- package/dist/docs/development/guides/messages/common/07-components.md +12 -0
- package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
- package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
- package/dist/docs/development/guides/messages/common/_category_.json +11 -0
- package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
- package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
- package/dist/docs/development/guides/messages/events/_category_.json +11 -0
- package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
- package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
- package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
- package/dist/docs/development/guides/owners/_category_.json +11 -0
- package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
- package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
- package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
- package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
- package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
- package/dist/docs/development/guides/owners/users/_category_.json +11 -0
- package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
- package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
- package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
- package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
- package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
- package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
- package/dist/docs/development/guides/schemas/_category_.json +11 -0
- package/dist/docs/development/guides/services/01-introduction.md +33 -0
- package/dist/docs/development/guides/services/02-adding-services.md +113 -0
- package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
- package/dist/docs/development/guides/services/_category_.json +11 -0
- package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
- package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
- package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
- package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
- package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
- package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
- package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
- package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
- package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
- package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/upgrading/_category_.json +12 -0
- package/dist/docs/development/upgrading/upgrading.md +142 -0
- package/dist/docs/development/upgrading/v2.md +69 -0
- package/dist/docs/development/upgrading/v3.md +277 -0
- package/dist/docs/miro/_category_.json +12 -0
- package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
- package/dist/docs/miro/contributing/_category_.json +11 -0
- package/dist/docs/miro/getting-started/01-overview.md +63 -0
- package/dist/docs/miro/getting-started/02-installation.md +37 -0
- package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
- package/dist/docs/miro/getting-started/_category_.json +11 -0
- package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
- package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
- package/dist/docs/miro/guides/03-editing-resources.md +50 -0
- package/dist/docs/miro/guides/04-connected-resources.md +54 -0
- package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
- package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
- package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
- package/dist/docs/miro/guides/_category_.json +11 -0
- package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
- package/dist/docs/miro/specifications/02-openapi.md +86 -0
- package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
- package/dist/docs/miro/specifications/_category_.json +11 -0
- package/dist/docs/miro/using-ai/01-overview.md +105 -0
- package/dist/docs/miro/using-ai/_category_.json +11 -0
- package/dist/docs/plugins/01-intro.md +49 -0
- package/dist/docs/plugins/02-generators.md +76 -0
- package/dist/docs/plugins/03-all-plugins.md +26 -0
- package/dist/docs/plugins/_category_.json +12 -0
- package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
- package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
- package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
- package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
- package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
- package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
- package/dist/docs/plugins/apicurio/00-intro.md +102 -0
- package/dist/docs/plugins/apicurio/01-installation.md +165 -0
- package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
- package/dist/docs/plugins/apicurio/03-features.md +221 -0
- package/dist/docs/plugins/apicurio/04-examples.md +20 -0
- package/dist/docs/plugins/apicurio/_category_.json +12 -0
- package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
- package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
- package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
- package/dist/docs/plugins/asyncapi/03-features.md +698 -0
- package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
- package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
- package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
- package/dist/docs/plugins/asyncapi/_category_.json +12 -0
- package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
- package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
- package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
- package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
- package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
- package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
- package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
- package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
- package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
- package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
- package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
- package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
- package/dist/docs/plugins/backstage/00-intro.md +67 -0
- package/dist/docs/plugins/backstage/01-installation.md +250 -0
- package/dist/docs/plugins/backstage/02-api.md +51 -0
- package/dist/docs/plugins/backstage/03-examples.md +12 -0
- package/dist/docs/plugins/backstage/_category_.json +11 -0
- package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
- package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
- package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
- package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
- package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
- package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
- package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
- package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
- package/dist/docs/plugins/eventbridge/01-features.md +225 -0
- package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
- package/dist/docs/plugins/eventbridge/03-api.md +441 -0
- package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
- package/dist/docs/plugins/eventbridge/_category_.json +11 -0
- package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
- package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
- package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
- package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
- package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
- package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
- package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
- package/dist/docs/plugins/github/00-intro.md +93 -0
- package/dist/docs/plugins/github/01-installation.md +293 -0
- package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
- package/dist/docs/plugins/github/03-features.md +42 -0
- package/dist/docs/plugins/github/04-examples.md +17 -0
- package/dist/docs/plugins/github/_category_.json +12 -0
- package/dist/docs/plugins/graphql/00-intro.md +74 -0
- package/dist/docs/plugins/graphql/01-installation.md +144 -0
- package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
- package/dist/docs/plugins/graphql/03-features.md +197 -0
- package/dist/docs/plugins/graphql/04-examples.md +15 -0
- package/dist/docs/plugins/graphql/_category_.json +12 -0
- package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
- package/dist/docs/plugins/hookdeck/02-api.md +133 -0
- package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
- package/dist/docs/plugins/hookdeck/_category_.json +11 -0
- package/dist/docs/plugins/openapi/00-intro.md +78 -0
- package/dist/docs/plugins/openapi/01-installation.md +148 -0
- package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
- package/dist/docs/plugins/openapi/03-features.md +790 -0
- package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
- package/dist/docs/plugins/openapi/04-examples.md +23 -0
- package/dist/docs/plugins/openapi/_category_.json +12 -0
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +5 -5
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/src/components/Search/SearchModal.tsx +23 -34
- package/eventcatalog/src/components/Search/search-utils.spec.ts +36 -0
- package/eventcatalog/src/components/Search/search-utils.ts +34 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +7 -1
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +2 -0
- package/eventcatalog/src/stores/sidebar-store/builders/flow.ts +77 -0
- package/eventcatalog/src/stores/sidebar-store/builders/message.ts +10 -1
- package/eventcatalog/src/stores/sidebar-store/builders/service.ts +10 -3
- package/eventcatalog/src/stores/sidebar-store/state.ts +126 -2
- package/eventcatalog/src/utils/collections/flows.ts +3 -2
- package/package.json +4 -4
|
@@ -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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
@@ -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
|
+

|
|
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).
|