← LinkedIn demo

AILANG×developer.hashicorp.com

AI portable generated 2026-05-14
agent-ready privacy portable

developer.hashicorp.com scored 5/10 on portable.

The radar shows AILANG-readiness across three commercial concerns. High means developer.hashicorp.com is already strong there; low means AILANG could meaningfully help.

Why portable scored 5/10
  • Page copy that names one specific LLM provider (e.g. "powered by Claude") without portability claims.
  • Body mentions two or more named AI providers (Claude, GPT, Gemini, Mistral, Llama, etc.) — already vendor-multi.
  • Body mentions self-hosted, on-prem, WASM, Docker, Kubernetes, or "deploy anywhere" — runtime portability claimed.
  • Body mentions "bring your own key", "BYOK", "any LLM", or "model-agnostic" — caller controls the model.

Full breakdown ↓ · View rubric ↗

The site is for IT operations, cloud engineers, and developers who manage and provision cloud and on-premise infrastructure.

Terraform is an infrastructure as code tool by HashiCorp for building, changing, and versioning cloud and on-prem resources. It enables users to define infrastructure in configuration files, generate execution plans, and apply changes consistently. It supports various providers for managing diverse low-level and high-level components.
Terraform Infrastructure as Code (IaC) Cloud resources Configuration files Providers Execution plan

What AILANG Parse sees on developer.hashicorp.com

Structural extraction — the same content an AI agent would consume from this page.

10 headings0 images12 lists0 tables4 linksHTML parsing by AILANG Parse

9 sections — page skeleton

1 header 6 navs 1 main 1 footer

10 headings

Intro to Terraform What is Terraform? How does Terraform work? Why Terraform? Manage any infrastructure Track your infrastructure

12 list items

Infrastructure Lifecycle Management [ TerraformManage infrastructure as code](/terrafor… [ TerraformManage infrastructure as code](/terraform) [ PackerBuild machine images](/packer) [ NomadOrchestrate workloads](/nomad) [ WaypointStandardize application patterns](/waypoint) [ VagrantBuild developer environments](/vagrant) Security Lifecycle Management [ VaultCentrally manage secrets](/vault) [ BoundarySecur… [ VaultCentrally manage secrets](/vault) [ BoundarySecure remote access](/boundary) [ Vault RadarScan for embedded secrets](/hcp/docs/vault-radar) [ ConsulSecure network services](/consul) [ CertificationsGet HashiCorp certified](/certifications)
Show the full extract — what AILANG Parse pulled from this page
# What is Terraform | Terraform | HashiCorp Developer


[HashiConf 2025Don't miss the live stream of HashiConf Day 2 happening nowView live stream](https://www.hashicorp.com/conferences/hashiconf#livestream)

*Header:*
HashiCorp Cloud Platform

Get started in minutes with our cloud products

[All HCP Products](/hcp)

- Infrastructure Lifecycle Management

[

TerraformManage infrastructure as code](/terraform)
[

PackerBuild machine images](/packer)
[

NomadOrchestrate workloads](/nomad)
[

WaypointStandardize application patterns](/waypoint)
[

VagrantBuild developer environments](/vagrant)
- [

TerraformManage infrastructure as code](/terraform)
- [

PackerBuild machine images](/packer)
- [

NomadOrchestrate workloads](/nomad)
- [

WaypointStandardize application patterns](/waypoint)
- [

VagrantBuild developer environments](/vagrant)
- Security Lifecycle Management

[

VaultCentrally manage secrets](/vault)
[

BoundarySecure remote access](/boundary)
[

Vault RadarScan for embedded secrets](/hcp/docs/vault-radar)
[

ConsulSecure network services](/consul)
- [

VaultCentrally manage secrets](/vault)
- [

BoundarySecure remote access](/boundary)
- [

Vault RadarScan for embedded secrets](/hcp/docs/vault-radar)
- [

ConsulSecure network services](/consul)

Learn

- [
CertificationsGet HashiCorp certified](/certifications)
- [
TutorialsLearn HashiCorp products](/tutorials)
- [
Validated PatternsField-tested patterns for using HashiCorp products](/validated-patterns)
- [
Well-Architected FrameworkAdopt HashiCorp best practices](/well-architected-framework)

[Terraform](/terraform)

- [Install](/terraform/install)
- [Tutorials](/terraform/tutorials)
- Documentation

[

Documentation](/terraform/docs)
[

Intro to Terraform](/terraform/intro)
[

Configuration Language](/terraform/language)
[

Terraform CLI](/terraform/cli)
[

HCP Terraform](/terraform/cloud-docs)
[

Terraform Enterprise](/terraform/enterprise)
[

Terraform MCP Server

BETA](/terraform/mcp-server)
[

Terraform Migrate](/terraform/migrate)
[

Provider Use](/terraform/language/providers)
[

Plugin Development](/terraform/plugin)
[

Registry Publishing](/terraform/registry)
[

Integration Program](/terraform/docs/partnerships)
- [

Documentation](/terraform/docs)
- [

Intro to Terraform](/terraform/intro)
- [

Configuration Language](/terraform/language)
- [

Terraform CLI](/terraform/cli)
- [

HCP Terraform](/terraform/cloud-docs)
- [

Terraform Enterprise](/terraform/enterprise)
- [

Terraform MCP Server

BETA](/terraform/mcp-server)
- [

Terraform Migrate](/terraform/migrate)
- [

Provider Use](/terraform/language/providers)
- [

Plugin Development](/terraform/plugin)
- [

Registry Publishing](/terraform/registry)
- [

Integration Program](/terraform/docs/partnerships)
- Sandbox
- [Registry](https://registry.terraform.io/)(opens in new tab)
- [Try Cloud](https://app.terraform.io/public/signup/account)(opens in new tab)

Search

⌘/ctrlCommand or control key

KK key

- Sign in
- [Sign up](/sign-up)
- Theme

[Terraform Home](/terraform)

## Intro to Terraform

- [Intro to Terraform](/terraform/intro)
- [Use Cases](/terraform/intro/use-cases)
- [Get Started](/terraform/tutorials/aws-get-started)
- [Terraform Editions](/terraform/intro/terraform-editions)
- [The Core Terraform Workflow](/terraform/intro/core-workflow)
- Phases of Terraform Adoption
- Terraform vs. Alternatives
- Documentation
- [Configuration Language](/terraform/language)
- [Terraform CLI](/terraform/cli)
- [HCP Terraform](/terraform/cloud-docs)
- [Terraform Enterprise](/terraform/enterprise)

---

- Resources
- [Tutorial Library](/tutorials/library?product=terraform)
- [Certifications](/certifications/infrastructure-automation)
- [Sandbox](/terraform/sandbox)
- [Community Forum](https://discuss.hashicorp.com/c/terraform-core/27)(opens in new tab)
- [Support](https://www.ibm.com/mysupport)(opens in new tab)
- [GitHub](https://github.com/hashicorp/terraform)(opens in new tab)
- [Terraform Registry](https://registry.terraform.io/)(opens in new tab)

1. [Developer](/)
2. [Terraform](/terraform)
3. Intro to Terraform

v1.15.x (latest)

- Terraform
- [v1.14.x](/terraform/intro/v1.14.x)
- [v1.13.x](/terraform/intro/v1.13.x)
- [v1.12.x](/terraform/intro/v1.12.x)
- [v1.11.x](/terraform/intro/v1.11.x)
- [v1.10.x](/terraform/intro/v1.10.x)
- [v1.9.x](/terraform/intro/v1.9.x)
- [v1.8.x](/terraform/intro/v1.8.x)
- [v1.7.x](/terraform/intro/v1.7.x)
- [v1.6.x](/terraform/intro/v1.6.x)
- [v1.5.x](/terraform/intro/v1.5.x)
- [v1.4.x](/terraform/intro/v1.4.x)
- [v1.3.x](/terraform/intro/v1.3.x)
- [v1.2.x](/terraform/intro/v1.2.x)
- [v1.1.x](/terraform/intro/v1.1.x)

# What is Terraform?

Terraform is an infrastructure as code tool that lets you build, change, and version cloud and on-prem resources safely and efficiently.

HashiCorp Terraform is an infrastructure as code tool that lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage all of your infrastructure throughout its lifecycle. Terraform can manage low-level components like compute, storage, and networking resources, as well as high-level components like DNS entries and SaaS features.

**Hands On:** Try the Get Started tutorials to start managing infrastructure on popular cloud providers: [Amazon Web Services](/terraform/tutorials/aws-get-started), [Azure](/terraform/tutorials/azure-get-started), [Google Cloud Platform](/terraform/tutorials/gcp-get-started), [Oracle Cloud Infrastructure](/terraform/tutorials/oci-get-started), and [Docker](/terraform/tutorials/docker-get-started).

HashiCorp co-founder Armon Dadgar explains how Terraform solves infrastructure challenges.

## How does Terraform work?

Terraform creates and manages resources on cloud platforms and other services through their application programming interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.

HashiCorp and the Terraform community have already written **thousands of providers** to manage many different types of resources and services. You can find all publicly available providers on the [Terraform Registry](https://registry.terraform.io/), including Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), Kubernetes, Helm, GitHub, Splunk, DataDog, and many more.

The core Terraform workflow consists of three stages:

- **Write:** You define resources, which may be across multiple cloud providers and services. For example, you might create a configuration to deploy an application on virtual machines in a Virtual Private Cloud (VPC) network with security groups and a load balancer.
- **Plan:** Terraform creates an execution plan describing the infrastructure it will create, update, or destroy based on the existing infrastructure and your configuration.
- **Apply:** On approval, Terraform performs the proposed operations in the correct order, respecting any resource dependencies. For example, if you update the properties of a VPC and change the number of virtual machines in that VPC, Terraform will recreate the VPC before scaling the virtual machines.

## Why Terraform?

Terraform lets you define and manage your infrastructure in a consistent, repeatable way using human-readable configuration files that you can version, reuse, and share.

### Manage any infrastructure

Find providers for many of the platforms and services you already use in the [Terraform Registry](https://registry.terraform.io/). You can also [write your own](/terraform/plugin). Terraform takes an [immutable approach to infrastructure](https://www.hashicorp.com/resources/what-is-mutable-vs-immutable-infrastructure), reducing the complexity of upgrading or modifying your services and infrastructure.

### Track your infrastructure

Terraform generates a plan and prompts you for your approval before modifying your infrastructure. It also keeps track of your real infrastructure in a [state file](/terraform/language/state), which acts as a source of truth for your environment. Terraform uses the state file to determine the changes to make to your infrastructure so that it will match your configuration.

### Automate changes

Terraform configuration files are declarative, meaning that they describe the end state of your infrastructure. You do not need to write step-by-step instructions to create resources because Terraform handles the underlying logic. Terraform builds a resource graph to determine resource dependencies and creates or modifies non-dependent resources in parallel. This allows Terraform to provision resources efficiently.

### Standardize configurations

Terraform supports reusable configuration components called [modules](/terraform/language/modules) that define configurable collections of infrastructure, saving time and encouraging best practices. You can use publicly available modules from the Terraform Registry, or write your own.

### Collaborate

Since your configuration is written in a file, you can commit it to a Version Control System (VCS) and use [HCP Terraform](/terraform/intro/terraform-editions#hcp-terraform) to efficiently manage Terraform workflows across teams. HCP Terraform runs Terraform in a consistent, reliable environment and provides secure access to shared state and secret data, role-based access controls, a private registry for sharing both modules and providers, and more.

**Tip:** Learn more about [Terraform use cases](/terraform/intro/use-cases) and [how Terraform compares to alternatives](/terraform/intro/vs).

## Community

We welcome questions, suggestions, and contributions from the community.

- Ask questions in [HashiCorp Discuss](https://discuss.hashicorp.com/c/terraform-core/27).
- Read our [contributing guide](https://github.com/hashicorp/terraform/blob/main/.github/CONTRIBUTING.md).
- [Submit an issue](https://github.com/hashicorp/terraform/issues/new/choose) for bugs and feature requests.

[Edit this page on GitHub](https://github.com/hashicorp/web-unified-docs/blob/main/content/terraform/v1.15.x/docs/intro/index.mdx)

On this page:

1. [What is Terraform?](/terraform/intro#what-is-terraform)
2. [How does Terraform work?](/terraform/intro#how-does-terraform-work)
3. [Why Terraform?](/terraform/intro#why-terraform)
4. [Community](/terraform/intro#community)

*Footer:*
Theme

- [Certifications](/certifications)
- [System Status](https://status.hashicorp.com)
- Cookie Manager
- [Terms of Use](https://www.hashicorp.com/terms-of-service)
- [Security](https://www.hashicorp.com/trust/security)
- [Privacy](https://www.hashicorp.com/privacy)
- [Trademark Policy](https://www.hashicorp.com/trademark-policy)
- [Trade Controls](https://www.hashicorp.com/trade-controls)
- [Accessibility](https://www.hashicorp.com/trust/accessibility)
- [Give Feedback](https://forms.gle/fnHLuNahLEhjuKvE6)(opens in new tab)
- stdin is not a tty

page preview · the URL we fetched https://developer.hashicorp.com/terraform/intro ↗
Screenshot of developer.hashicorp.com

Couldn't render a preview for this site. Open the URL in a new tab ↗

Screenshot via thum.io

developer.hashicorp.com scored 5/10 on portable. AILANG opportunity is therefore 5/10. Here's where it would land first.

Same module, any LLM — picked at the CLI

Provider selection isn't a code edit — it's a flag on the run command. The exact same compiled .ail file talks to Anthropic, Google, OpenAI, OpenRouter or local Ollama depending on what you pass to `--ai`. Vendor lock-in becomes a shell-history concern.

# Same chat.ail, three vendors — no source change.
ailang run --ai claude-haiku-4-5  chat.ail
ailang run --ai gemini-2.5-flash chat.ail
ailang run --ai gpt-5.1-nano     chat.ail
# std/ai dispatches to each provider's native API.
→ AILANG docs

Structured output, portable across providers

callJson(prompt, schema) maps to each provider's native structured-output primitive — responseSchema for Gemini, response_format for OpenAI, forced-tool for Anthropic. Your schema, their plumbing.

let result = callJson(prompt, intentSchema);
-- same AILANG code, four different provider paths underneath.
→ AILANG docs

OpenRouter routing with replayable resolution

Reach SOTA open-source models through OpenRouter; the resolved model ID is logged so the eval is replayable months later, even if the upstream router has moved on.

call(prompt, model = "openrouter/meta-llama/llama-4-405b");
-- the eval harness pins the exact resolved model ID.
→ AILANG docs

How this page was made

func sketchSite(url: string<pii>, topic: Topic) -> Sketch
  ! {Net @limit=1, AI @limit=5, FS @limit=4, Process, Declassify}
SignalTopicResultPointsAILANG primitive
agent.json referencedagent-ready0/1ailang serve-api generates A2A agent cards automatically — bonus if you're an early adopter
openapi.json referencedagent-ready0/2ailang serve-api generates OpenAPI 3.1 from Hindley-Milner type signatures
MCP endpoint referencedagent-ready2/2ailang serve-api --mcp-http exposes typed functions as MCP tools
Public API docs linkedagent-ready0/2ailang serve-api hosts Swagger + ReDoc at /api/_meta/ by default
Webhooks documentedagent-ready0/2ailang serve-api handles webhooks as typed handler functions with effect-tracked side effects
Rate limits documentedagent-ready0/2Capability budgets — Net @limit=N is the symmetric server-side primitive for what agents see as rate limits
Streaming / SSE endpointagent-ready0/2std/stream — ssePost and Stream effect handle event-source endpoints with typed event types
Sandbox / test environment offeredagent-ready2/2ailang --ai-stub plus mock effect handlers — deterministic, capability-scoped fakes for any effect, including Net and AI
Authentication documentedagent-ready0/2std/jwt for verification, IFC labels (string / string) to keep credentials out of public sinks at the type level
Idempotency keys documentedagent-ready0/2Pure functions are idempotent by construction; requires/ensures contracts express idempotence as a static guarantee
AG-UI streaming protocolagent-ready0/1std/stream — the AG-UI event lifecycle (RUN_STARTED → TEXT_MESSAGE_CONTENT → TOOL_CALL_RESULT → RUN_FINISHED) is a textbook sum type. ADTs + exhaustive pattern matching make every event-type branch a compile error to skip.
HTTP 402 agent payments (x402 / pay-per-crawl)agent-ready0/1Net @endpoint-scoped capability budgets bound payment destinations; requires { amount <= budget } gates the payload; IFC labels keep the signed payment key out of public sinks. Same primitives cover x402 payload signing and Cloudflare's crawler-price negotiation.
AP2 Agent Payments Protocolagent-ready0/1Mandates ARE contracts. requires { intent.price <= mandate.maxPrice } + ensures { cart.total <= intent.price } is a one-to-one translation of an Intent/Cart Mandate into AILANG. Z3 can verify the bounds at compile time.
UTCP tool-calling protocolagent-ready0/1Typed function signatures are the manifest. ailang serve-api emits the same metadata as a UTCPManual (name, input/output schema, native endpoint) — direct-call discovery without a proxy server.
End-to-end encryption documentedprivacy0/2IFC labels (string) force decryption to flow through a typed boundary; the compiler refuses to publish sealed values without explicit declassification
Compliance certifications citedprivacy0/2requires/ensures contracts express machine-verifiable claims; capability budgets bound audit-trail effects; effect rows leave nothing un-declared
Data minimisation languageprivacy0/2Capability scoping — each Net call declares its endpoint in the effect row, so "doesn't sell" becomes a type-system-enforceable claim, not a marketing one
Third-party domains restrainedprivacy0/2Capability scoping — each Net call declares its endpoint in the effect row
Data residency / on-prem languageprivacy2/2Three-runtime deploy — same module runs in WASM (browser), Cloud Run, and native CLI
Single-vendor LLM languageportable2/2std/ai multi-provider — switch from Anthropic to Gemini to OpenAI without rewriting
Multiple AI providers citedportable0/2std/ai — one Step API across Anthropic, OpenAI, Gemini, OpenRouter, Ollama, and custom-package providers
Cross-runtime / deployment portabilityportable2/2Effect handlers as runtime adapters — same .ail runs as WASM in the browser, a Cloud Run container, and a native CLI; only the handlers change
BYO key / model-agnosticportable0/2AILANG WASM — the full interpreter ships as a browser bundle, so caller-held keys (BYOK), offline apps, and embedded demos all work client-side