Language

Terraform

Terraform is where SchematIaC started, and it is still the fullest experience. Open your .tf and .tfvars files on one canvas — every block becomes a node, every attribute a row, every reference a wire — and see what each value actually resolves to, in place.

Works with OpenTofu too — the same HCL — and needs no terraform binary. Looking for Azure Bicep? It is a peer language on the same canvas.

.tf / .tfvars Simulated workspaces Folder Overview OpenTofu
A Terraform canvas: dev.tfvars flowing into variables.tf, main.tf locals, and four resources, wires running left to right
What becomes what

TerraformOn the canvas
resource, data, moduleone node each, attributes as rows
variable blocksone node per file, one row per variable
.tfvars entriesone node per file, one row per assignment
locals, outputone node per file, one row per name
var.x, local.y, aws_vpc.maina wire into the consuming row
Resolved values, honest about apply

The canvas evaluates your HCL locally and shows the computed value, not the expression. Anything that genuinely cannot be known before terraform apply reads (known after apply) rather than a guess.

Written in the fileShown on the canvas
"${var.env}-acme""dev-acme"
var.bucket_name"acme-dev-artifacts"
aws_vpc.main.id(known after apply)
Compare environments with workspaces

The same canvas open twice — workspace prod beside workspace dev, different resolved values flowing through

One canvas is one definition — the same model as Terraform itself. Simulated workspaces are named sets of variable values kept in the .canvas file, applied over defaults and tfvars exactly as a real workspace would inject them at plan time.

Switch the active workspace from the toolbar, or compare them all at once — with overridden values marked. See the docs for the full walk-through.

Modules and the Folder Overview

Modules

Local module sources (./, ../) load automatically when their caller is added; each appears as a box with input and output ports. Registry and git modules are roadmap.

Folder Overview

Right-click a folder for a read-only picture of a whole tree: a card per directory with what it declares, and wires for which directories call which. Terraform-only, for now.

What is not evaluated yet

  • A few Terraform-only functions — templatefile, cidrsubnet, try — are not evaluated yet; those rows read unresolved rather than guess.
  • count and for_each are not expanded — a resource with three instances is one node.
  • Adding and deleting resources, and moved-block refactoring, are roadmap. The changelog keeps shipped and planned strictly apart.

Install from the Marketplace — free through the end of 2026. Getting started takes you from install to your first write-back, or hand the same engine to your editor's AI over the MCP server.