A local-first rich editor for your EventCatalog.
Browse, edit and publish services, domains, events, commands, queries, channels, entities, flows, users and teams — without leaving your terminal.
The EventCatalog Editor is a local-first companion app for EventCatalog. It runs on your machine, reads and writes the markdown/MDX files in your existing catalog, and gives you a rich editing experience for every resource type EventCatalog supports.
It is designed to feel like a lightweight CMS for your event-driven architecture — no databases, no servers, no lock-in. Your catalog stays in git, exactly where it lives today.
This repository is the public home for issues, discussions and feedback about the editor. The editor itself is distributed on npm as
@eventcatalog/editor.
You need:
- Node.js 22+
- An existing EventCatalog directory (one containing an
eventcatalog.config.js)
From inside your catalog, run:
npx @eventcatalog/editorThe editor will open at http://localhost:3900 in your browser.
You can also point it at a specific catalog from anywhere:
npx @eventcatalog/editor --catalog ./path/to/your/catalogIf you don't pass --catalog and the current directory isn't a catalog, the editor will open a screen letting you pick one from the UI.
| Flag | Description |
|---|---|
--catalog <path> |
Path to the EventCatalog root you want to edit. |
--port <n> |
Port to listen on (default: 3900). |
--no-open |
Don't open the browser automatically. |
--help, -h |
Show help. |
--version, -v |
Show the installed version. |
- Browse every resource type in your catalog — services, domains, events, commands, queries, channels, entities, flows, users and teams.
- Edit markdown bodies in a rich Tiptap-based editor with slash commands, drag handles, code blocks, mermaid diagrams, admonitions, resource mentions and more.
- Edit frontmatter through structured forms — names, summaries, owners, badges, specifications, schemas, producers/consumers and other resource-specific fields.
- Search across names, summaries, bodies and frontmatter with prefix and fuzzy matching.
- Manage schemas and specifications (OpenAPI, AsyncAPI, JSON Schema, Avro) directly on the resource.
- Preview changes against a local EventCatalog instance before publishing.
- Review and publish changes via your local git repo — see what changed, group changes by resource, and commit straight from the editor.
- Round-trip MDX components verbatim, so custom blocks aren't lost on save.
The editor runs entirely on your machine:
- A small local HTTP server (Hono) wraps your catalog using
@eventcatalog/sdkand serves a resource-oriented HTTP API. - A React UI (Vite + Tiptap + Monaco) talks to that API and renders the editor.
- Everything is read from and written to the files on disk in your catalog — no external services, no syncing.
Because the storage layer is behind an interface, future versions will be able to plug into other backends (e.g. remote APIs or hosted catalogs) without changing the UI.
- 🐛 Found a bug? Open an issue in this repo.
- 💡 Have a feature request or feedback? Open an issue and tell us what you'd like to see.
- 📚 Looking for EventCatalog itself? Head to eventcatalog.dev or the main EventCatalog repo.
- 💬 Want to chat? Join the EventCatalog Discord community.
When filing an issue, it really helps if you can include:
- The version of
@eventcatalog/editoryou're running (npx @eventcatalog/editor --version). - Your Node.js version (
node --version). - A short description of what you expected and what actually happened.
- Any relevant CLI output or browser console errors.
The editor is under active development. Some of the things on our radar:
- Richer diff and review experience for catalog changes.
- More backends (hosted catalogs, remote APIs).
- Deeper visualisations and navigation between related resources.
- Improved offline and large-catalog performance.
If there's something specific you want to see, please open an issue — we genuinely use it to prioritise.
The EventCatalog Editor is distributed under a dual-license model. See the @eventcatalog/editor package and the main EventCatalog project for details.