Workflow
Catalog
The catalog is a browsable view of your Messagevisor project: definitions, their relationships, history, examples, and generated views. It is the easiest way to review a project with other humans in a visual way.
Preview#
From an example project:

Main commands#
$ npx messagevisor catalog # run in dev mode$ npx messagevisor catalog --port=3100$ npx messagevisor catalog export # static export to catalog/ directory$ npx messagevisor catalog serve # serve the static catalog locally$ npx messagevisor catalog serve --port=3100| Command | Description |
|---|---|
catalog | Run locally so it auto updates as you edit files |
catalog export | Generate static catalog files on disk (preferably in CI) |
catalog serve | Serve the static catalog locally |
Both catalog and catalog serve use port 3000 by default. Pass --port=<number> or -p <number> when that port is already in use.
Routing behavior#
By default, the catalog uses browser routing, assuming it is hosted on the root of (sub)domain.
That means:
- URLs are clean
- deep links do not include
# - refreshes on deep routes work as long as the host serves
index.htmlfor unmatched app routes
If you need hash routing instead, opt in explicitly:
$ npx messagevisor catalog export --hashRouter$ npx messagevisor catalog serve --hashRouterUse hash routing when:
- your host cannot fall back to
index.html - you want static routing behavior without server-side rewrite support
What the catalog shows#
The catalog includes:
- messages, locales, attributes, segments, and targets
- entity relationships
- translations, overrides, formats, and history
- set-aware views for sets-based projects
- locale and message examples
- locale duplicate translation reports
- permalinkable example rows and translation rows where supported
- locale direction metadata, including RTL-aware rendering for translated content
Why use the catalog#
The catalog is useful for:
- code review
- onboarding teammates
- sharing deep links to a specific message, override, translation row, or example
- finding duplicate translation values for a locale without running a separate terminal command
- comparing locale and target behavior without running ad hoc CLI commands repeatedly
For product managers, content designers, localization leads, and legal reviewers, the catalog is the human-readable layer over the same definitions engineers validate in CI. It lets reviewers see copy, context, examples, and targeting rules without needing to understand every YAML field.
Review workflow#
A practical catalog review usually looks like this:
- run
npx messagevisor catalogwhile authoring - open the message, locale, or target being changed
- inspect translations, overrides, examples, and related segments
- export, host, and share deep links in the pull request for reviewers
- run tests before merging
For hosted documentation or release review, generate the static catalog with catalog export and publish it next to the built datafiles or as a CI artifact.
This is meant to be private for your organization, and not shared with the wider world.
Export and deployment notes#
The catalog is a generated artifact. Treat it like build output:
- regenerate when project content changes
- publish static files if you want a hosted catalog
- prefer browser routing when your host supports SPA fallback routes

