EditorConfig para coding agents: indent y newlines del repo, no los tuyos
Resumen
Un .editorconfig define estilos por glob: indent_style, indent_size, end_of_line, charset, trim_trailing_whitespace, insert_final_newline. Un agente que reescribe un archivo a 2 espacios en un repo de tabs genera un diff enorme. Spec 0.17.2.

Qué resuelve
Esta pieza se queda en la decisión práctica: qué instalar, qué riesgo agrega y cómo aplicarlo sin romper operación.
El agente “formatea el archivo” y el PR es 400 líneas de whitespace. Casi siempre faltó leer .editorconfig. La spec 0.17.2: archivos INI-like, UTF-8, LF o CRLF, nombre .editorconfig en minúsculas. root = true para de dejar de buscar hacia arriba.
Cores parsean; plugins aplican al editor. Un coding agent es un editor: si no aplica los pares, miente el estilo del repo.
No sustituye Prettier (otra herramienta). El curso instalar un agente no cubre indent. gitignore no define tabs.
Pares que importan
Spec (supported pairs, no-normative indent section + pares comunes):
| Key | Valores típicos | Si el agente ignora |
|---|---|---|
root | true / false | Sigue buscando padres |
indent_style | tab / space | Diff de indent en todo el file |
indent_size | entero o tab | 2 vs 4 |
tab_width | entero | Tabs mal medidos |
end_of_line | lf / crlf / cr | Todo el archivo “cambió” |
charset | utf-8 … | BOM de más |
trim_trailing_whitespace | true/false | Ruido o espacios significativos |
insert_final_newline | true/false | POSIX vs “sin newline at EOF” |
Secciones: [*.md], [Makefile] — globs con / como separador. No \\ aunque estés en Windows.
Sin comentarios inline (spec ≥0.15). # o ; al inicio de línea.

Cómo debe leerlo el agente
- Busca
.editorconfigdesde el archivo hacia la raíz, para enroot = true. - Última sección que matchea gana para cada key (el core aplica en orden).
- Escribe solo el cambio pedido, con ese indent. No “prettier de paso”.
- Si no hay archivo: no inventes 2 spaces. Copia un vecino del mismo glob.
Makefile y Go suelen ser tabs. Un [Makefile] indent_style = tab no es opcional.
Receta AGENTS.md
Honor .editorconfig (indent_style/size, eol, charset, final newline).
Do not reformat whole files.
Do not add a new .editorconfig unless the ticket says so.

FAQ
¿Prettier gana? Si el repo tiene ambos, el ticket/CI dice cuál. No pelees con pnpm lint.
¿YAML 2 spaces? Solo si el glob lo dice. Mira [*.{yml,yaml}].
¿max_line_length? Algunos cores lo soportan; no está en todos. No lo uses para reflow masivo.
¿Crear .editorconfig? Solo si el repo no tiene y el humano lo pidió. root = true en la raíz.
Un diff de “solo trailing spaces” en un millar de líneas es el olor de trim_trailing_whitespace = true aplicado a un árbol que nunca se recortó. No “arregles” el repo entero en el mismo PR que un bugfix. El style masivo es un ticket aparte, con su propio review.
Verificado 2026-09-03 contra EditorConfig Specification 0.17.2 (formato, globs, no inline comments).
Lecturas relacionadas
Sigue explorando Coding Agents y otras piezas para builders.

git status para coding agents: porcelain, XY, no el long

Reusable workflows: workflow_call, no copies el YAML entre repos

schedule (cron) en GitHub Actions: UTC, no cada minuto
