# Terraform General
# =================================================================
# Ignore local Terraform state files and backups.
# These files contain the state of your infrastructure and can include secrets.
# They should be managed remotely (e.g., using Terraform Cloud, S3, etc.).
*.tfstate
*.tfstate.backup

# Ignore crash log files.
crash.log
crash.*.log

# Ignore local Terraform configuration files that can contain sensitive data.
#terraform.tfvars

# Ignore override files as they are typically used for local testing.
# These should not be checked in to source control.
override.tf
override.tf.json
*_override.tf
*_override.tf.json

# Ignore CLI configuration files.
.terraformrc
terraform.rc


# Terraform Provider Binaries and Lock Files
# =================================================================
# Ignore the directory where Terraform downloads provider plugins.
# This directory is automatically managed by `terraform init`.
.terraform/

# Ignore the dependency lock file. This file ensures that the same provider
# versions are used across all environments. It's best practice for modules,
# but can be ignored for root configurations if you want to allow flexibility.
# For consistency, it's often better to COMMIT this file. I've included it here
# as an option if you choose to ignore it.
# .terraform.lock.hcl


# Terraform Plan and Output Files
# =================================================================
# Ignore plan files. These can contain the full configuration and secrets
# in plain text and should be handled securely.
*.tfplan


# Other Common Files
# =================================================================
# Ignore temporary files from text editors.
.idea/
.vscode/
*.swp
*~

# Ignore operating system files.
.DS_Store
Thumbs.db
/.secrets
/test