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

root = true

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

# Python files
[*.py]
indent_style = space
indent_size = 4
max_line_length = 100

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

# TOML files
[*.toml]
indent_style = space
indent_size = 2

# Markdown files
[*.md]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false  # Preserve trailing spaces for line breaks

# JSON files
[*.json]
indent_style = space
indent_size = 2

# Shell scripts
[*.sh]
indent_style = space
indent_size = 2
end_of_line = lf

# Makefiles require tabs
[Makefile]
indent_style = tab

# GitHub Actions workflows
[.github/workflows/*.{yml,yaml}]
indent_style = space
indent_size = 2
