Turns a plain-text .stm file into something your whole team can work with directly: reviewable like a document, navigable like code, and visual wherever a diagram says more than an arrow — without giving up the Git-friendly plain text that makes Satsuma worth using in the first place.
Satsuma files are plain text by design — version them, diff them, review them in a pull request. The extension is what makes that plain text feel as approachable as a spreadsheet, and considerably more powerful.
Syntax highlighting, hover tooltips, and an outline panel turn a mapping into something a product owner can scan without knowing the syntax. Inline CodeLens goes further — usage counts appear right above each block, so "is this field used anywhere?" is answered before you've clicked a thing.
satsuma fmt
The Workspace Graph lays out every schema, mapping, metric, and fragment as an interactive SVG — click any node to jump to its definition, filter by namespace, and it auto-refreshes on save. Click into a mapping and it opens the Mapping Detail view: source and target schemas side by side, with every field-level arrow and transform between them.
Red squiggles for parse errors as you type; yellow squiggles on save for undefined schemas, duplicate names, and broken imports. //! and //? marker comments surface in the Problems panel too.
"Show Lineage From..." picks a schema and renders its full forward or backward flow through the workspace — know what breaks before you change something.
Click the lineage icon on any field and the visualization becomes a left-to-right rail: everything upstream of that field, the field itself in the middle, everything downstream. Each hop names the mapping responsible — click it to open that mapping, or click any field to re-centre the chain there. A hop that hit the traversal limit says so, so a truncated chain never looks complete.
Green and red gutter markers plus a status-bar percentage show mapped vs. unmapped target fields for the mapping under your cursor — no CLI, no counting by hand. For the whole workspace at once, the visualization's Coverage overlay repaints every schema card with the proportion of its fields that something actually maps, and marks the records that are only partly covered.
Open the Command Palette (Ctrl+Shift+P) and type "Satsuma" for all 9 commands. Each one runs the CLI for you and renders the result.
Run satsuma validate and populate the Problems panel with semantic errors.
Pick a schema and trace its downstream data flow through the pipeline.
Surface all //! warning comments in the Problems panel.
Display workspace statistics: schema count, mapping count, arrow count, and more.
Open an interactive SVG diagram of your workspace with click-to-navigate nodes.
Opens the chain view for the field under your cursor — its upstream and downstream hops on one rail.
Gutter markers and status bar showing mapped vs. unmapped fields with coverage percentage. Paired with Clear Mapping Coverage to remove the markers.
Removes the gutter markers and status bar item added by Show Mapping Coverage.
Opens the workspace visualization with the coverage overlay already on, so every schema card shows how much of it is mapped.
Download the extension, install it, and open any .stm file.
Download vscode-satsuma-v0.13.0.vsix from the v0.13.0 release (or the latest unstable build). Then, in VS Code, open the Extensions view, choose Install from VSIX… from the ··· menu (or run Extensions: Install from VSIX… from the Command Palette) and select the downloaded file. Or install from the command line:
$ code --install-extension vscode-satsuma-v0.13.0.vsix
Clone the repo and build the extension yourself:
$ cd tooling/vscode-satsuma $ npm install $ cd server && npm install && cd .. $ npm run build $ npx @vscode/vsce package --no-dependencies -o vscode-satsuma.vsix $ code --install-extension vscode-satsuma.vsix
Required for the Language Server Protocol client and all extension features.
Needed only for building from source. Not required when installing the pre-built .vsix.
satsuma CLI on PATHRequired for validation diagnostics, workspace commands, and webview panels. Download from the v0.13.0 release or see the CLI page.
If satsuma is not on your PATH, set the satsuma.cliPath setting in VS Code to the full path of the CLI executable.
Satsuma is open source and free. Start mapping in minutes.