DevOps & Tooling · Any LLM tool that fetches it
Terraform & OpenTofu IaC llms.txt
An llms.txt for a Terraform & OpenTofu IaC project: a short Markdown map of what it is and where the key docs and code live.
- Path
- llms.txt
- Loads
- Fetched on request
- Format
- Markdown index (.txt)
- Used by
- Any LLM tool that fetches it
What this file tells the agent
An llms.txt gives language models and agents a short Markdown map of your Terraform & OpenTofu IaC project: what it is and where the key docs and code live, so a tool that fetches it can go straight to the right files.
- Pin explicit version constraints for all providers and required Terraform/OpenTofu core versions (required_providers).
- Store state securely in remote backends (S3 with DynamoDB state locking or GCS/Terraform Cloud); ban local terraform.tfstate.
- Enforce mandatory resource tagging (Environment, Project, Owner, ManagedBy) on all provisioned cloud assets.
- Never hardcode secrets, API keys, or master database passwords; inject via secure variables with sensitive = true or secret managers.
- Declare explicit lifecycle { prevent_destroy = true } blocks on critical production databases and storage buckets.
Code to avoid, and what to write instead
The rule steers the agent away from the left and toward the right.
# Dangerous: Hardcoded secret, no version lock, unmanaged state
resource "aws_db_instance" "bad_db" {
engine = "postgres"
password = "plaintextpassword123" # Leaked credentials in git!
}terraform {
required_version = ">= 1.7.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.40"
}
}
backend "s3" {
bucket = "corp-tf-state-prod"
key = "vpc/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-locks"
encrypt = true
}
}
resource "aws_db_instance" "primary" {
identifier = "app-db-prod"
allocated_storage = 50
engine = "postgres"
instance_class = "db.r6g.large"
password = var.db_password
skip_final_snapshot = false
lifecycle {
prevent_destroy = true
}
}Install it in one command
- 01
Go to your project root
The file goes at llms.txt, relative to the root.
- 02
Download the file
Run the command on the right. It downloads this preset and writes the file.
- 03
Make sure it gets used
Nothing loads llms.txt automatically. Serve it at your site root, or point agents to it from CLAUDE.md or AGENTS.md.
$ curl -fsSL "https://www.devscratchpad.tech/api/raw/llms-txt/terraform-iac" -o "llms.txt"
writes llms.txt
llms.txt
To write the file from your own code instead, use Read your code or Convert Legacy Rules in the editor above.
More for Terraform & OpenTofu IaC
Questions
- What is llms.txt?
- llms.txt is an open proposal for a short Markdown file that lists a project's key docs and links, so AI tools can find them without crawling every page.
- Where should llms.txt be deployed?
- At /llms.txt on your documentation site, or in your repository root. Tools read it when they fetch it; nothing loads it automatically.