{"version":3,"sources":["../src/cli-docs.ts"],"sourcesContent":["/**\n * CLI Documentation Registry\n *\n * This file contains metadata for all SDK functions that can be called via the CLI.\n * It is used to generate documentation for the EventCatalog website.\n *\n * @module cli-docs\n */\n\nexport interface CLIFunctionArg {\n  name: string;\n  type: 'string' | 'json' | 'boolean' | 'number';\n  required: boolean;\n  description: string;\n}\n\nexport interface CLIFunctionExample {\n  description: string;\n  command: string;\n}\n\nexport interface CLIFunctionDoc {\n  name: string;\n  description: string;\n  category: string;\n  args: CLIFunctionArg[];\n  examples: CLIFunctionExample[];\n}\n\n/**\n * All CLI-callable functions with their documentation\n */\nexport const cliFunctions: CLIFunctionDoc[] = [\n  // ================================\n  //            Events\n  // ================================\n  {\n    name: 'getEvent',\n    description: 'Returns an event from EventCatalog by its ID',\n    category: 'Events',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the event to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve (supports semver)' },\n      { name: 'options', type: 'json', required: false, description: 'Options object, e.g. {\"attachSchema\": true}' },\n    ],\n    examples: [\n      { description: 'Get the latest version of an event', command: 'npx @eventcatalog/cli getEvent \"OrderCreated\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getEvent \"OrderCreated\" \"1.0.0\"' },\n      {\n        description: 'Get event with schema attached',\n        command: 'npx @eventcatalog/cli getEvent \"OrderCreated\" \"1.0.0\" \\'{\"attachSchema\":true}\\'',\n      },\n    ],\n  },\n  {\n    name: 'getEvents',\n    description: 'Returns all events from EventCatalog',\n    category: 'Events',\n    args: [\n      {\n        name: 'options',\n        type: 'json',\n        required: false,\n        description: 'Options object, e.g. {\"latestOnly\": true, \"attachSchema\": true}',\n      },\n    ],\n    examples: [\n      { description: 'Get all events', command: 'npx @eventcatalog/cli getEvents' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getEvents \\'{\"latestOnly\":true}\\'' },\n      {\n        description: 'Get all events with schemas',\n        command: 'npx @eventcatalog/cli getEvents \\'{\"latestOnly\":true,\"attachSchema\":true}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeEvent',\n    description: 'Writes an event to EventCatalog',\n    category: 'Events',\n    args: [\n      { name: 'event', type: 'json', required: true, description: 'Event object with id, name, version, and markdown' },\n      {\n        name: 'options',\n        type: 'json',\n        required: false,\n        description: 'Options: {path?, override?, versionExistingContent?, format?}',\n      },\n    ],\n    examples: [\n      {\n        description: 'Write a new event',\n        command:\n          'npx @eventcatalog/cli writeEvent \\'{\"id\":\"OrderCreated\",\"name\":\"Order Created\",\"version\":\"1.0.0\",\"markdown\":\"# Order Created\"}\\'',\n      },\n      {\n        description: 'Write and version existing content',\n        command:\n          'npx @eventcatalog/cli writeEvent \\'{\"id\":\"OrderCreated\",\"name\":\"Order Created\",\"version\":\"2.0.0\",\"markdown\":\"# Order Created v2\"}\\' \\'{\"versionExistingContent\":true}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeEventToService',\n    description: 'Writes an event to a specific service in EventCatalog',\n    category: 'Events',\n    args: [\n      { name: 'event', type: 'json', required: true, description: 'Event object with id, name, version, and markdown' },\n      { name: 'service', type: 'json', required: true, description: 'Service reference: {id, version?}' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, format?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write event to a service',\n        command:\n          'npx @eventcatalog/cli writeEventToService \\'{\"id\":\"InventoryUpdated\",\"name\":\"Inventory Updated\",\"version\":\"1.0.0\",\"markdown\":\"# Inventory Updated\"}\\' \\'{\"id\":\"InventoryService\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmEvent',\n    description: 'Removes an event by its path',\n    category: 'Events',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the event, e.g. /InventoryAdjusted' }],\n    examples: [{ description: 'Remove an event by path', command: 'npx @eventcatalog/cli rmEvent \"/InventoryAdjusted\"' }],\n  },\n  {\n    name: 'rmEventById',\n    description: 'Removes an event by its ID',\n    category: 'Events',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the event to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [\n      { description: 'Remove latest version', command: 'npx @eventcatalog/cli rmEventById \"OrderCreated\"' },\n      { description: 'Remove specific version', command: 'npx @eventcatalog/cli rmEventById \"OrderCreated\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'versionEvent',\n    description: 'Moves the current event to a versioned directory',\n    category: 'Events',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the event to version' }],\n    examples: [{ description: 'Version an event', command: 'npx @eventcatalog/cli versionEvent \"OrderCreated\"' }],\n  },\n  {\n    name: 'addFileToEvent',\n    description: 'Adds a file to an event',\n    category: 'Events',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the event' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to add file to' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to an event',\n        command: 'npx @eventcatalog/cli addFileToEvent \"OrderCreated\" \\'{\"content\":\"# Schema\",\"fileName\":\"schema.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addSchemaToEvent',\n    description: 'Adds a schema file to an event',\n    category: 'Events',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the event' },\n      { name: 'schema', type: 'json', required: true, description: 'Schema object: {schema, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to add schema to' },\n    ],\n    examples: [\n      {\n        description: 'Add a JSON schema to an event',\n        command:\n          'npx @eventcatalog/cli addSchemaToEvent \"OrderCreated\" \\'{\"schema\":\"{\\\\\"type\\\\\":\\\\\"object\\\\\"}\",\"fileName\":\"schema.json\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'eventHasVersion',\n    description: 'Checks if a specific version of an event exists',\n    category: 'Events',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the event' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check (supports semver)' },\n    ],\n    examples: [\n      { description: 'Check if version exists', command: 'npx @eventcatalog/cli eventHasVersion \"OrderCreated\" \"1.0.0\"' },\n      { description: 'Check with semver range', command: 'npx @eventcatalog/cli eventHasVersion \"OrderCreated\" \"1.0.x\"' },\n    ],\n  },\n\n  // ================================\n  //            Commands\n  // ================================\n  {\n    name: 'getCommand',\n    description: 'Returns a command from EventCatalog by its ID',\n    category: 'Commands',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the command to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve (supports semver)' },\n    ],\n    examples: [\n      { description: 'Get the latest command', command: 'npx @eventcatalog/cli getCommand \"CreateOrder\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getCommand \"CreateOrder\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getCommands',\n    description: 'Returns all commands from EventCatalog',\n    category: 'Commands',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?, attachSchema?}' }],\n    examples: [\n      { description: 'Get all commands', command: 'npx @eventcatalog/cli getCommands' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getCommands \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeCommand',\n    description: 'Writes a command to EventCatalog',\n    category: 'Commands',\n    args: [\n      { name: 'command', type: 'json', required: true, description: 'Command object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new command',\n        command:\n          'npx @eventcatalog/cli writeCommand \\'{\"id\":\"CreateOrder\",\"name\":\"Create Order\",\"version\":\"1.0.0\",\"markdown\":\"# Create Order\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeCommandToService',\n    description: 'Writes a command to a specific service',\n    category: 'Commands',\n    args: [\n      { name: 'command', type: 'json', required: true, description: 'Command object' },\n      { name: 'service', type: 'json', required: true, description: 'Service reference: {id, version?}' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, format?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write command to a service',\n        command:\n          'npx @eventcatalog/cli writeCommandToService \\'{\"id\":\"UpdateInventory\",\"name\":\"Update Inventory\",\"version\":\"1.0.0\",\"markdown\":\"# Update Inventory\"}\\' \\'{\"id\":\"InventoryService\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmCommand',\n    description: 'Removes a command by its path',\n    category: 'Commands',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the command' }],\n    examples: [{ description: 'Remove a command', command: 'npx @eventcatalog/cli rmCommand \"/CreateOrder\"' }],\n  },\n  {\n    name: 'rmCommandById',\n    description: 'Removes a command by its ID',\n    category: 'Commands',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the command to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a command', command: 'npx @eventcatalog/cli rmCommandById \"CreateOrder\"' }],\n  },\n  {\n    name: 'versionCommand',\n    description: 'Moves the current command to a versioned directory',\n    category: 'Commands',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the command to version' }],\n    examples: [{ description: 'Version a command', command: 'npx @eventcatalog/cli versionCommand \"CreateOrder\"' }],\n  },\n  {\n    name: 'addFileToCommand',\n    description: 'Adds a file to a command',\n    category: 'Commands',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the command' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a command',\n        command: 'npx @eventcatalog/cli addFileToCommand \"CreateOrder\" \\'{\"content\":\"# Notes\",\"fileName\":\"notes.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addSchemaToCommand',\n    description: 'Adds a schema to a command',\n    category: 'Commands',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the command' },\n      { name: 'schema', type: 'json', required: true, description: 'Schema object: {schema, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a schema to a command',\n        command:\n          'npx @eventcatalog/cli addSchemaToCommand \"CreateOrder\" \\'{\"schema\":\"{\\\\\"type\\\\\":\\\\\"object\\\\\"}\",\"fileName\":\"schema.json\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'commandHasVersion',\n    description: 'Checks if a specific version of a command exists',\n    category: 'Commands',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the command' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      { description: 'Check if version exists', command: 'npx @eventcatalog/cli commandHasVersion \"CreateOrder\" \"1.0.0\"' },\n    ],\n  },\n\n  // ================================\n  //            Queries\n  // ================================\n  {\n    name: 'getQuery',\n    description: 'Returns a query from EventCatalog by its ID',\n    category: 'Queries',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the query to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest query', command: 'npx @eventcatalog/cli getQuery \"GetOrder\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getQuery \"GetOrder\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getQueries',\n    description: 'Returns all queries from EventCatalog',\n    category: 'Queries',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?, attachSchema?}' }],\n    examples: [\n      { description: 'Get all queries', command: 'npx @eventcatalog/cli getQueries' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getQueries \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeQuery',\n    description: 'Writes a query to EventCatalog',\n    category: 'Queries',\n    args: [\n      { name: 'query', type: 'json', required: true, description: 'Query object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new query',\n        command:\n          'npx @eventcatalog/cli writeQuery \\'{\"id\":\"GetOrder\",\"name\":\"Get Order\",\"version\":\"1.0.0\",\"markdown\":\"# Get Order\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeQueryToService',\n    description: 'Writes a query to a specific service',\n    category: 'Queries',\n    args: [\n      { name: 'query', type: 'json', required: true, description: 'Query object' },\n      { name: 'service', type: 'json', required: true, description: 'Service reference: {id, version?}' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, format?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write query to a service',\n        command:\n          'npx @eventcatalog/cli writeQueryToService \\'{\"id\":\"GetInventory\",\"name\":\"Get Inventory\",\"version\":\"1.0.0\",\"markdown\":\"# Get Inventory\"}\\' \\'{\"id\":\"InventoryService\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmQuery',\n    description: 'Removes a query by its path',\n    category: 'Queries',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the query' }],\n    examples: [{ description: 'Remove a query', command: 'npx @eventcatalog/cli rmQuery \"/GetOrder\"' }],\n  },\n  {\n    name: 'rmQueryById',\n    description: 'Removes a query by its ID',\n    category: 'Queries',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the query to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a query', command: 'npx @eventcatalog/cli rmQueryById \"GetOrder\"' }],\n  },\n  {\n    name: 'versionQuery',\n    description: 'Moves the current query to a versioned directory',\n    category: 'Queries',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the query to version' }],\n    examples: [{ description: 'Version a query', command: 'npx @eventcatalog/cli versionQuery \"GetOrder\"' }],\n  },\n  {\n    name: 'addFileToQuery',\n    description: 'Adds a file to a query',\n    category: 'Queries',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the query' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a query',\n        command: 'npx @eventcatalog/cli addFileToQuery \"GetOrder\" \\'{\"content\":\"# Notes\",\"fileName\":\"notes.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addSchemaToQuery',\n    description: 'Adds a schema to a query',\n    category: 'Queries',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the query' },\n      { name: 'schema', type: 'json', required: true, description: 'Schema object: {schema, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a schema to a query',\n        command:\n          'npx @eventcatalog/cli addSchemaToQuery \"GetOrder\" \\'{\"schema\":\"{\\\\\"type\\\\\":\\\\\"object\\\\\"}\",\"fileName\":\"schema.json\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'queryHasVersion',\n    description: 'Checks if a specific version of a query exists',\n    category: 'Queries',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the query' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [{ description: 'Check if version exists', command: 'npx @eventcatalog/cli queryHasVersion \"GetOrder\" \"1.0.0\"' }],\n  },\n\n  // ================================\n  //            Services\n  // ================================\n  {\n    name: 'getService',\n    description: 'Returns a service from EventCatalog by its ID',\n    category: 'Services',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the service to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest service', command: 'npx @eventcatalog/cli getService \"OrderService\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getService \"OrderService\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getServices',\n    description: 'Returns all services from EventCatalog',\n    category: 'Services',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all services', command: 'npx @eventcatalog/cli getServices' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getServices \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeService',\n    description: 'Writes a service to EventCatalog',\n    category: 'Services',\n    args: [\n      { name: 'service', type: 'json', required: true, description: 'Service object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new service',\n        command:\n          'npx @eventcatalog/cli writeService \\'{\"id\":\"OrderService\",\"name\":\"Order Service\",\"version\":\"1.0.0\",\"markdown\":\"# Order Service\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeServiceToDomain',\n    description: 'Writes a service to a specific domain',\n    category: 'Services',\n    args: [\n      { name: 'service', type: 'json', required: true, description: 'Service object' },\n      { name: 'domain', type: 'json', required: true, description: 'Domain reference: {id, version?}' },\n      { name: 'options', type: 'json', required: false, description: 'Options' },\n    ],\n    examples: [\n      {\n        description: 'Write service to a domain',\n        command:\n          'npx @eventcatalog/cli writeServiceToDomain \\'{\"id\":\"PaymentService\",\"name\":\"Payment Service\",\"version\":\"1.0.0\",\"markdown\":\"# Payment Service\"}\\' \\'{\"id\":\"Payments\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmService',\n    description: 'Removes a service by its path',\n    category: 'Services',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the service' }],\n    examples: [{ description: 'Remove a service', command: 'npx @eventcatalog/cli rmService \"/OrderService\"' }],\n  },\n  {\n    name: 'rmServiceById',\n    description: 'Removes a service by its ID',\n    category: 'Services',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the service to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a service', command: 'npx @eventcatalog/cli rmServiceById \"OrderService\"' }],\n  },\n  {\n    name: 'versionService',\n    description: 'Moves the current service to a versioned directory',\n    category: 'Services',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the service to version' }],\n    examples: [{ description: 'Version a service', command: 'npx @eventcatalog/cli versionService \"OrderService\"' }],\n  },\n  {\n    name: 'addFileToService',\n    description: 'Adds a file to a service',\n    category: 'Services',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a service',\n        command: 'npx @eventcatalog/cli addFileToService \"OrderService\" \\'{\"content\":\"# API Docs\",\"fileName\":\"api.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addEventToService',\n    description: 'Adds an event relationship to a service',\n    category: 'Services',\n    args: [\n      { name: 'serviceId', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'event', type: 'json', required: true, description: 'Event reference: {id, version}' },\n      { name: 'serviceVersion', type: 'string', required: false, description: 'Specific service version' },\n    ],\n    examples: [\n      {\n        description: 'Add event that service sends',\n        command: 'npx @eventcatalog/cli addEventToService \"OrderService\" \"sends\" \\'{\"id\":\"OrderCreated\",\"version\":\"1.0.0\"}\\'',\n      },\n      {\n        description: 'Add event that service receives',\n        command:\n          'npx @eventcatalog/cli addEventToService \"OrderService\" \"receives\" \\'{\"id\":\"PaymentCompleted\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addCommandToService',\n    description: 'Adds a command relationship to a service',\n    category: 'Services',\n    args: [\n      { name: 'serviceId', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'command', type: 'json', required: true, description: 'Command reference: {id, version}' },\n      { name: 'serviceVersion', type: 'string', required: false, description: 'Specific service version' },\n    ],\n    examples: [\n      {\n        description: 'Add command that service sends',\n        command: 'npx @eventcatalog/cli addCommandToService \"OrderService\" \"sends\" \\'{\"id\":\"ProcessPayment\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addQueryToService',\n    description: 'Adds a query relationship to a service',\n    category: 'Services',\n    args: [\n      { name: 'serviceId', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'query', type: 'json', required: true, description: 'Query reference: {id, version}' },\n      { name: 'serviceVersion', type: 'string', required: false, description: 'Specific service version' },\n    ],\n    examples: [\n      {\n        description: 'Add query that service sends',\n        command: 'npx @eventcatalog/cli addQueryToService \"OrderService\" \"sends\" \\'{\"id\":\"GetInventory\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addEntityToService',\n    description: 'Adds an entity to a service',\n    category: 'Services',\n    args: [\n      { name: 'serviceId', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'entity', type: 'json', required: true, description: 'Entity reference: {id, version}' },\n      { name: 'serviceVersion', type: 'string', required: false, description: 'Specific service version' },\n    ],\n    examples: [\n      {\n        description: 'Add entity to a service',\n        command: 'npx @eventcatalog/cli addEntityToService \"OrderService\" \\'{\"id\":\"Order\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addDataStoreToService',\n    description: 'Adds a data store relationship to a service',\n    category: 'Services',\n    args: [\n      { name: 'serviceId', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'relationship', type: 'string', required: true, description: 'Relationship: \"writesTo\" or \"readsFrom\"' },\n      { name: 'dataStore', type: 'json', required: true, description: 'Data store reference: {id, version}' },\n      { name: 'serviceVersion', type: 'string', required: false, description: 'Specific service version' },\n    ],\n    examples: [\n      {\n        description: 'Add data store that service writes to',\n        command: 'npx @eventcatalog/cli addDataStoreToService \"OrderService\" \"writesTo\" \\'{\"id\":\"orders-db\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'serviceHasVersion',\n    description: 'Checks if a specific version of a service exists',\n    category: 'Services',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      { description: 'Check if version exists', command: 'npx @eventcatalog/cli serviceHasVersion \"OrderService\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getSpecificationFilesForService',\n    description: 'Returns specification files (OpenAPI, AsyncAPI) for a service',\n    category: 'Services',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the service' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      { description: 'Get spec files', command: 'npx @eventcatalog/cli getSpecificationFilesForService \"OrderService\"' },\n    ],\n  },\n\n  // ================================\n  //            Domains\n  // ================================\n  {\n    name: 'getDomain',\n    description: 'Returns a domain from EventCatalog by its ID',\n    category: 'Domains',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the domain to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest domain', command: 'npx @eventcatalog/cli getDomain \"Orders\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getDomain \"Orders\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getDomains',\n    description: 'Returns all domains from EventCatalog',\n    category: 'Domains',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all domains', command: 'npx @eventcatalog/cli getDomains' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getDomains \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeDomain',\n    description: 'Writes a domain to EventCatalog',\n    category: 'Domains',\n    args: [\n      { name: 'domain', type: 'json', required: true, description: 'Domain object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new domain',\n        command:\n          'npx @eventcatalog/cli writeDomain \\'{\"id\":\"Orders\",\"name\":\"Orders Domain\",\"version\":\"1.0.0\",\"markdown\":\"# Orders Domain\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmDomain',\n    description: 'Removes a domain by its path',\n    category: 'Domains',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the domain' }],\n    examples: [{ description: 'Remove a domain', command: 'npx @eventcatalog/cli rmDomain \"/Orders\"' }],\n  },\n  {\n    name: 'rmDomainById',\n    description: 'Removes a domain by its ID',\n    category: 'Domains',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the domain to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a domain', command: 'npx @eventcatalog/cli rmDomainById \"Orders\"' }],\n  },\n  {\n    name: 'versionDomain',\n    description: 'Moves the current domain to a versioned directory',\n    category: 'Domains',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the domain to version' }],\n    examples: [{ description: 'Version a domain', command: 'npx @eventcatalog/cli versionDomain \"Orders\"' }],\n  },\n  {\n    name: 'addFileToDomain',\n    description: 'Adds a file to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a domain',\n        command: 'npx @eventcatalog/cli addFileToDomain \"Orders\" \\'{\"content\":\"# Overview\",\"fileName\":\"overview.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addServiceToDomain',\n    description: 'Adds a service to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'service', type: 'json', required: true, description: 'Service reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add service to domain',\n        command: 'npx @eventcatalog/cli addServiceToDomain \"Orders\" \\'{\"id\":\"OrderService\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addSubDomainToDomain',\n    description: 'Adds a subdomain to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the parent domain' },\n      { name: 'subDomain', type: 'json', required: true, description: 'Subdomain reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add subdomain',\n        command: 'npx @eventcatalog/cli addSubDomainToDomain \"Orders\" \\'{\"id\":\"Fulfillment\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addEntityToDomain',\n    description: 'Adds an entity to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'entity', type: 'json', required: true, description: 'Entity reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add entity to domain',\n        command: 'npx @eventcatalog/cli addEntityToDomain \"Orders\" \\'{\"id\":\"Order\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addEventToDomain',\n    description: 'Adds an event relationship to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'event', type: 'json', required: true, description: 'Event reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add event that domain sends',\n        command: 'npx @eventcatalog/cli addEventToDomain \"Orders\" \"sends\" \\'{\"id\":\"OrderCreated\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addCommandToDomain',\n    description: 'Adds a command relationship to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'command', type: 'json', required: true, description: 'Command reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add command that domain sends',\n        command: 'npx @eventcatalog/cli addCommandToDomain \"Orders\" \"sends\" \\'{\"id\":\"ProcessOrder\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addQueryToDomain',\n    description: 'Adds a query relationship to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'direction', type: 'string', required: true, description: 'Direction: \"sends\" or \"receives\"' },\n      { name: 'query', type: 'json', required: true, description: 'Query reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add query that domain sends',\n        command: 'npx @eventcatalog/cli addQueryToDomain \"Orders\" \"sends\" \\'{\"id\":\"GetOrderStatus\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addUbiquitousLanguageToDomain',\n    description: 'Adds ubiquitous language definitions to a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'dictionary', type: 'json', required: true, description: 'Array of {term, definition} objects' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add ubiquitous language',\n        command:\n          'npx @eventcatalog/cli addUbiquitousLanguageToDomain \"Orders\" \\'[{\"term\":\"Order\",\"definition\":\"A customer purchase request\"}]\\'',\n      },\n    ],\n  },\n  {\n    name: 'getUbiquitousLanguageFromDomain',\n    description: 'Gets ubiquitous language definitions from a domain',\n    category: 'Domains',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      { description: 'Get ubiquitous language', command: 'npx @eventcatalog/cli getUbiquitousLanguageFromDomain \"Orders\"' },\n    ],\n  },\n  {\n    name: 'domainHasVersion',\n    description: 'Checks if a specific version of a domain exists',\n    category: 'Domains',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [{ description: 'Check if version exists', command: 'npx @eventcatalog/cli domainHasVersion \"Orders\" \"1.0.0\"' }],\n  },\n\n  // ================================\n  //            Channels\n  // ================================\n  {\n    name: 'getChannel',\n    description: 'Returns a channel from EventCatalog by its ID',\n    category: 'Channels',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the channel to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest channel', command: 'npx @eventcatalog/cli getChannel \"orders.events\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getChannel \"orders.events\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getChannels',\n    description: 'Returns all channels from EventCatalog',\n    category: 'Channels',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all channels', command: 'npx @eventcatalog/cli getChannels' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getChannels \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeChannel',\n    description: 'Writes a channel to EventCatalog',\n    category: 'Channels',\n    args: [\n      { name: 'channel', type: 'json', required: true, description: 'Channel object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new channel',\n        command:\n          'npx @eventcatalog/cli writeChannel \\'{\"id\":\"orders.events\",\"name\":\"Orders Events\",\"version\":\"1.0.0\",\"markdown\":\"# Orders Events Channel\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmChannel',\n    description: 'Removes a channel by its path',\n    category: 'Channels',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the channel' }],\n    examples: [{ description: 'Remove a channel', command: 'npx @eventcatalog/cli rmChannel \"/orders.events\"' }],\n  },\n  {\n    name: 'rmChannelById',\n    description: 'Removes a channel by its ID',\n    category: 'Channels',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the channel to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a channel', command: 'npx @eventcatalog/cli rmChannelById \"orders.events\"' }],\n  },\n  {\n    name: 'versionChannel',\n    description: 'Moves the current channel to a versioned directory',\n    category: 'Channels',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the channel to version' }],\n    examples: [{ description: 'Version a channel', command: 'npx @eventcatalog/cli versionChannel \"orders.events\"' }],\n  },\n  {\n    name: 'addEventToChannel',\n    description: 'Adds an event to a channel',\n    category: 'Channels',\n    args: [\n      { name: 'channelId', type: 'string', required: true, description: 'The ID of the channel' },\n      { name: 'event', type: 'json', required: true, description: 'Event reference: {id, version, parameters?}' },\n    ],\n    examples: [\n      {\n        description: 'Add event to channel',\n        command: 'npx @eventcatalog/cli addEventToChannel \"orders.events\" \\'{\"id\":\"OrderCreated\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addCommandToChannel',\n    description: 'Adds a command to a channel',\n    category: 'Channels',\n    args: [\n      { name: 'channelId', type: 'string', required: true, description: 'The ID of the channel' },\n      { name: 'command', type: 'json', required: true, description: 'Command reference: {id, version, parameters?}' },\n    ],\n    examples: [\n      {\n        description: 'Add command to channel',\n        command: 'npx @eventcatalog/cli addCommandToChannel \"orders.commands\" \\'{\"id\":\"CreateOrder\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addQueryToChannel',\n    description: 'Adds a query to a channel',\n    category: 'Channels',\n    args: [\n      { name: 'channelId', type: 'string', required: true, description: 'The ID of the channel' },\n      { name: 'query', type: 'json', required: true, description: 'Query reference: {id, version, parameters?}' },\n    ],\n    examples: [\n      {\n        description: 'Add query to channel',\n        command: 'npx @eventcatalog/cli addQueryToChannel \"orders.queries\" \\'{\"id\":\"GetOrder\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'channelHasVersion',\n    description: 'Checks if a specific version of a channel exists',\n    category: 'Channels',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the channel' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      { description: 'Check if version exists', command: 'npx @eventcatalog/cli channelHasVersion \"orders.events\" \"1.0.0\"' },\n    ],\n  },\n\n  // ================================\n  //            Teams\n  // ================================\n  {\n    name: 'getTeam',\n    description: 'Returns a team from EventCatalog by its ID',\n    category: 'Teams',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the team to retrieve' }],\n    examples: [{ description: 'Get a team', command: 'npx @eventcatalog/cli getTeam \"platform-team\"' }],\n  },\n  {\n    name: 'getTeams',\n    description: 'Returns all teams from EventCatalog',\n    category: 'Teams',\n    args: [],\n    examples: [{ description: 'Get all teams', command: 'npx @eventcatalog/cli getTeams' }],\n  },\n  {\n    name: 'writeTeam',\n    description: 'Writes a team to EventCatalog',\n    category: 'Teams',\n    args: [\n      { name: 'team', type: 'json', required: true, description: 'Team object with id, name, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new team',\n        command: 'npx @eventcatalog/cli writeTeam \\'{\"id\":\"platform-team\",\"name\":\"Platform Team\",\"markdown\":\"# Platform Team\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmTeamById',\n    description: 'Removes a team by its ID',\n    category: 'Teams',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the team to remove' }],\n    examples: [{ description: 'Remove a team', command: 'npx @eventcatalog/cli rmTeamById \"platform-team\"' }],\n  },\n\n  // ================================\n  //            Users\n  // ================================\n  {\n    name: 'getUser',\n    description: 'Returns a user from EventCatalog by their ID',\n    category: 'Users',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the user to retrieve' }],\n    examples: [{ description: 'Get a user', command: 'npx @eventcatalog/cli getUser \"jsmith\"' }],\n  },\n  {\n    name: 'getUsers',\n    description: 'Returns all users from EventCatalog',\n    category: 'Users',\n    args: [],\n    examples: [{ description: 'Get all users', command: 'npx @eventcatalog/cli getUsers' }],\n  },\n  {\n    name: 'writeUser',\n    description: 'Writes a user to EventCatalog',\n    category: 'Users',\n    args: [\n      { name: 'user', type: 'json', required: true, description: 'User object with id, name, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new user',\n        command: 'npx @eventcatalog/cli writeUser \\'{\"id\":\"jsmith\",\"name\":\"John Smith\",\"markdown\":\"# John Smith\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmUserById',\n    description: 'Removes a user by their ID',\n    category: 'Users',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the user to remove' }],\n    examples: [{ description: 'Remove a user', command: 'npx @eventcatalog/cli rmUserById \"jsmith\"' }],\n  },\n\n  // ================================\n  //            Custom Docs\n  // ================================\n  {\n    name: 'getCustomDoc',\n    description: 'Returns a custom doc from EventCatalog by its path',\n    category: 'Custom Docs',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the custom doc' }],\n    examples: [{ description: 'Get a custom doc', command: 'npx @eventcatalog/cli getCustomDoc \"/getting-started\"' }],\n  },\n  {\n    name: 'getCustomDocs',\n    description: 'Returns all custom docs from EventCatalog',\n    category: 'Custom Docs',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {path?}' }],\n    examples: [\n      { description: 'Get all custom docs', command: 'npx @eventcatalog/cli getCustomDocs' },\n      { description: 'Get docs from a path', command: 'npx @eventcatalog/cli getCustomDocs \\'{\"path\":\"/guides\"}\\'' },\n    ],\n  },\n  {\n    name: 'writeCustomDoc',\n    description: 'Writes a custom doc to EventCatalog',\n    category: 'Custom Docs',\n    args: [\n      { name: 'customDoc', type: 'json', required: true, description: 'Custom doc object with id, title, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a custom doc',\n        command:\n          'npx @eventcatalog/cli writeCustomDoc \\'{\"id\":\"getting-started\",\"title\":\"Getting Started\",\"markdown\":\"# Getting Started\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmCustomDoc',\n    description: 'Removes a custom doc by its path',\n    category: 'Custom Docs',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the custom doc to remove' }],\n    examples: [{ description: 'Remove a custom doc', command: 'npx @eventcatalog/cli rmCustomDoc \"/getting-started\"' }],\n  },\n\n  // ================================\n  //            Entities\n  // ================================\n  {\n    name: 'getEntity',\n    description: 'Returns an entity from EventCatalog by its ID',\n    category: 'Entities',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the entity to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest entity', command: 'npx @eventcatalog/cli getEntity \"Order\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getEntity \"Order\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getEntities',\n    description: 'Returns all entities from EventCatalog',\n    category: 'Entities',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all entities', command: 'npx @eventcatalog/cli getEntities' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getEntities \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeEntity',\n    description: 'Writes an entity to EventCatalog',\n    category: 'Entities',\n    args: [\n      { name: 'entity', type: 'json', required: true, description: 'Entity object with id, name, version, and markdown' },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new entity',\n        command:\n          'npx @eventcatalog/cli writeEntity \\'{\"id\":\"Order\",\"name\":\"Order\",\"version\":\"1.0.0\",\"markdown\":\"# Order Entity\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmEntity',\n    description: 'Removes an entity by its path',\n    category: 'Entities',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the entity' }],\n    examples: [{ description: 'Remove an entity', command: 'npx @eventcatalog/cli rmEntity \"/Order\"' }],\n  },\n  {\n    name: 'rmEntityById',\n    description: 'Removes an entity by its ID',\n    category: 'Entities',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the entity to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove an entity', command: 'npx @eventcatalog/cli rmEntityById \"Order\"' }],\n  },\n  {\n    name: 'versionEntity',\n    description: 'Moves the current entity to a versioned directory',\n    category: 'Entities',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the entity to version' }],\n    examples: [{ description: 'Version an entity', command: 'npx @eventcatalog/cli versionEntity \"Order\"' }],\n  },\n  {\n    name: 'entityHasVersion',\n    description: 'Checks if a specific version of an entity exists',\n    category: 'Entities',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the entity' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [{ description: 'Check if version exists', command: 'npx @eventcatalog/cli entityHasVersion \"Order\" \"1.0.0\"' }],\n  },\n\n  // ================================\n  //            Data Stores\n  // ================================\n  {\n    name: 'getDataStore',\n    description: 'Returns a data store from EventCatalog by its ID',\n    category: 'Data Stores',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data store to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest data store', command: 'npx @eventcatalog/cli getDataStore \"orders-db\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getDataStore \"orders-db\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getDataStores',\n    description: 'Returns all data stores from EventCatalog',\n    category: 'Data Stores',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all data stores', command: 'npx @eventcatalog/cli getDataStores' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getDataStores \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeDataStore',\n    description: 'Writes a data store to EventCatalog',\n    category: 'Data Stores',\n    args: [\n      {\n        name: 'dataStore',\n        type: 'json',\n        required: true,\n        description: 'Data store object with id, name, version, and markdown',\n      },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new data store',\n        command:\n          'npx @eventcatalog/cli writeDataStore \\'{\"id\":\"orders-db\",\"name\":\"Orders Database\",\"version\":\"1.0.0\",\"markdown\":\"# Orders Database\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeDataStoreToService',\n    description: 'Writes a data store to a specific service',\n    category: 'Data Stores',\n    args: [\n      { name: 'dataStore', type: 'json', required: true, description: 'Data store object' },\n      { name: 'service', type: 'json', required: true, description: 'Service reference: {id, version?}' },\n    ],\n    examples: [\n      {\n        description: 'Write data store to a service',\n        command:\n          'npx @eventcatalog/cli writeDataStoreToService \\'{\"id\":\"orders-db\",\"name\":\"Orders Database\",\"version\":\"1.0.0\",\"markdown\":\"# Orders DB\"}\\' \\'{\"id\":\"OrderService\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmDataStore',\n    description: 'Removes a data store by its path',\n    category: 'Data Stores',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the data store' }],\n    examples: [{ description: 'Remove a data store', command: 'npx @eventcatalog/cli rmDataStore \"/orders-db\"' }],\n  },\n  {\n    name: 'rmDataStoreById',\n    description: 'Removes a data store by its ID',\n    category: 'Data Stores',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data store to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a data store', command: 'npx @eventcatalog/cli rmDataStoreById \"orders-db\"' }],\n  },\n  {\n    name: 'versionDataStore',\n    description: 'Moves the current data store to a versioned directory',\n    category: 'Data Stores',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the data store to version' }],\n    examples: [{ description: 'Version a data store', command: 'npx @eventcatalog/cli versionDataStore \"orders-db\"' }],\n  },\n  {\n    name: 'addFileToDataStore',\n    description: 'Adds a file to a data store',\n    category: 'Data Stores',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data store' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a data store',\n        command: 'npx @eventcatalog/cli addFileToDataStore \"orders-db\" \\'{\"content\":\"# Schema\",\"fileName\":\"schema.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'dataStoreHasVersion',\n    description: 'Checks if a specific version of a data store exists',\n    category: 'Data Stores',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data store' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      { description: 'Check if version exists', command: 'npx @eventcatalog/cli dataStoreHasVersion \"orders-db\" \"1.0.0\"' },\n    ],\n  },\n\n  // ================================\n  //            Data Products\n  // ================================\n  {\n    name: 'getDataProduct',\n    description: 'Returns a data product from EventCatalog by its ID',\n    category: 'Data Products',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data product to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest data product', command: 'npx @eventcatalog/cli getDataProduct \"customer-360\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getDataProduct \"customer-360\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getDataProducts',\n    description: 'Returns all data products from EventCatalog',\n    category: 'Data Products',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all data products', command: 'npx @eventcatalog/cli getDataProducts' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getDataProducts \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeDataProduct',\n    description: 'Writes a data product to EventCatalog',\n    category: 'Data Products',\n    args: [\n      {\n        name: 'dataProduct',\n        type: 'json',\n        required: true,\n        description: 'Data product object with id, name, version, and markdown',\n      },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new data product',\n        command:\n          'npx @eventcatalog/cli writeDataProduct \\'{\"id\":\"customer-360\",\"name\":\"Customer 360\",\"version\":\"1.0.0\",\"markdown\":\"# Customer 360\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'writeDataProductToDomain',\n    description: 'Writes a data product to a specific domain',\n    category: 'Data Products',\n    args: [\n      { name: 'dataProduct', type: 'json', required: true, description: 'Data product object' },\n      { name: 'domain', type: 'json', required: true, description: 'Domain reference: {id, version?}' },\n      { name: 'options', type: 'json', required: false, description: 'Options' },\n    ],\n    examples: [\n      {\n        description: 'Write data product to a domain',\n        command:\n          'npx @eventcatalog/cli writeDataProductToDomain \\'{\"id\":\"customer-360\",\"name\":\"Customer 360\",\"version\":\"1.0.0\",\"markdown\":\"# Customer 360\"}\\' \\'{\"id\":\"Analytics\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmDataProduct',\n    description: 'Removes a data product by its path',\n    category: 'Data Products',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the data product' }],\n    examples: [{ description: 'Remove a data product', command: 'npx @eventcatalog/cli rmDataProduct \"/customer-360\"' }],\n  },\n  {\n    name: 'rmDataProductById',\n    description: 'Removes a data product by its ID',\n    category: 'Data Products',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data product to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a data product', command: 'npx @eventcatalog/cli rmDataProductById \"customer-360\"' }],\n  },\n  {\n    name: 'versionDataProduct',\n    description: 'Moves the current data product to a versioned directory',\n    category: 'Data Products',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the data product to version' }],\n    examples: [{ description: 'Version a data product', command: 'npx @eventcatalog/cli versionDataProduct \"customer-360\"' }],\n  },\n  {\n    name: 'addFileToDataProduct',\n    description: 'Adds a file to a data product',\n    category: 'Data Products',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data product' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a data product',\n        command: 'npx @eventcatalog/cli addFileToDataProduct \"customer-360\" \\'{\"content\":\"# Schema\",\"fileName\":\"schema.md\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'addDataProductToDomain',\n    description: 'Adds a data product reference to a domain',\n    category: 'Data Products',\n    args: [\n      { name: 'domainId', type: 'string', required: true, description: 'The ID of the domain' },\n      { name: 'dataProduct', type: 'json', required: true, description: 'Data product reference: {id, version}' },\n      { name: 'domainVersion', type: 'string', required: false, description: 'Specific domain version' },\n    ],\n    examples: [\n      {\n        description: 'Add data product to domain',\n        command: 'npx @eventcatalog/cli addDataProductToDomain \"Analytics\" \\'{\"id\":\"customer-360\",\"version\":\"1.0.0\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'dataProductHasVersion',\n    description: 'Checks if a specific version of a data product exists',\n    category: 'Data Products',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the data product' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      {\n        description: 'Check if version exists',\n        command: 'npx @eventcatalog/cli dataProductHasVersion \"customer-360\" \"1.0.0\"',\n      },\n    ],\n  },\n\n  // ================================\n  //            Diagrams\n  // ================================\n  {\n    name: 'getDiagram',\n    description: 'Returns a diagram from EventCatalog by its ID',\n    category: 'Diagrams',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the diagram to retrieve' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to retrieve' },\n    ],\n    examples: [\n      { description: 'Get the latest diagram', command: 'npx @eventcatalog/cli getDiagram \"ArchitectureDiagram\"' },\n      { description: 'Get a specific version', command: 'npx @eventcatalog/cli getDiagram \"ArchitectureDiagram\" \"1.0.0\"' },\n    ],\n  },\n  {\n    name: 'getDiagrams',\n    description: 'Returns all diagrams from EventCatalog',\n    category: 'Diagrams',\n    args: [{ name: 'options', type: 'json', required: false, description: 'Options: {latestOnly?}' }],\n    examples: [\n      { description: 'Get all diagrams', command: 'npx @eventcatalog/cli getDiagrams' },\n      { description: 'Get only latest versions', command: 'npx @eventcatalog/cli getDiagrams \\'{\"latestOnly\":true}\\'' },\n    ],\n  },\n  {\n    name: 'writeDiagram',\n    description: 'Writes a diagram to EventCatalog',\n    category: 'Diagrams',\n    args: [\n      {\n        name: 'diagram',\n        type: 'json',\n        required: true,\n        description: 'Diagram object with id, name, version, and markdown',\n      },\n      { name: 'options', type: 'json', required: false, description: 'Options: {path?, override?, versionExistingContent?}' },\n    ],\n    examples: [\n      {\n        description: 'Write a new diagram',\n        command:\n          'npx @eventcatalog/cli writeDiagram \\'{\"id\":\"ArchitectureDiagram\",\"name\":\"Architecture Diagram\",\"version\":\"1.0.0\",\"markdown\":\"# Architecture Diagram\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'rmDiagram',\n    description: 'Removes a diagram by its path',\n    category: 'Diagrams',\n    args: [{ name: 'path', type: 'string', required: true, description: 'Path to the diagram' }],\n    examples: [{ description: 'Remove a diagram', command: 'npx @eventcatalog/cli rmDiagram \"/ArchitectureDiagram\"' }],\n  },\n  {\n    name: 'rmDiagramById',\n    description: 'Removes a diagram by its ID',\n    category: 'Diagrams',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the diagram to remove' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version to remove' },\n    ],\n    examples: [{ description: 'Remove a diagram', command: 'npx @eventcatalog/cli rmDiagramById \"ArchitectureDiagram\"' }],\n  },\n  {\n    name: 'versionDiagram',\n    description: 'Moves the current diagram to a versioned directory',\n    category: 'Diagrams',\n    args: [{ name: 'id', type: 'string', required: true, description: 'The ID of the diagram to version' }],\n    examples: [{ description: 'Version a diagram', command: 'npx @eventcatalog/cli versionDiagram \"ArchitectureDiagram\"' }],\n  },\n  {\n    name: 'addFileToDiagram',\n    description: 'Adds a file to a diagram',\n    category: 'Diagrams',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the diagram' },\n      { name: 'file', type: 'json', required: true, description: 'File object: {content, fileName}' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Add a file to a diagram',\n        command: 'npx @eventcatalog/cli addFileToDiagram \"ArchitectureDiagram\" \\'{\"content\":\"...\",\"fileName\":\"diagram.png\"}\\'',\n      },\n    ],\n  },\n  {\n    name: 'diagramHasVersion',\n    description: 'Checks if a specific version of a diagram exists',\n    category: 'Diagrams',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the diagram' },\n      { name: 'version', type: 'string', required: true, description: 'Version to check' },\n    ],\n    examples: [\n      {\n        description: 'Check if version exists',\n        command: 'npx @eventcatalog/cli diagramHasVersion \"ArchitectureDiagram\" \"1.0.0\"',\n      },\n    ],\n  },\n\n  // ================================\n  //            Messages\n  // ================================\n  {\n    name: 'getProducersAndConsumersForMessage',\n    description: 'Returns the producers and consumers (services) for a given message',\n    category: 'Messages',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the message' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      {\n        description: 'Get producers and consumers',\n        command: 'npx @eventcatalog/cli getProducersAndConsumersForMessage \"OrderCreated\"',\n      },\n    ],\n  },\n  {\n    name: 'getConsumersOfSchema',\n    description: 'Returns services that consume a given schema',\n    category: 'Messages',\n    args: [{ name: 'schemaPath', type: 'string', required: true, description: 'Path to the schema file' }],\n    examples: [\n      {\n        description: 'Get consumers of a schema',\n        command: 'npx @eventcatalog/cli getConsumersOfSchema \"events/OrderCreated/schema.json\"',\n      },\n    ],\n  },\n  {\n    name: 'getProducersOfSchema',\n    description: 'Returns services that produce a given schema',\n    category: 'Messages',\n    args: [{ name: 'schemaPath', type: 'string', required: true, description: 'Path to the schema file' }],\n    examples: [\n      {\n        description: 'Get producers of a schema',\n        command: 'npx @eventcatalog/cli getProducersOfSchema \"events/OrderCreated/schema.json\"',\n      },\n    ],\n  },\n  {\n    name: 'getOwnersForResource',\n    description: 'Returns the owners (users/teams) for a given resource',\n    category: 'Messages',\n    args: [\n      { name: 'id', type: 'string', required: true, description: 'The ID of the resource' },\n      { name: 'version', type: 'string', required: false, description: 'Specific version' },\n    ],\n    examples: [\n      { description: 'Get owners for a resource', command: 'npx @eventcatalog/cli getOwnersForResource \"OrderService\"' },\n    ],\n  },\n\n  // ================================\n  //            Utilities\n  // ================================\n  {\n    name: 'dumpCatalog',\n    description: 'Dumps the entire catalog to a JSON structure',\n    category: 'Utilities',\n    args: [],\n    examples: [\n      { description: 'Dump entire catalog', command: 'npx @eventcatalog/cli dumpCatalog' },\n      { description: 'Dump and save to file', command: 'npx @eventcatalog/cli dumpCatalog > catalog.json' },\n    ],\n  },\n  {\n    name: 'getResourcesByProperty',\n    description:\n      'Returns the resources with a custom property (an x- field in their frontmatter), optionally with a given value. Values are compared as text, and a list matches when any of its items does',\n    category: 'Utilities',\n    args: [\n      { name: 'property', type: 'string', required: true, description: 'The custom property, e.g. x-public' },\n      {\n        name: 'options',\n        type: 'json',\n        required: false,\n        description: 'Options: { equals?: value, in?: [values], types?: [\"service\", \"event\", ...], latestOnly?: boolean }',\n      },\n    ],\n    examples: [\n      { description: 'Everything with x-public', command: 'npx @eventcatalog/cli getResourcesByProperty \"x-public\"' },\n      {\n        description: 'Latest services and events where x-public is true',\n        command:\n          'npx @eventcatalog/cli getResourcesByProperty \"x-public\" \\'{\"equals\":true,\"types\":[\"service\",\"event\"],\"latestOnly\":true}\\'',\n      },\n      {\n        description: 'Tier 1 or tier 2',\n        command: 'npx @eventcatalog/cli getResourcesByProperty \"x-tier\" \\'{\"in\":[1,2]}\\'',\n      },\n    ],\n  },\n  {\n    name: 'getEventCatalogConfigurationFile',\n    description: 'Returns the EventCatalog configuration file',\n    category: 'Utilities',\n    args: [],\n    examples: [{ description: 'Get config file', command: 'npx @eventcatalog/cli getEventCatalogConfigurationFile' }],\n  },\n\n  // ================================\n  //            Export (DSL and HTML)\n  // ================================\n  {\n    name: 'export',\n    description:\n      'Export catalog resources to EventCatalog DSL (.ec) format, the whole catalog as an architecture reference (one HTML file), or a custom export: the part of the catalog chosen in a file in exports/',\n    category: 'Export',\n    args: [\n      {\n        name: 'custom-export',\n        type: 'string',\n        required: false,\n        description:\n          'The id of a custom export to write as HTML (the file name of exports/<id>.mdx), given as the first argument',\n      },\n      {\n        name: 'format',\n        type: 'string',\n        required: false,\n        description: 'Output format: dsl (default) or html (the architecture reference)',\n      },\n      { name: 'all', type: 'boolean', required: false, description: 'Export the entire catalog (all resource types)' },\n      {\n        name: 'resource',\n        type: 'string',\n        required: false,\n        description: 'Resource type: event, command, query, service, domain (or plural forms)',\n      },\n      { name: 'id', type: 'string', required: false, description: 'Resource ID (omit to export all of the given type)' },\n      { name: 'version', type: 'string', required: false, description: 'Resource version (defaults to latest)' },\n      {\n        name: 'hydrate',\n        type: 'boolean',\n        required: false,\n        description: 'Include referenced resources (messages, channels, owners)',\n      },\n      { name: 'stdout', type: 'boolean', required: false, description: 'Print to stdout instead of writing a file' },\n      {\n        name: 'output',\n        type: 'string',\n        required: false,\n        description: 'Output file path (defaults to <id>.ec, catalog.ec, architecture.html or <custom-export>.html)',\n      },\n      {\n        name: 'no-open',\n        type: 'boolean',\n        required: false,\n        description: 'With --format html: do not open the reference in your browser',\n      },\n      {\n        name: 'check',\n        type: 'boolean',\n        required: false,\n        description: 'With a custom export: list what is in it and what was left out, without writing it',\n      },\n    ],\n    examples: [\n      {\n        description: 'Export a single service',\n        command: 'npx @eventcatalog/cli export --resource service --id OrderService',\n      },\n      {\n        description: 'Export a service with all dependencies',\n        command: 'npx @eventcatalog/cli export --resource service --id OrderService --hydrate',\n      },\n      {\n        description: 'Export all services',\n        command: 'npx @eventcatalog/cli export --resource services',\n      },\n      {\n        description: 'Export all services with hydration to stdout',\n        command: 'npx @eventcatalog/cli export --resource services --hydrate --stdout',\n      },\n      {\n        description: 'Export the entire catalog',\n        command: 'npx @eventcatalog/cli export --all --hydrate',\n      },\n      {\n        description: 'Export entire catalog to a custom file',\n        command: 'npx @eventcatalog/cli export --all --hydrate -o my-catalog.ec',\n      },\n      {\n        description: 'Export the architecture reference and open it in your browser',\n        command: 'npx @eventcatalog/cli export --format html',\n      },\n      {\n        description: 'Export the architecture reference to a custom file without opening it',\n        command: 'npx @eventcatalog/cli export --format html --output docs/architecture.html --no-open',\n      },\n      {\n        description: 'Write the custom export in exports/partner-payments.mdx',\n        command: 'npx @eventcatalog/cli export partner-payments',\n      },\n      {\n        description: 'See what a custom export includes and what it leaves out, without writing it',\n        command: 'npx @eventcatalog/cli export partner-payments --check',\n      },\n    ],\n  },\n\n  // Snapshots\n  {\n    name: 'createSnapshot',\n    description: 'Take a point-in-time snapshot of the entire catalog, capturing all resources and their metadata as a JSON file',\n    category: 'Snapshots',\n    args: [\n      {\n        name: 'label',\n        type: 'string',\n        required: false,\n        description: 'Human-readable label for the snapshot (defaults to ISO timestamp)',\n      },\n      {\n        name: 'outputDir',\n        type: 'string',\n        required: false,\n        description: 'Output directory for the snapshot file (defaults to .snapshots/)',\n      },\n    ],\n    examples: [\n      {\n        description: 'Create a snapshot with default settings',\n        command: 'npx @eventcatalog/cli snapshot create',\n      },\n      {\n        description: 'Create a snapshot with a custom label',\n        command: 'npx @eventcatalog/cli snapshot create --label pre-release-v2',\n      },\n      {\n        description: 'Create a snapshot and print JSON to stdout',\n        command: 'npx @eventcatalog/cli snapshot create --stdout',\n      },\n    ],\n  },\n  {\n    name: 'diffSnapshots',\n    description:\n      'Compare two snapshot files and output a structured diff showing added, removed, modified, and versioned resources plus relationship changes',\n    category: 'Snapshots',\n    args: [\n      { name: 'fileA', type: 'string', required: true, description: 'Path to the first (older) snapshot file' },\n      { name: 'fileB', type: 'string', required: true, description: 'Path to the second (newer) snapshot file' },\n    ],\n    examples: [\n      {\n        description: 'Diff two snapshot files as text',\n        command: 'npx @eventcatalog/cli snapshot diff .snapshots/before.snapshot.json .snapshots/after.snapshot.json',\n      },\n      {\n        description: 'Diff two snapshot files as JSON',\n        command:\n          'npx @eventcatalog/cli snapshot diff .snapshots/before.snapshot.json .snapshots/after.snapshot.json --format json',\n      },\n    ],\n  },\n  {\n    name: 'listSnapshots',\n    description: 'List all snapshots in the catalog .snapshots directory with their labels, timestamps, and git info',\n    category: 'Snapshots',\n    args: [],\n    examples: [\n      {\n        description: 'List all snapshots',\n        command: 'npx @eventcatalog/cli snapshot list',\n      },\n      {\n        description: 'List all snapshots as JSON',\n        command: 'npx @eventcatalog/cli snapshot list --format json',\n      },\n    ],\n  },\n\n  // Governance\n  {\n    name: 'governanceCheck',\n    description:\n      'Compare the current catalog (or a target branch) against a base branch and evaluate governance rules defined in governance.yaml (or governance.yml)',\n    category: 'Governance',\n    args: [\n      { name: '--base', type: 'string', required: false, description: 'Base branch to compare against (default: main)' },\n      {\n        name: '--target',\n        type: 'string',\n        required: false,\n        description: 'Target branch to compare (default: current working directory)',\n      },\n      { name: '--format', type: 'string', required: false, description: 'Output format: text or json (default: text)' },\n      {\n        name: '--status',\n        type: 'string',\n        required: false,\n        description: 'Status label to include in webhook payloads (e.g. proposed, approved)',\n      },\n    ],\n    examples: [\n      {\n        description: 'Check governance rules against main branch',\n        command: 'npx @eventcatalog/cli governance check',\n      },\n      {\n        description: 'Check against a specific base branch',\n        command: 'npx @eventcatalog/cli governance check --base develop',\n      },\n      {\n        description: 'Compare two branches directly',\n        command: 'npx @eventcatalog/cli governance check --base main --target feat/new-service',\n      },\n      {\n        description: 'Output results as JSON',\n        command: 'npx @eventcatalog/cli governance check --format json',\n      },\n    ],\n  },\n\n  // Fitness\n  {\n    name: 'fitnessCheck',\n    description:\n      'Run the architecture fitness functions (*.fitness.ts files in fitness/ folders) against the catalog, print the results and write them to a JSON report. Exits with 1 when a function fails or errors, so it can gate CI',\n    category: 'Fitness',\n    args: [\n      {\n        name: '--output',\n        type: 'string',\n        required: false,\n        description: 'Where to write the report, relative to the catalog (default: .eventcatalog/fitness/results.json)',\n      },\n      { name: '--format', type: 'string', required: false, description: 'Output format: text or json (default: text)' },\n    ],\n    examples: [\n      {\n        description: 'Run every fitness function in the catalog',\n        command: 'npx @eventcatalog/cli fitness check',\n      },\n      {\n        description: 'Run the fitness functions of a catalog in another directory',\n        command: 'npx @eventcatalog/cli --dir ./my-catalog fitness check',\n      },\n      {\n        description: 'Print the report as JSON',\n        command: 'npx @eventcatalog/cli fitness check --format json',\n      },\n    ],\n  },\n];\n\n/**\n * Get all unique categories\n */\nexport function getCategories(): string[] {\n  return [...new Set(cliFunctions.map((fn) => fn.category))];\n}\n\n/**\n * Get functions by category\n */\nexport function getFunctionsByCategory(category: string): CLIFunctionDoc[] {\n  return cliFunctions.filter((fn) => fn.category === category);\n}\n\n/**\n * Get a function by name\n */\nexport function getFunction(name: string): CLIFunctionDoc | undefined {\n  return cliFunctions.find((fn) => fn.name === name);\n}\n"],"mappings":"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","names":[]}