
Semantic Layer
Cube
AvailableCube, the semantic layer kept as YAML model files. dex reads your cubes and views natively, authors them as reviewable diffs, and runs the SQL Cube renders under its own cost guard, with no dbt project needed.
Why connect Cube?
Cube keeps a semantic layer as YAML model files of cubes and views. Dex treats it as a first-class semantic layer: it reads your models without a Cube server, authors them as reviewable diffs, runs the SQL Cube renders under its own cost guard, and tells you when the models fall out of sync with the warehouse.
- 1Point Dex at your Cube models with no dbt project and no MetricFlow anywhere in the path
- 2Validate every file against Dex's port of Cube's model rules, and catch a fan-out on a join before it double-counts
- 3Query governed measures through the PII gate and the cost guard: Cube renders the SQL, Dex runs it
- 4Derive a cube from a declared dbt mart, with its primary key, joins, and measures taken from the declaration
Works with Dex
Cube connects to the Exmergo products your team already uses.
How it works
Connecting Cube to
- 1
Point Dex at your Cube models
Install Dex in Claude Code by running
/plugin marketplace add exmergo/exmergo-agent-pluginsand/plugin install dex@exmergo, then add the Cube extra withpip install 'exmergo-dex-core[cube]'. Setsemantic.vendor: cubein.dex/config.ymland list your Cube YAML files undersemantic.cube.files.Cube$ /plugin marketplace add exmergo/exmergo-agent-plugins
$ /plugin install dex@exmergo
$ pip install 'exmergo-dex-core[cube]'
- 2
Read the catalog before you touch anything
/dex:explorereads your cubes and views straight out of the repository, with no Cube server and no Node. Declared primary keys and joins become evidence Dex uses when it profiles tables and verifies joins.Cube$ /dex:explore
- 3
Author models as reviewable diffs
/dex:transformwrites and updates your Cube YAML files throughsemantic cube define, andtransform applycommits them byte-for-byte. Every file is checked against Dex's port of Cube's model rules first, and a sum on the wrong side of a join is flagged as a fan-out before it ships.Cube$ /dex:transform
$ semantic cube define
$ transform apply
- 4
Cube renders, Dex executes
For a governed query, your Cube server turns it into SQL and Dex runs that SQL through its own connector, behind the PII gate and the cost guard. A plan Cube would answer from a rollup it never built, or from another table than the cube declares, is refused before anything runs.
- 5
Catch drift automatically
/dex:maintainsnapshots your Cube layer and holds it to the warehouse: a cube whose table is gone, a member reading a column that disappeared, a join that no longer resolves.Cube$ /dex:maintain