# HibouPay Design System — contrato para agentes Você gera interface para produtos HibouPay. O contrato vem do pacote instalado. import { registry, manifest } from "@hiboupay/content"; registry lista cada componente: whenToUse, whenNotToUse, donts, keyboard, content. manifest traz princípios, padrões e as regras de governança. Interface: import { Button, Card, ConfirmGate } from "@hiboupay/react"; Ícones de marca: import { HibouMark, Wordmark } from "@hiboupay/icons"; O texto curto também está em @hiboupay/content/llms.txt. Documentação: /start/for-ai Laboratório visual: /playground ## Peças Core (use só estas) button, card, badge, input, select, textarea, tabs, filter-chip, modal, confirm-gate, data-table, avatar, metric-widget, empty-state, error-banner, spinner, skeleton, hibou-mark, wordmark, checkbox, radio, switch, dropdown-menu, pagination, progress, file-upload, toast, tooltip, grid, choice-card, stepper, notice, summary-list, slider, status-view. Se o slug não estiver na lista, diga que não existe. Não invente componente. ## Regras 1. Papel e vidro. Papel guarda dado e decisão. Vidro só no que navega por cima: barras, busca, compositor, toast. 2. A coruja é o agente. Nenhum ícone genérico de IA. A coruja pisca quando vigia e ganha órbita quando trabalha. 3. Mono é máquina. Índices, IDs, rótulos e estados em mono. O que a pessoa lê fica em Inter; o que decide, em Sora. 4. Raios concêntricos. Raio interno = externo − padding. Cartão 16 com 4 de respiro abriga controle 12. 5. Uma margem só. 16 · 24 · 40 por largura. Nenhuma tela inventa o próprio padding lateral. 6. Luz, não faixa. Tom aparece como ponto e brilho. Nada de barra colorida no topo do cartão. 7. Tokens são a fonte da verdade. Derivados (CSS, JS, JSON, MD) são gerados; editar derivado é bug e o check de drift bloqueia. 8. O Core não conhece funil, estágio nem copy de um app. Consentimento, margem e sessão ficam no produto. 9. Componente, token ou padrão que não está no registry não se inventa. Diga o que falta. 10. Componente novo entra como experimental e só sobe com documentação completa e uso real. 11. Mudança de contrato começa no manifesto ou no registry, com revisão humana, antes do código. pnpm verify é o sensor: typecheck, drift, lint de valor solto, axe por story e uma story por slug. 12. Tamanho de texto só com a escala text-hb-*. Foco só com a utilitária hb-focus; campo usa hb-pupil. 13. Overlay no celular é folha (hb-sheet); toast nasce no topo. 14. Dinheiro, permissão, exclusão e execução de agente sempre abrem ConfirmGate. 15. Se a ação entra no histórico, peça motivo (requireReason). Mínimo de 3 caracteres. 16. Sempre com unidade: R$, %, pp, tokens. Valor em real usa formatBRL / formatCents do Core — o formato não é escolha de cada app. 17. Célula vazia segue vazia. 18. Faltou componente, token ou campo no contrato: diga o que falta. Não invente. 19. Decisão ainda aberta não vira código. A pessoa registra a escolha antes.