ADR-0014: Formatação de Código — Prettier
Status
Accepted
Context and Problem Statement
Com mais de um dev por projeto, formatação inconsistente (aspas, vírgula final, ordem de classes Tailwind, largura de linha) gera diff de ruído nos PRs e discussão improdutiva. O ESLint lint regras de qualidade, mas não é formatador. Precisamos de formatação determinística e automática, igual pra todos os devs, sem depender de config de editor individual.
Decision Drivers
- Zero diff de formatação entre devs
- Automação: formata no pre-commit, verifica no CI — sem esforço manual
- Ordenação consistente de classes Tailwind (ADR-0010)
- Não conflitar com o ESLint
Considered Options
- Prettier
- ESLint com regras de estilo (
@stylistic) - Biome (formatter + linter unificado)
Decision Outcome
Chosen option: Prettier + prettier-plugin-tailwindcss, porque é o padrão de fato no
ecossistema, integra com eslint-config-prettier (desliga regras de formatação do ESLint pra
não brigar) e o plugin oficial ordena classes Tailwind automaticamente. Biome foi descartado
por ainda não cobrir todo o ecossistema de plugins que usamos; @stylistic foi descartado por
misturar formatação com lint, o que queremos separar.
Positive Consequences
prettier --writenolint-staged(pre-commit) — código já entra formatadoprettier --checkno CI — quebra se algo escapouprettier-plugin-tailwindcssmantém ordem canônica das classes- ESLint foca só em qualidade/bugs, não em estilo
Negative Consequences
- Mais uma devDependency + passo no pipeline
- Adoção inicial gera um commit grande de reformatação do código existente
More Information
- Aplica-se a
atenvi-ui,atenvi-web,atenvi-web-admin,atenvi-bff,atenvi-app - Config mínima:
.prettierrccom o plugin do Tailwind; defaults do Prettier no resto - Ordem no ESLint flat config:
eslint-config-prettierpor último - Sensor documentado em sensors/computational.md
- Primeiro projeto a implementar:
atenvi-web(2026-07-07)