# EditorConfig - https://editorconfig.org
# Helps maintain consistent coding styles across different editors and IDEs.

root = true

# Default settings for all files
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

# Rust source files
[*.rs]
indent_size = 4
max_line_length = 100

# TOML configuration files
[*.toml]
indent_size = 4

# YAML files
[*.{yml,yaml}]
indent_size = 2

# JSON files
[*.json]
indent_size = 2

# Markdown documentation
[*.md]
trim_trailing_whitespace = false
max_line_length = off

# Protobuf definitions
[*.proto]
indent_size = 2

# Shell scripts
[*.sh]
indent_size = 2

# Makefiles require tabs
[Makefile]
indent_style = tab

# Git configuration
[.git*]
indent_size = 4

# GitHub workflows
[.github/workflows/*.yml]
indent_size = 2

# Python files (SDK)
[*.py]
indent_size = 4
max_line_length = 88

# Docker files
[Dockerfile*]
indent_size = 4

# Terraform/HCL
[*.{tf,tfvars}]
indent_size = 2
