Getting started

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

1. Install the extension

Install SchematIaC from the VS Code Marketplace, or search for SchematIaC in the Extensions view. It needs VS Code 1.74 or newer, and works with OpenTofu projects — same HCL.

2. Start the trial

Opening a canvas without a licence shows an activation screen. Click Start 14-day trial, enter your email, and type the 6-digit code from the email you receive. The screen becomes your canvas the moment the trial is active.

Those are the only two network requests the extension ever makes — your email address and an anonymous installation digest, never any Terraform. See Licensing & privacy for the details.

3. Create a canvas

  1. Run New SchematIaC Canvas from the command palette and name it after the project — one canvas is one definition, not one per environment (workspaces handle dev/test/prod).
  2. Right-click a .tf, .tfvars file or a folder in the Explorer and choose Add to SchematIaC Canvas — or use + Add file on the canvas toolbar. Adding a folder adds the files directly inside it: a Terraform root module is a directory.

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

The canvas itself is a small .schematiac/<name>.canvas file — safe to commit, safe to delete, never your infrastructure.

4. Trace a value

Blocks are nodes; attributes are rows; references are wires. Variables, locals, outputs and tfvars entries group into one node per file. Click any row and its whole lineage lights up — the tfvars entry that fed the variable that fed the resource attribute — while everything else dims.

Values show what they resolve to, not the expression: "${var.env}-acme" reads "dev-acme". A corner mark says when a value was computed rather than typed; hover it for the expression behind it. See The canvas for what every mark means.

5. Change something and save

  • Re-point a reference: drag a wire’s source dot onto a different variable, local or resource. Compatible targets light up; a list can never be dropped where a string is expected.
  • Edit a value: click a definition in the properties panel and type a new expression. It is validated as HCL before it can touch a file.

Every change shows you the exact line diff for approval, then stages until you press Save — which reviews every pending file one last time, with per-file revert. Only the expression you changed is rewritten. Nothing reaches disk before Save.

Where next