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)