Saltar al contenido
Guía9 min

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 · Reportar un error

Continúa con un curso práctico

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):

KeyValores típicosSi el agente ignora
roottrue / falseSigue buscando padres
indent_styletab / spaceDiff de indent en todo el file
indent_sizeentero o tab2 vs 4
tab_widthenteroTabs mal medidos
end_of_linelf / crlf / crTodo el archivo “cambió”
charsetutf-8 …BOM de más
trim_trailing_whitespacetrue/falseRuido o espacios significativos
insert_final_newlinetrue/falsePOSIX 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.

Secciones glob e indent_style

Cómo debe leerlo el agente

  1. Busca .editorconfig desde el archivo hacia la raíz, para en root = true.
  2. Última sección que matchea gana para cada key (el core aplica en orden).
  3. Escribe solo el cambio pedido, con ese indent. No “prettier de paso”.
  4. 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.

Agente editando con el indent del glob

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 gratis

Contenido 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.

Al suscribirte, solicitas avisos editoriales. Consulta la política de privacidad. Puedes pedir la baja en contacto.