Docs

Getting started

From install to your first write-back in about five minutes. No terraform binary required; everything runs inside VS Code.

  1. 01

    Install the extension

    Install SchematIaC from the VS Code Marketplace, or search “SchematIaC” in the Extensions view. Needs VS Code 1.74 or newer. It also runs in OpenTofu projects — same HCL.

  2. 02

    Start the trial

    Opening a canvas without a licence shows an activation screen. Click Start 14-day trial, enter an email, then type the 6-digit code we send you — that unlocks everything for 14 days. Those two requests are the extension's only network calls; an email address and an anonymous installation digest go to the licensing service. Never any Terraform. See how we handle your code.

  3. 03

    Create a canvas

    Run New SchematIaC Canvas from the command palette and name it. Fill it by right-clicking a .tf, .tfvars or folder in the Explorer and choosing Add to SchematIaC Canvas, or with + Add file on the canvas toolbar. The canvas is a plain file you check in. Name it for the project — one canvas is one definition, and simulated workspaces parameterize it for dev, test and prod:

    .schematiac/
      analytics.canvas   # workspaces: dev, test, prod
      networking.canvas  # workspaces: dev, prod
  4. 04

    Trace a value

    Each block is a node and its attributes are rows; variables, locals, outputs and tfvars entries group into one node per file. References are wires. A row shows what the value resolves to — "${var.env}-acme" displays as "dev-acme" — with a corner mark saying it was computed, and the expression behind it on hover. Click a row to light up its whole lineage; values that genuinely cannot be known before apply show as (known after apply).

  5. 05

    Change a value and save

    Drag the blue dot at a wire's source onto a different variable, or edit an expression in the properties panel. Both show you the exact diff before anything is staged; nothing reaches disk until Save, which reviews every changed file one last time. Only what you changed is rewritten:

    -  instance_type = var.instance_type      # standard workload+  instance_type = var.machine_class      # standard workload
Current limits

  • Local module sources only (./, ../); registry and git modules are roadmap.
  • Modules are boxes with input and output ports; drilling in is roadmap.
  • Rows using Terraform-only functions (templatefile, cidrsubnet, try) stay unresolved, and count/for_each instances are not expanded.
  • Adding and deleting resources is roadmap — today the canvas re-points references and edits values.