|
| 1 | +# Theme — interview → preview → approve → apply |
| 2 | + |
| 3 | +`/tema` changes the project's visual identity (colors, typography, shape) |
| 4 | +with ZERO risk: a quick interview, a PREVIEW route rendering the existing |
| 5 | +design system with the proposed theme side by side with the current one, and |
| 6 | +NOTHING applied until the engineer approves. You orchestrate and interview; |
| 7 | +**app code (preview route, globals.css, layout) is FDA work** — hard rule 5. |
| 8 | +Talk to the engineer in pt-BR; translate every choice to plain language. |
| 9 | + |
| 10 | +## Step 1 — Facts |
| 11 | + |
| 12 | +`ai-docs/stack.md` (frontend → onde vivem os tokens; stacks Next recomendada/ |
| 13 | +própria: `app/globals.css` + fontes no layout via `next/font`), o tema ATUAL |
| 14 | +(leia o arquivo de tokens), `ai-docs/PRD.md` (o produto guia a recomendação) e |
| 15 | +`ai-docs/components/registry.md` (a preview renderiza componentes REAIS). |
| 16 | + |
| 17 | +## Step 2 — Interview (~6 perguntas, UMA por vez, sempre com recomendação) |
| 18 | + |
| 19 | +1. Ponto de partida: ajustar o atual | preset do shadcn/create (cola o |
| 20 | + comando) | repensar do zero. |
| 21 | +2. Cor principal — aceita hex, nome ou VIBE ("passa confiança"); recomende |
| 22 | + pelo PRD. |
| 23 | +3. Acento + neutros (quentes × frios) — uma pergunta. |
| 24 | +4. Claro/escuro: ambos (recomendado) e qual o inicial. |
| 25 | +5. Tipografia: 3 pares prontos título+corpo que combinam com a vibe + "outra". |
| 26 | +6. Forma (presets): quadrado e denso | suave e padrão (recomendado) | |
| 27 | + arredondado e arejado. |
| 28 | +7. Detalhe livre opcional (gradiente, dark-first, bordas…). |
| 29 | + |
| 30 | +## Step 3 — Preview via FDA (nada global muda) |
| 31 | + |
| 32 | +Despache UM FDA (`fda_prompt`/`fda_build`) com a spec completa: |
| 33 | + |
| 34 | +- Gerar TODOS os tokens do padrão do projeto (set shadcn: --background, |
| 35 | + --foreground, --card, --primary, --secondary, --muted, --accent, |
| 36 | + --destructive, --border, --input, --ring, --radius, charts… claro E |
| 37 | + escuro). Contraste WCAG AA nos dois modos é BLOQUEIO (texto ≥ 4.5:1). |
| 38 | +- Criar a rota de preview ao lado da página do design system |
| 39 | + (`app/ui-components/preview/page.tsx`): wrapper com as CSS variables |
| 40 | + redefinidas localmente + fontes `next/font` SÓ desta rota; conteúdo = |
| 41 | + Fundamentos + amostras dos componentes reais do registro, **lado a lado |
| 42 | + Atual × Proposto**, claro e escuro. Sem página `/ui-components` ainda → |
| 43 | + preview standalone com as amostras básicas. |
| 44 | + |
| 45 | +Depois: "abra `/ui-components/preview` com `npm run dev`" — e espere. |
| 46 | + |
| 47 | +## Step 4 — Aprovar | Ajustar | Desistir (loop) |
| 48 | + |
| 49 | +- **Aprovar** → FDA de promoção: tokens para `globals.css` (claro+escuro), |
| 50 | + fontes no layout raiz, apagar a rota de preview, `npm run build` verde. |
| 51 | + Reporte valores e arquivos; commit só se o engenheiro pedir. |
| 52 | +- **Ajustar** → pergunte O QUE mudar (uma pergunta), regenere a preview |
| 53 | + (novo FDA pequeno). Quantas vezes precisar. |
| 54 | +- **Desistir** → FDA apaga a rota de preview. NADA mudou. |
| 55 | + |
| 56 | +Regras duras: nunca aplicar sem aprovação explícita; só tokens do padrão do |
| 57 | +projeto; a página `/ui-components` (Fundamentos) já reflete o tema novo por |
| 58 | +ler as variáveis reais — não precisa editá-la. |
0 commit comments