# Rootform > Rootform reads Terraform and OpenTofu plans and state, and saved Forms, offline, then shows the architecture they describe: which resources sit where and what connects them. It explores a Form and its stages, explains a placement or a Policy outcome, compares two revisions, checks Policies, and reviews pull requests in CI. Every page below is served as Markdown at its own address with `index.md` in place of the trailing slash, and each page's HTML links its twin. [llms-full.txt](https://docs-staging.rootform.dev/llms-full.txt) is the whole documentation in one file; [llms-small.txt](https://docs-staging.rootform.dev/llms-small.txt) keeps the overview, concept, and guide pages. The sections are the documentation's navigation. ## Start here - [Overview](https://docs-staging.rootform.dev/index.md): Explore, explain, compare, and check the architecture in your Terraform and OpenTofu plans and state. - [Choose an input](https://docs-staging.rootform.dev/inputs/index.md): Choose plan, state, or saved Form evidence for the question at hand. - [Forms and stages](https://docs-staging.rootform.dev/concepts/forms/index.md): Read saved Forms, their architectures, and evidence limits. - [Explain an architecture](https://docs-staging.rootform.dev/guides/explain-architecture/index.md): Ask the terminal why an instance is placed or connected, what a Rule established, and how a Policy decided. - [Compare two Forms](https://docs-staging.rootform.dev/guides/compare-architectures/index.md): Compare selected stages from two plan, state, or saved Forms and read the differences in the report and the Explorer. - [Check a Form with Policies](https://docs-staging.rootform.dev/guides/check-with-policies/index.md): Evaluate a Policy Pack against a saved Form, read the verdict, and keep the result for review. - [Review a pull request](https://docs-staging.rootform.dev/workflows/index.md): Plan base and head revisions in isolated worktrees, compare them, evaluate Policies, and keep review artifacts private. - [GitHub](https://docs-staging.rootform.dev/integrations/github-actions/index.md): Review architecture and Policy results in pull requests and workflow summaries, and keep the Form for reuse. - [Limitations](https://docs-staging.rootform.dev/limitations/index.md): Understand what plan and state analysis can establish and what to use when evidence is incomplete. - [Security and data handling](https://docs-staging.rootform.dev/security/index.md): Understand Rootform's network boundary, sensitive outputs, and trust in selected content. ## Get started - [Overview](https://docs-staging.rootform.dev/index.md): Explore, explain, compare, and check the architecture in your Terraform and OpenTofu plans and state. - [Quickstart](https://docs-staging.rootform.dev/getting-started/quickstart/index.md): Open a sample Form in the Explorer, find one resource, and read the evidence behind its placement, then run the same analysis on your machine. - [Install Rootform](https://docs-staging.rootform.dev/installation/index.md): Install Rootform on macOS, Linux, or Windows, or run it from a container. - [Analyze your plan or state](https://docs-staging.rootform.dev/getting-started/analyze-your-plan/index.md): Export a completed Terraform or OpenTofu plan, or state, and open its architecture in Rootform. - [Glossary](https://docs-staging.rootform.dev/reference/glossary/index.md): Definitions for reading Forms, comparisons, Policy results, and project configuration. ## Analyze and review - [Choose an input](https://docs-staging.rootform.dev/inputs/index.md): Choose plan, state, or saved Form evidence for the question at hand. - [Explore a Form](https://docs-staging.rootform.dev/guides/explore-architecture/index.md): Find a resource, read why it is placed or connected, switch between stages and comparisons, and share the result from the Explorer. - [Explain an architecture](https://docs-staging.rootform.dev/guides/explain-architecture/index.md): Ask the terminal why an instance is placed or connected, what a Rule established, and how a Policy decided. - [Review planned changes](https://docs-staging.rootform.dev/guides/review-planned-changes/index.md): Read what one plan proposes, what drift it reports, and what changes remain once both are combined. - [Compare two Forms](https://docs-staging.rootform.dev/guides/compare-architectures/index.md): Compare selected stages from two plan, state, or saved Forms and read the differences in the report and the Explorer. - [Terraform and OpenTofu plans](https://docs-staging.rootform.dev/inputs/plans/index.md): Produce plan and state exports, pair a saved plan, and read evidence limits. ## Check and automate - [Check a Form with Policies](https://docs-staging.rootform.dev/guides/check-with-policies/index.md): Evaluate a Policy Pack against a saved Form, read the verdict, and keep the result for review. - [Understand Policy outcomes](https://docs-staging.rootform.dev/guides/check-architecture/index.md): See one Policy pass, fail, stay indeterminate, and find no target on plans you produce yourself. - [Review a pull request](https://docs-staging.rootform.dev/workflows/index.md): Plan base and head revisions in isolated worktrees, compare them, evaluate Policies, and keep review artifacts private. ## Integrations - [Integrations](https://docs-staging.rootform.dev/integrations/index.md): Review architecture in GitHub, author Rootform source in your editor, and keep Forms in CI/CD. - [GitHub](https://docs-staging.rootform.dev/integrations/github-actions/index.md): Review architecture and Policy results in pull requests and workflow summaries, and keep the Form for reuse. - [Action](https://docs-staging.rootform.dev/integrations/github-actions/action/index.md): Analyze or compare evidence, check Policies and publish a Rootform review in one GitHub Actions step. - [Analyze](https://docs-staging.rootform.dev/integrations/github-actions/analyze/index.md): Produce or reopen a Form and export architecture Markdown and Explorer HTML in GitHub Actions. - [Compare](https://docs-staging.rootform.dev/integrations/github-actions/compare/index.md): Compare two plan, state or Form operands and retain one Comparison Form in GitHub Actions. - [Check](https://docs-staging.rootform.dev/integrations/github-actions/check/index.md): Check a plan or state directly, or reuse a Form or Comparison Form, against selected Policies in GitHub Actions. - [Setup](https://docs-staging.rootform.dev/integrations/github-actions/setup/index.md): Install and verify an exact published Rootform CLI version for later steps in a GitHub Actions job. - [Init](https://docs-staging.rootform.dev/integrations/github-actions/init/index.md): Prepare the external Dialects and Policy Packs selected by a Rootform project before later GitHub Actions steps. - [VS Code](https://docs-staging.rootform.dev/integrations/vscode/index.md): Write Rootform source with diagnostics, completion, hover, go to definition and formatting in VS Code. - [Zed](https://docs-staging.rootform.dev/integrations/zed/index.md): Write Rootform source with diagnostics, completion, hover, go to definition and formatting in Zed. - [Other CI/CD](https://docs-staging.rootform.dev/integrations/ci/index.md): Review architecture and Policy results in GitLab, Azure Pipelines or a custom runner, and retain the Form for reuse. - [Container image](https://docs-staging.rootform.dev/integrations/oci-image/index.md): Analyze a mounted plan or state export with the official Rootform image, persistent package storage, and offline inputs. ## Understand Rootform - [How Rootform works](https://docs-staging.rootform.dev/concepts/index.md): Understand how plan and state evidence becomes a Form: architecture, comparisons, and Policy results. - [Forms and stages](https://docs-staging.rootform.dev/concepts/forms/index.md): Read saved Forms, their architectures, and evidence limits. - [Trace a placement](https://docs-staging.rootform.dev/getting-started/first-architecture/index.md): Plan a VPC and subnet, see how a saved plan settles a reference unknown until apply, and read the same evidence in the Explorer and the terminal. - [Comparisons and drift](https://docs-staging.rootform.dev/concepts/comparisons/index.md): Interpret changes within one plan and differences between inputs. - [Dialects and RF Vocabulary](https://docs-staging.rootform.dev/concepts/dialects/index.md): Understand how Dialects interpret plan and state instances using shared architectural terms. - [Policies and Policy Packs](https://docs-staging.rootform.dev/concepts/policies/index.md): Understand selection, evaluation, and evidence limits of Rootform Policies. - [Install, add, and vendor](https://docs-staging.rootform.dev/concepts/external-content/index.md): How Rootform separates content available on a machine from the exact dependencies of a project. - [Compatibility and versions](https://docs-staging.rootform.dev/compatibility/index.md): Version boundaries for commands, saved Forms, Policies, and semantic packages. ## Configure and extend - [Select Dialects and Policy Packs](https://docs-staging.rootform.dev/cli/index.md): Choose the content a project uses, inspect the active catalog, and prepare an exact selection. - [Add external content](https://docs-staging.rootform.dev/guides/external-content/index.md): Select reviewed local or published content for a project, then prepare that selection on another machine. - [Locks and vendored content](https://docs-staging.rootform.dev/offline-security/index.md): Understand the security boundary of exact project selection, offline preparation, and vendoring. - [Reproduce an analysis offline](https://docs-staging.rootform.dev/guides/reproduce-build/index.md): Replay the same plan or state input and exact Rootform selection in an independent environment. ## Rootform language - [Rootform language](https://docs-staging.rootform.dev/language/index.md): Learn how Rules turn Terraform and OpenTofu evidence into architecture, then author Dialects and Policies. - [Language tour](https://docs-staging.rootform.dev/language/tour/index.md): Follow one subnet from exported plan evidence through a Dialect Rule, network Context, closure and Policy. - [Read a Rule](https://docs-staging.rootform.dev/language/learn/read-a-rule/index.md): Read an official subnet Rule from instance selection to network Context and its evidence. - [Choose an architectural fact](https://docs-staging.rootform.dev/language/learn/facts/index.md): Distinguish classification, Context, Relation and Contribution before choosing an emission. - [Evidence and target resolution](https://docs-staging.rootform.dev/language/learn/evidence-targets/index.md): Understand identity, endpoint, value matching, verified references and the closures they support. - [Understand composition](https://docs-staging.rootform.dev/language/learn/composition/index.md): Follow a load balancer's implementation members while preserving each instance and unresolved evidence. - [Policies over facts](https://docs-staging.rootform.dev/language/learn/policies/index.md): Understand how Policy assertions use established architecture facts without mistaking uncertainty for absence. - [Edit Rootform source](https://docs-staging.rootform.dev/language/editors/index.md): Author Dialects and Policy Packs with editor feedback, then test them against evidence. - [Write a Dialect](https://docs-staging.rootform.dev/dialect-authoring/index.md): Define provider interpretation in RF, prove it with fixtures, and package reviewed source. - [Use a local Dialect](https://docs-staging.rootform.dev/guides/local-dialect/index.md): Try a Dialect against a real plan, test its evidence, then record it in the project selection. - [Write a Policy Pack](https://docs-staging.rootform.dev/language/write-policy-pack/index.md): Group portable Policies, link them to exact architecture semantics, and package them deterministically. - [Test and validate](https://docs-staging.rootform.dev/language/test-validate/index.md): Format and compile Dialect source, replay plan fixtures, and evaluate a Policy Pack. - [Language reference](https://docs-staging.rootform.dev/language/reference/index.md): Complete reference for Rootform language 0.1.0 source units, declarations, expressions, evaluation, and diagnostics. - [Syntax and files](https://docs-staging.rootform.dev/language/reference/syntax-files/index.md): RF source discovery, native and JSON syntax, structural grammar, identifiers, versions, and source-unit boundaries. - [Symbols and references](https://docs-staging.rootform.dev/language/reference/symbols/index.md): Canonical symbol IDs, local and qualified references, resolution scope, and duplicate-definition rules. - [RF Vocabulary](https://docs-staging.rootform.dev/language/reference/rf-vocabulary/index.md): Complete RF Vocabulary 0.1.0 contract, including every embedded Concept and Context. - [Dialect declarations](https://docs-staging.rootform.dev/language/reference/dialects/index.md): Complete reference for Dialect identity, provider envelopes, Concepts, Contexts, and Relations. - [Rules and matching](https://docs-staging.rootform.dev/language/reference/rules/index.md): Rule declarations, instance matching, identity, and selection precedence. - [Fact emissions](https://docs-staging.rootform.dev/language/reference/emissions/index.md): Context, Relation, and Contribution syntax, endpoint resolution, and closure outcomes. - [Composition](https://docs-staging.rootform.dev/language/reference/composition/index.md): Complete reference for ordered composition members, per-instance resolution, and unresolved-member reasons. - [Expressions](https://docs-staging.rootform.dev/language/reference/expressions/index.md): Complete RF expression grammar, literal types, operators, precedence, typing rules, JSON encoding, and rejected syntax. - [Traversals and scope](https://docs-staging.rootform.dev/language/reference/traversals/index.md): Attribute path grammar, roots, instance values, and saved-plan reference evidence. - [Built-ins](https://docs-staging.rootform.dev/language/reference/built-ins/index.md): Complete RF Policy built-in signatures, required and optional parameters, return types, support, and completeness semantics. - [Policy Packs](https://docs-staging.rootform.dev/language/reference/policy-packs/index.md): Complete reference for Policy Pack manifests, Policies, target dimensions, assertions, linking, and messages. - [Evaluation](https://docs-staging.rootform.dev/language/reference/evaluation/index.md): Instance interpretation, closure truth, Policy targets, outcomes, and exit status. - [Diagnostics and limits](https://docs-staging.rootform.dev/language/reference/diagnostics/index.md): Stable diagnostic codes, severity, Form validation, and authoring limits. ## Reference - [Provider coverage](https://docs-staging.rootform.dev/reference/provider-coverage/index.md): Find official Dialects, provider bindings and declared compatibility, then inspect their interpretation coverage. - [auth0 Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/auth0/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [aws Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/aws/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [azure Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/azure/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [cloudflare Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/cloudflare/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [confluent Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/confluent/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [consul Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/consul/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [databricks Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/databricks/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [datadog Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/datadog/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [google Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/google/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [grafana Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/grafana/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [hcp Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/hcp/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [kestra Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/kestra/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [kubernetes Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/kubernetes/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [mongodb-atlas Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/mongodb-atlas/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [newrelic Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/newrelic/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [okta Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/okta/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [snowflake Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/snowflake/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [vault Dialect](https://docs-staging.rootform.dev/reference/provider-coverage/vault/index.md): See which types this Dialect interprets and which architectural facts its Rules can establish. - [Outputs and exit status](https://docs-staging.rootform.dev/reference/outputs/index.md): Choose analysis and Policy output formats and interpret each command's exit status. - [External content storage](https://docs-staging.rootform.dev/reference/storage/index.md): Locations and ownership of installed, selected, and vendored Rootform content. - [CLI command reference](https://docs-staging.rootform.dev/reference/cli/index.md): Find command syntax, inputs, outputs, and exit status. - [rootform add](https://docs-staging.rootform.dev/reference/cli/add/index.md): Add content to rootform.lock - [rootform add dialects](https://docs-staging.rootform.dev/reference/cli/add/dialects/index.md): Add Dialects to rootform.lock - [rootform add policy-packs](https://docs-staging.rootform.dev/reference/cli/add/policy-packs/index.md): Add Policy Packs to rootform.lock - [rootform check](https://docs-staging.rootform.dev/reference/cli/check/index.md): Evaluate selected Policies against a Form's architectures and exit with one verdict. - [rootform compile](https://docs-staging.rootform.dev/reference/cli/compile/index.md): Compile a Policy Pack for offline checks - [rootform compile policy-pack](https://docs-staging.rootform.dev/reference/cli/compile/policy-pack/index.md): Compile and pin a Policy Pack - [rootform completion](https://docs-staging.rootform.dev/reference/cli/completion/index.md): Generate completion for a supported shell. - [rootform explain](https://docs-staging.rootform.dev/reference/cli/explain/index.md): Justify an instance, Rule application, or recorded Policy outcome. - [rootform explain instance](https://docs-staging.rootform.dev/reference/cli/explain/instance/index.md): Explain one instance: its interpretation, facts, closures, and evidence. - [rootform explain policy](https://docs-staging.rootform.dev/reference/cli/explain/policy/index.md): Explain one Policy outcome recorded by check. - [rootform explain rule](https://docs-staging.rootform.dev/reference/cli/explain/rule/index.md): Explain how one Rule applied in an input. - [rootform fmt](https://docs-staging.rootform.dev/reference/cli/fmt/index.md): Format Rootform files - [rootform init](https://docs-staging.rootform.dev/reference/cli/init/index.md): Prepare an existing project selection locally. - [rootform install](https://docs-staging.rootform.dev/reference/cli/install/index.md): Install registry content in the Rootform home - [rootform install dialects](https://docs-staging.rootform.dev/reference/cli/install/dialects/index.md): Install Dialects from registry references - [rootform install policy-packs](https://docs-staging.rootform.dev/reference/cli/install/policy-packs/index.md): Install Policy Packs from registry references - [rootform list](https://docs-staging.rootform.dev/reference/cli/list/index.md): See Dialects, Policy Packs, and Policies accessible to a project. - [rootform list dialects](https://docs-staging.rootform.dev/reference/cli/list/dialects/index.md): List embedded and project-selected Dialects. - [rootform list policies](https://docs-staging.rootform.dev/reference/cli/list/policies/index.md): List Policies in selected or local Policy Packs. - [rootform list policy-packs](https://docs-staging.rootform.dev/reference/cli/list/policy-packs/index.md): List selected or explicit local Policy Packs. - [rootform lsp](https://docs-staging.rootform.dev/reference/cli/lsp/index.md): Serve Rootform language features over stdio - [rootform package](https://docs-staging.rootform.dev/reference/cli/package/index.md): Package Rootform content for distribution - [rootform package dialects](https://docs-staging.rootform.dev/reference/cli/package/dialects/index.md): Build Dialect packages - [rootform package policy-packs](https://docs-staging.rootform.dev/reference/cli/package/policy-packs/index.md): Build Policy Pack packages - [rootform publish](https://docs-staging.rootform.dev/reference/cli/publish/index.md): Publish packaged Rootform content - [rootform publish dialects](https://docs-staging.rootform.dev/reference/cli/publish/dialects/index.md): Publish a verified Dialect registry layout - [rootform publish policy-packs](https://docs-staging.rootform.dev/reference/cli/publish/policy-packs/index.md): Publish a verified Policy Pack registry layout - [rootform remove](https://docs-staging.rootform.dev/reference/cli/remove/index.md): Remove content from rootform.lock - [rootform remove dialects](https://docs-staging.rootform.dev/reference/cli/remove/dialects/index.md): Remove Dialects from rootform.lock - [rootform remove policy-packs](https://docs-staging.rootform.dev/reference/cli/remove/policy-packs/index.md): Remove Policy Packs from rootform.lock - [rootform run](https://docs-staging.rootform.dev/reference/cli/run/index.md): Analyze a plan or state, reopen a saved Form, or compare two inputs. - [rootform show](https://docs-staging.rootform.dev/reference/cli/show/index.md): Inspect one Dialect or RF Vocabulary definition. - [rootform show policy](https://docs-staging.rootform.dev/reference/cli/show/policy/index.md): Inspect one Policy definition without evaluating it. - [rootform show policy-pack](https://docs-staging.rootform.dev/reference/cli/show/policy-pack/index.md): Inspect one selected or local Policy Pack. - [rootform test](https://docs-staging.rootform.dev/reference/cli/test/index.md): Test Dialect fixtures - [rootform uninstall](https://docs-staging.rootform.dev/reference/cli/uninstall/index.md): Delete installed versions from the Rootform home - [rootform uninstall dialects](https://docs-staging.rootform.dev/reference/cli/uninstall/dialects/index.md): Delete installed Dialect versions - [rootform uninstall policy-packs](https://docs-staging.rootform.dev/reference/cli/uninstall/policy-packs/index.md): Delete installed Policy Pack versions - [rootform update](https://docs-staging.rootform.dev/reference/cli/update/index.md): Change a selection in rootform.lock - [rootform update dialect](https://docs-staging.rootform.dev/reference/cli/update/dialect/index.md): Change one selected Dialect - [rootform update policy-pack](https://docs-staging.rootform.dev/reference/cli/update/policy-pack/index.md): Change one selected Policy Pack - [rootform validate](https://docs-staging.rootform.dev/reference/cli/validate/index.md): Validate a saved Form or a Rootform definition. - [rootform validate concept](https://docs-staging.rootform.dev/reference/cli/validate/concept/index.md): Validate a Concept definition - [rootform validate context](https://docs-staging.rootform.dev/reference/cli/validate/context/index.md): Validate a context dimension - [rootform validate dialects](https://docs-staging.rootform.dev/reference/cli/validate/dialects/index.md): Validate Dialect definitions - [rootform validate form](https://docs-staging.rootform.dev/reference/cli/validate/form/index.md): Check a saved Form's structure and internal consistency. - [rootform validate policy](https://docs-staging.rootform.dev/reference/cli/validate/policy/index.md): Validate a Policy definition - [rootform validate relation](https://docs-staging.rootform.dev/reference/cli/validate/relation/index.md): Validate a relation predicate - [rootform validate rule](https://docs-staging.rootform.dev/reference/cli/validate/rule/index.md): Validate a Rule definition - [rootform vendor](https://docs-staging.rootform.dev/reference/cli/vendor/index.md): Copy selected external content into a project-local directory. - [rootform vendor dialects](https://docs-staging.rootform.dev/reference/cli/vendor/dialects/index.md): Vendor the project's exact external Dialect selection. - [rootform vendor policy-packs](https://docs-staging.rootform.dev/reference/cli/vendor/policy-packs/index.md): Vendor the project's exact Policy Pack source selection. - [rootform version](https://docs-staging.rootform.dev/reference/cli/version/index.md): Identify the Rootform executable. - [Registry compatibility](https://docs-staging.rootform.dev/integrations/registry-compatibility/index.md): Check the qualified OCI registry paths and identities needed for Rootform packages. ## Security and help - [Security and data handling](https://docs-staging.rootform.dev/security/index.md): Understand Rootform's network boundary, sensitive outputs, and trust in selected content. - [Limitations](https://docs-staging.rootform.dev/limitations/index.md): Understand what plan and state analysis can establish and what to use when evidence is incomplete. - [Troubleshooting](https://docs-staging.rootform.dev/troubleshooting/index.md): Match a Rootform symptom to its exact diagnostic, evidence, and next action. ## Contribute - [Contribute to Rootform](https://docs-staging.rootform.dev/contributing/index.md): Find the right place to improve Rootform or report a reproducible problem. - [Writing for Rootform](https://docs-staging.rootform.dev/contributing/writing/index.md): The shared editorial standard for Rootform documentation, interface text, errors, release notes, and product prose.