Skip to content

The Rootform language defines what infrastructure evidence means architecturally. A Dialect supplies Rules that interpret Terraform or OpenTofu instances. A Policy Pack asks bounded questions about the resulting architecture. Sources use .rf.hcl or HCL JSON .rf.json; RF accepts a small, closed language, not general Terraform expressions or HCL programming.

From evidence to a decision

  1. Plan or state instances get Representations identified by their addresses.
  2. Rules select instances and may classify them with Concepts.
  3. Emissions resolve targets against evidence and establish architectural facts. Each closure records what was established, absent or still indeterminate.
  4. A Form retains the stages, facts, closures and provenance.
  5. Policies evaluate its architectural facts.

Every observed managed and data instance remains represented, including one with no Rule. A dependency or reference is evidence, not automatically a Relation. Neither a state snapshot nor a network Context proves live cloud behavior. The Form model explains stages and portability.

Learn

Start with the Language tour for one complete subnet example. Then follow the explanations where you need more depth:

Read a Rule
Decode a real official Rule, including selection and classification.
Guide
Choose an architectural fact
Distinguish Context, Relation and Contribution.
Guide
Evidence and target resolution
Understand identity, endpoint, ambiguity and closures.
Guide
Understand composition
Follow implementation members without losing uncertainty.
Guide
Policies over facts
Learn what an assertion can conclude from those facts.
Guide

Author

Edit source
Use VS Code or Zed for feedback while authoring.
Guide
Write a Dialect
Define and test provider interpretation.
Guide
Write a Policy Pack
Name, link, evaluate and package Policies.
Guide
Test and validate
Format source and prove its behavior against evidence.
Guide

Reference

The Language reference is the normative source for accepted syntax, defaults, evaluation rules, diagnostics and limits. Use it for exact contracts; the learning pages explain their motivation and consequences.