VS Code extension (Narrator)
Tools
Explore Chronicle from your editor
When you’re deep in a slice and something looks wrong, the question is usually “what’s actually in the event log?” Narrator answers it without a context switch: it adds a Chronicle Explorer to the VS Code activity bar, so you can browse your event store, page through a sequence, and inspect event and read-model schemas right next to the code you’re writing.
Install it
Section titled “Install it”Narrator is published on the Visual Studio Marketplace as Narrator – Chronicle Explorer (publisher cratis).
-
Open the Extensions view in VS Code (
⇧⌘X/Ctrl+Shift+X). -
Search for Narrator and install Narrator – Chronicle Explorer by Cratis — or install it from the Marketplace listing.
-
Open the Narrator icon in the activity bar. It connects to your active Chronicle context on startup.
The source lives at github.com/Cratis/Narrator.
How it connects
Section titled “How it connects”Narrator reads the same configuration the CLI uses — ~/.cratis/config.json — so if you’ve already pointed the CLI at a store, the extension just works. A config looks like:
{ "activeContext": "default", "contexts": { "default": { "server": "chronicle://localhost:35000", "managementPort": 8080 } }}It auto-connects to the active context on startup and watches the file, reloading when it changes. To use a config in a non-standard location, set the narrator.configPath setting; leave it empty to auto-detect from ~/.cratis/config.json.
What you can do
Section titled “What you can do”Navigate event stores, namespaces, and observers in the Chronicle Explorer tree.
Page through eventsOpen a sequence (Event Log, Outbox, System) into a paged event viewer with keyboard navigation.
Inspect schemasOpen an event type’s or read model’s JSON schema, and open a projection’s declaration.
Switch contextsAdd, edit, and switch between multiple Chronicle server contexts without editing JSON by hand.
A Details pane sits below the explorer and shows the selected node’s context and content as key/value tables — so selecting an event or read model shows its data inline.