Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Rune DSL StudioNew to Visual Studio Code? Get it now.
Rune DSL Studio

Rune DSL Studio

Nicholas Moger

|
2 installs
| (0) | Free
Project management and language support for Rune DSL models (FINOS CDM, DRR, ISO 20022)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Rune DSL (.rosetta) Language Support

Rune DSL VS Code License

Full-featured IDE support for Rosetta domain models — FINOS CDM, DRR, ISO 20022, and custom financial models.

Build, explore, and test Rune DSL (.rosetta) models directly in VS Code. Includes a RuneBook editor for interactive code generation and validation, 3D type graph visualization, project management, and a build system for compiling models from source.

Note: any mention of "Rosetta" herein relates to the .rosetta file extension and the Rune DSL language, not any licensed platform.


What's New in v7

  • RuneBook Editor — Interactive notebook-style editor for building and testing Rune DSL types
  • Code Generation — Generate Java from Rune DSL source using the official toolchain
  • Validation — Run validators against generated types with detailed results
  • 3D Graph Visualization — Three.js-based type relationship explorer
  • Template System — Start from pre-built templates (Basic Type, JSON Ingest, and more)
  • Build Manager — Download and manage Rune toolchains directly from GitHub releases

Features

RuneBook Editor

Open .runebook files in an interactive editor:

  • Rune Layer — Write Rune DSL source with Monaco syntax highlighting
  • Java Layer — View generated Java code across multiple files
  • Graph Layer — 3D visualization of type relationships
  • Generate — Compile Rune DSL to Java with the official code generation JAR
  • Execute — Run generated functions with parameter input
  • Validate — Run all three validator types with detailed results modal
  • Template Guide — Contextual help panel when using templates
  • Default Instances — Pre-populated test data from templates

Code Generation & Validation

Generate Java from Rune DSL and validate the output:

  • Validator — Cardinality and structural checks
  • TypeFormatValidator — Format constraints (string patterns, length, numeric ranges)
  • OnlyExistsValidator — Conditional field existence rules

Results display in a modal with pass/fail counts and detailed failure reasons.

Template System

Create new RuneBooks from pre-built templates:

Template Description
Basic Type Simple type with address, validators, and type aliases
JSON Ingest Trade ingestion with mapping functions and sample data

Templates include helpers, default instances, and ingestor configurations.

3D Graph Visualization

Interactive Three.js graph showing type relationships:

  • Inheritance hierarchies
  • Attribute connections between types
  • Zoom, pan, and rotate
  • Integrated into the RuneBook editor as a layer

Project Manager Sidebar

Activity bar panel for managing your Rune DSL workspace:

  • Environment Status — Check prerequisites (Java, Maven, Node.js, Git)
  • Project Management — Create and open projects
  • Build Manager — Download model repositories (CDM, DRR, ISO 20022) and build from source
  • RuneBooks — List, create, open, and delete RuneBook files
  • GitHub Authentication — Sign in to access private model repositories

Code Intelligence

When a built project is available (with indices in .rune/indices/):

Feature Shortcut Description
Go to Definition Ctrl+Click / F12 Jump to type definitions
Find References Shift+F12 Find all usages of a type
Document Symbols Ctrl+Shift+O Navigate file structure
Workspace Symbols Ctrl+T Search all symbols globally
Hover Information Hover Type details, attributes, reference counts
Auto-completion Ctrl+Space Intelligent suggestions
CodeLens — Reference counts and graph links above types

Syntax Highlighting

Full TextMate grammar for .rosetta files:

  • Keywords (type, enum, func, rule, namespace)
  • Type references and attributes
  • Documentation blocks (<"...">)
  • Annotations and conditions

Quick Start

1. Install the Extension

From VSIX:

  1. Download the .vsix file from GitHub releases
  2. In VS Code: Extensions > ... > "Install from VSIX..."

From command line:

code --install-extension rune-dsl-language-support-<version>.vsix

2. Create a Project

  1. Click the Rune DSL icon in the Activity Bar
  2. Click Create New Project and choose a folder
  3. Check the Environment Status — install any missing prerequisites

3. Build a Model

  1. In the Build Manager section, select a model repository (CDM, DRR, or ISO 20022)
  2. Choose a version and click Build
  3. Wait for the Maven build to complete

4. Create a RuneBook

  1. In the RuneBooks section, click the + button
  2. Choose a template or start blank
  3. Write Rune DSL code, click Generate, then explore the Java output and graph

Configuration

Access settings via File > Preferences > Settings and search for "runeDsl".

Editor Settings

Setting Default Description
runeDsl.codeLens.enabled false Show inline annotations above types
runeDsl.codeLens.showGraphLink true Include graph link in CodeLens
runeDsl.hover.showAttributes true Show type attributes in hover
runeDsl.hover.maxAttributes 8 Max attributes shown in hover (0-50)
runeDsl.hover.showReferenceCount true Show reference count in hover
runeDsl.search.maxResults 50 Max workspace symbol results (10-500)

Graph Settings

Setting Default Description
runeDsl.graph.openInColumn "two" Where to open graph: beside, active, or two
runeDsl.graph.detailsPanelWidth 350 Details panel width in pixels (250-800)

Build Settings

Setting Default Description
runeDsl.build.maxConcurrent 4 Concurrent Maven build threads (1-16)
runeDsl.build.timeoutMinutes 20 Maven build timeout in minutes (5-60)
runeDsl.build.autoRebuildOnEdit false Auto-rebuild on .rosetta file changes

Commands

Command Description
Rune DSL: Create New Project Create a new Rune DSL project
Rune DSL: New RuneBook Create a new RuneBook file
Rune DSL: Show Type Graph Open type graph for current file
Rune DSL: Quick Validate Validate active or modified files
Rune DSL: Full Rebuild Override Model Rebuild the override model
Rune DSL: Focus Search Focus the workspace symbol search

Requirements

Minimum

  • VS Code 1.85.0 or higher

For Code Generation & Validation

  • Java 21+ (Adoptium Temurin recommended)
  • Rune toolchain JAR (downloaded automatically by Build Manager)

For Building Models from Source

  • Maven 3.8+
  • GitHub account (for accessing model repositories)

Platform Support

Platform Status
Windows 10/11 (x64) Fully supported
macOS Supported
Linux Supported

Architecture

The extension uses a genuine RuneBook engine — the same JavaScript that powers the web-based RuneBook editor — running inside VS Code webviews. A thin adapter layer bridges the browser's fetch() API to VS Code's postMessage protocol, so the genuine code runs unmodified.

Code generation and validation use the official Rune DSL toolchain JAR (notebook-gen.jar) via subprocess calls from the extension host.


Supported Models

Model Source Description
FINOS CDM GitHub (private) Common Domain Model for derivatives
DRR GitHub (private) Digital Regulatory Reporting
ISO 20022 GitHub (public) Financial messaging standard
Custom Models Local Any Rosetta-based domain model

Troubleshooting

RuneBook won't generate

  1. Check the Environment Status in the sidebar — Java must be installed
  2. Ensure a toolchain is available (run a build first, or check data/rune-tools/)
  3. Check the Output panel (View > Output > select "Rune DSL") for errors

Validators return empty results

  • TypeFormatValidator requires typeAlias with constraints (e.g., string(pattern: "..."))
  • OnlyExistsValidator requires condition blocks with existence rules
  • If a validator has no rules to check, empty results are expected

Code intelligence not working

Code intelligence requires built indices in .rune/indices/. Run a build first via the Build Manager.

Build fails

  • Ensure Maven and Java are installed and on PATH
  • Check GitHub authentication for private repositories (CDM, DRR)
  • Check the build output panel for specific errors

Version History

7.0.0 (Current)

  • RuneBook editor with genuine RuneBook engine
  • Code generation via Rune DSL toolchain JAR
  • Three validator types (Validator, TypeFormatValidator, OnlyExistsValidator)
  • Three.js 3D graph visualization
  • Template system with Basic Type and JSON Ingest
  • Build Manager with GitHub release integration
  • Project Manager sidebar

6.0.1 (Previous)

  • D3-based graph explorer
  • Index-based code intelligence
  • Rune Explorer sidebar

Attribution & Licensing

License: Apache 2.0 — See LICENSE for details.

This extension incorporates components from the open-source Rune DSL project maintained by FINOS.

Related Resources

  • FINOS CDM: finos.org/projects/common-domain-model
  • Rune DSL: github.com/finos/rune-dsl
  • Rosetta Docs: docs.rosetta-technology.io

Feedback & Issues

  • GitHub Issues: github.com/nubbymong/rune_dsl_vsix/issues
  • Feature Requests: Welcome!

Disclaimer

This extension is provided "as-is" without warranty of any kind. Evaluate suitability before use in production environments.

This is a community extension and is not affiliated with, endorsed by, or sponsored by any commercial entity.


Built with the Rune DSL toolchain and VS Code Extension API

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft