---
id: audit-codebase
agent: ux-design-expert
title: Auditar o codebase atrás de redundância de padrões de UI
inputs: [path do codebase/diretório de UI]
outputs: [inventário de padrões de UI, métricas de redundância, audit-report]
elicit: false
modes: [interactive, yolo]
---

# Auditar o codebase atrás de redundância de padrões de UI

**Objetivo:** medir o caos antes de consertá-lo — inventariar componentes/padrões de UI existentes e
quantificar a redundância com número real, para nunca consolidar no escuro.

**Pré-condições:**
- Foi informado um `path` válido para o codebase ou diretório de UI. Sem path, **pare** e elicite —
  não audito o repositório inteiro por chute.
- É um cenário brownfield (já existe UI). Em greenfield não há o que auditar — siga para
  `setup-design-system`.

## Passos

1. **Varra o path** atrás de artefatos de UI: componentes, estilos, tokens implícitos (cores, fontes,
   espaçamentos hardcoded), classes utilitárias, padrões repetidos. Use `Grep`/`Glob` para localizar.
2. **Inventarie cada padrão encontrado** com sua localização (arquivo:linha) e suas propriedades
   visuais — ex.: cada variação de botão com sua cor, raio, padding, fonte.
3. **Quantifique a redundância:** quantos botões distintos? quantas cores diferentes para a mesma
   intenção? quantos espaçamentos? Conte — "tem demais" não move ninguém; "47 botões" move.
4. **Detecte hardcoded vs tokenizado:** marque todo valor visual cravado direto no código (hex,
   px solto) — é dívida de design esperando para divergir.
5. **Agrupe por tipo de átomo** (botões, inputs, cards, tipografia, cores) para preparar o terreno da
   consolidação. NÃO consolide aqui — esta task só mede.
6. **Gere o audit-report** em `docs/stories/{epic}/audit/audit-report.md` (ou caminho equivalente do
   projeto) com inventário, contagens e localizações — números rastreáveis a arquivos reais.
7. **Roteie o resultado** para `consolidate-patterns` (clustering) e, depois, `generate-shock-report`
   (visual + ROI). A auditoria é o insumo factual desses dois.

## Critério de pronto (DoD)

- [ ] Path válido auditado; varredura cobriu componentes, estilos e valores hardcoded
- [ ] Inventário com localização (arquivo:linha) de cada padrão
- [ ] Métricas de redundância contadas (nº de variantes por tipo de átomo)
- [ ] Valores hardcoded identificados e marcados
- [ ] audit-report registrado, com números rastreáveis a arquivos reais

## Falha / recuperação

- **Path inválido ou vazio** → HALT e elicito o caminho correto; não audito o que não foi pedido.
- **Codebase grande demais para uma passada** → fatio por diretório/tipo e audito em ondas, registrando
  a cobertura de cada onda.
- **Não encontrei padrões de UI** (não é frontend) → reporto que não há o que auditar e encerro; não
  fabrico redundância inexistente.
