# EditorConfig helps maintain consistent coding styles across different editors
# See https://editorconfig.org for more information

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, TOML, JSON files
[*.{yml,yaml,toml,json}]
indent_style = space
indent_size = 2

# Markdown files (preserve trailing whitespace for line breaks)
[*.md]
trim_trailing_whitespace = false
indent_style = space
indent_size = 2

# Shell scripts
[*.{sh,bash,zsh,envrc}]
indent_style = space
indent_size = 2

# Makefiles require tabs
[Makefile]
indent_style = tab
