{"id":21455512,"url":"https://github.com/hookdeck/eventcatalog-generator","last_synced_at":"2025-08-14T12:35:04.218Z","repository":{"id":262269091,"uuid":"864460827","full_name":"hookdeck/eventcatalog-generator","owner":"hookdeck","description":"An EventCatalog Generator Plugin for Hookdeck","archived":false,"fork":false,"pushed_at":"2024-11-11T13:57:48.000Z","size":1869,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T03:25:10.572Z","etag":null,"topics":["event-driven-applications","event-driven-architecture","event-driven-architectures","vizualizations","webhooks"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hookdeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-28T09:26:44.000Z","updated_at":"2025-02-11T06:12:01.000Z","dependencies_parsed_at":"2024-11-11T14:53:21.494Z","dependency_job_id":null,"html_url":"https://github.com/hookdeck/eventcatalog-generator","commit_stats":null,"previous_names":["hookdeck/eventcatalog-generator"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hookdeck/eventcatalog-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hookdeck%2Feventcatalog-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hookdeck%2Feventcatalog-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hookdeck%2Feventcatalog-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hookdeck%2Feventcatalog-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hookdeck","download_url":"https://codeload.github.com/hookdeck/eventcatalog-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hookdeck%2Feventcatalog-generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260399322,"owners_count":23003142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["event-driven-applications","event-driven-architecture","event-driven-architectures","vizualizations","webhooks"],"created_at":"2024-11-23T05:12:27.897Z","updated_at":"2025-06-17T16:35:11.814Z","avatar_url":"https://github.com/hookdeck.png","language":"TypeScript","readme":"# Hookdeck EventCatalog Generator\n\nGenerated the following from a [Hookdeck](https://hookdeck.com?ref=github-hookdeck-eventcatalog-generator) Project:\n\n- Services: based on Hookdeck [Sources](https://hookdeck.com/docs/sources?ref=github-hookdeck-eventcatalog-generator) and [Destinations](https://hookdeck.com/docs/destinations?ref=github-hookdeck-eventcatalog-generator)\n- Events: based on Hookdeck [Requests](https://hookdeck.com/docs/requests?ref=github-hookdeck-eventcatalog-generator) to Sources and [Events](https://hookdeck.com/docs/events?ref=github-hookdeck-eventcatalog-generator) sent to Destinations\n\n![Example of EventCatalog with Services and Events generated by the Hookdeck EventCatalog Generator](docs/hookdeck-eventcatalog.png)\n\n## Run the generator as a CLI\n\n```sh\nnpx @hookdeck/eventcatalog-generator {flags}\n```\n\nSupported flags are:\n\n- `log-level`: The level to log at - \"fatal\" | \"error\" | \"warn\" | \"info\" | \"debug\" | \"trace\"\n- `match`: Regular expression match for Source names on Connections\n- `dir`: Path the the Event Catalog install directory\n- `api-key`: Hookdeck Project API Key\n- `max-events`: The maximum number of Requests/Events to process per Source/Destination\n\nExample:\n\n```sh\nnpx @hookdeck/eventcatalog-generator \\\n    --dir ./path/to/eventcatalog/install \\\n    --api-key {HOOKDECK_API_KEY} \\\n    --log-level debug \\\n    --match \"stripe-production\" \\\n    --domain Payments \\\n    --max-events 200\n```\n\nThe CLI will also use the following environment variables:\n\n- `PROJECT_DIR`: Path the the Event Catalog install directory\n- `HOOKDECK_PROJECT_API_KEY`: Hookdeck Project API Key\n\nThe environment variables can be within a `.env` file that will automatically be detected.\n\n## Install the Hookdeck Generator in EventCatalog\n\nNavigate to your EventCatalog directory, then install the package.\n\n```sh\nnpm i @hookdeck/eventcatalog-generator\n```\n\nConfigure your EventCatalog to use your generator\n\nEdit your `eventcatalog.config.js` file and add the generator\n\n```js\n...\ngenerators: [\n    [\n        \"@hookdeck/eventcatalog-generator\",\n        {\n            logLevel: \"fatal\" | \"error\" | \"warn\" | \"info\" | \"debug\" | \"trace\",\n            connectionSourcedMatch: \"regular expression string to match source names\",\n            hookdeckApiKey: \"Hookdeck Project API Key. Hookdeck -\u003e Project -\u003e Settings -\u003e Secrets\"\n        }\n    ]\n]\n...\n```\n\n### Run the generator in Event Catalog\n\nIn the EventCatalog directory run:\n\n```\nnpm run generate\n```\n\nThis will run the generator code and interact with your Catalog.\n\n## Development\n\n### Run the generation\n\n```sh\nnpm run generate -- {flags}\n```\n\nSupported flags are:\n\n- `log-level`: The level to log at - \"fatal\" | \"error\" | \"warn\" | \"info\" | \"debug\" | \"trace\"\n- `match`: Regular expression match for Source names on Connections\n- `dir`: Path the the Event Catalog install directory\n- `api-key`: Hookdeck Project API Key\n- `max-events`: The maximum number of Requests/Events to process per Source/Destination\n\nExample:\n\n```sh\nnpm run generate -- --log-level debug --match \"stripe-production\" --domain Payments\n```\n\nThe `generate` script will also use the following environment variables:\n\n- `PROJECT_DIR`: Path the the Event Catalog install directory\n- `HOOKDECK_PROJECT_API_KEY`: Hookdeck Project API Key\n\nThe environment variables can be within a `.env` file that will automatically be detected.\n\n### Compile and watch your plugin\n\nIn the plugin directory run:\n\n```sh\n# Just build the plugin once\nnpm run build\n\n# Watch changes (recommended for dev)\nnpm run build -- -- watch\n```\n\n---\n\n## Resources\n\n### Hookdeck\n\n- [Hookdeck](https://hookdeck.com?ref=github-hookdeck-eventcatalog-generator)\n- [Hookdeck docs](https://hookdeck.com/docs?ref=github-hookdeck-eventcatalog-generator)\n\n### EventCatalog\n\n- [eventcatalog.dev](https://eventcatalog.dev)\n- [EventCatalog integrations](https://www.eventcatalog.dev/integrations)\n- [EventCatalog Discord](https://discord.gg/3rjaZMmrAm)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhookdeck%2Feventcatalog-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhookdeck%2Feventcatalog-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhookdeck%2Feventcatalog-generator/lists"}