EditorConfig para coding agents: indent y newlines del repo, no los tuyos
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.
Por Marco Lee · Reportar un error
Continúa con un curso prácticoEl 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).
De la guía a la práctica
Ruta Pi.dev: instala tu agente de coding
Lleva tus convenciones de trabajo a Pi.dev: instalación, instrucciones, sesiones y operación segura.
Ver el curso gratisContenido gratis, sin registro. Los servicios externos pueden tener costos.
Avisos cuando actualicemos cursos y guías
Recibe actualizaciones por correo. Es opcional: puedes seguir leyendo y abrir cualquier curso sin suscribirte.
Lecturas relacionadas
Sigue explorando Coding Agents y otras piezas para builders.

GitHub Copilot CLI: guía práctica del agente de IA en la terminal

Continue.dev: guía práctica del agente open source en VS Code

Goose: guía práctica del agente open source (CLI, Desktop y MCP)
