Limits
SchematIaC is honest about its edges. When something cannot be known or is not modelled, it says so on the canvas rather than guessing. The current list:
- Terraform registry and git modules load once
terraform inithas vendored them under.terraform/modules. An unvendored registry module is a warning on its box, not an error that blocks the canvas. A Bicep registry (br:) module shows as a box with a note rather than real ports — there is no vendoring step to resolve it against. - A module is a box with ports — you cannot drill into one to see its internal resources yet.
countandfor_eachare not expanded: a resource with three instances is one node. A Bicep[for ...]loop resource renders as one node the same way.- Some functions are not evaluated — Terraform’s
templatefileandcidrsubnet, and user-defined Bicepfunc. Rows using them read unresolved, with the reason, rather than a guess.try()andcan()do evaluate. - Bicep canvases have no simulated workspaces — add more than one
.bicepparamfile, one per environment, instead. - Variable precedence is what is on the canvas. The last tfvars file listed wins — matching
-var-fileordering — but-var,TF_VAR_*environment variables and*.auto.tfvarsordering are not modelled. - Editing changes existing expressions. Re-pointing references, editing values, Analyze, and copying a resource to another canvas (Terraform) is what ships; adding and deleting whole resources from scratch, and
moved-block refactoring, are planned. - Upgrade Preview compares your used arguments to published docs. Exact
terraform providers schema -jsondiffs, a palette of attributes you have not written yet, and Bicep API-version upgrades are planned. .tf.jsonand.tfvars.jsonare not parsed.
It is not a replacement for terraform plan or an ARM what-if. Those still own the remote world. SchematIaC answers a smaller, sharper question: what on this canvas would move.
It is not an AI agent. Your agent writes and applies. SchematIaC is the ground truth that agent can ask — see MCP server.
The changelog keeps shipped and planned strictly apart. If something here is wrong, or a limit is in the way, file it at github.com/schematiac/issues.
SchematIaC Docs