Pular para conteúdo

ADR-0006: Componentes UI — atenvi-ui + shadcn/ui

Status

Accepted

Context and Problem Statement

Os frontends precisam de componentes base acessíveis e customizáveis, complementados por componentes de negócio específicos do sistema.

Decision Drivers

  • Componentes base acessíveis sem overhead de manutenção
  • Customização total via Tailwind CSS
  • Componentes de negócio reutilizáveis entre projetos

Considered Options

  • shadcn/ui standalone por projeto
  • atenvi-ui standalone
  • atenvi-ui com shadcn/ui como base

Decision Outcome

Chosen option: shadcn/ui como base + atenvi-ui para componentes de negócio, porque shadcn/ui entrega primitivos acessíveis (Radix UI) com cópia local (sem lock-in de versão), e atenvi-ui encapsula os componentes específicos do domínio Atenvi.

Positive Consequences

  • Componentes shadcn copiados localmente — controle total
  • atenvi-ui foca em componentes de negócio, não reinventa primitivos
  • Tailwind como sistema de estilo unificado

Negative Consequences

  • Updates do shadcn são manuais por projeto
  • Dois "lugares" para buscar componentes (shadcn base vs atenvi-ui)

More Information

  • Projetos consumidores: atenvi-admin, atenvi-web
  • Fonte de verdade visual: Figma → atenvi-ui
  • Primitivos base: shadcn/ui (Radix UI + Tailwind)