# EditorConfig — https://editorconfig.org
#
# Sets editor-side defaults so contributors do not have to remember the
# per-language conventions. ruff format remains the authoritative source
# of truth for Python files; the [*.py] block below mirrors ruff's
# defaults (4-space indent, 88-char line length, LF endings) so the two
# tools agree.

root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.py]
indent_size = 4
max_line_length = 88

[*.{yaml,yml,json,toml}]
indent_size = 2

[*.md]
indent_size = 2
# Markdown uses a trailing two-space convention to force line breaks;
# stripping trailing whitespace would silently rewrite that meaning.
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

[*.{sh,bash}]
indent_size = 2

[*.{tsx,ts,js,jsx,css,html,vue}]
indent_size = 2
