Language
New

Bicep

Azure Bicep is now a full peer language to Terraform on the same canvas. Open your .bicep and .bicepparam files and you get the same graph: params, vars and outputs as nodes, resources as nodes, references as wires, and the value each row resolves to shown in place.

A hand-rolled Bicep engine, compiled to the same WebAssembly bundle — no Bicep CLI required, and your code never leaves your machine. Already know the Terraform experience? It lines up block-for-block.

.bicep / .bicepparam Azure No Bicep CLI Same canvas
The same canvas, the same moves

Trace

Click a row and its whole lineage lights up while everything else dims.

Resolve

See the computed value, not the expression, with a mark that says how it got there.

Edit

Drag a wire to re-point a reference, or type a new expression — validated as Bicep before it can touch a file.

Review & save

Every change shows its exact one-line diff, staged until Save. Only what you changed is rewritten.

What maps to what

If you already know the Terraform experience, here is how Bicep lines up.

TerraformBicep
.tf source files.bicep source files
.tfvars values file.bicepparam file
variableparam — addressed as var.<name>
localsvar — addressed as local.<name>
outputoutput
a resource (aws_instance.web)a resource by its symbol (sa, or a child sa::blob)
simulated workspacesnot applicable — use more than one .bicepparam

Environments are param files

A Bicep canvas has no simulated workspaces. Add more than one .bicepparam file — dev.bicepparam, prod.bicepparam — and each is already its own environment, evaluated in place.

One canvas, one language

A canvas is Terraform or Bicep, never both — the first file you add decides. Point one at a folder holding both and SchematIaC asks you to add them separately rather than guessing.

Modules and what is not evaluated yet

  • A local Bicep module (a referenced .bicep file) loads as a box with input and output ports. A registry (br:) module shows as a box with a note rather than real ports.
  • Loop resources ([for ...]) render as a single node, the same way Terraform's count/for_each do.
  • User-defined Bicep functions (func) are not evaluated; those rows read unresolved rather than guess.
  • The Folder Overview is Terraform-only for now — a Bicep folder opens straight on a canvas instead.

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 Bicep engine to your editor's AI over the MCP server.