Projeto Aurora
Lançado na semana passada, com 1.284 pessoas usando.
padrão Simples · Âmbar & Petróleo · Terroso
Minha Marca
Uma frase curta sobre o que a marca faz e para quem. Ela aparece aqui embaixo do título e no README do kit.
Lançado na semana passada, com 1.284 pessoas usando.
Em revisão final, publicação prevista para sexta.
Protótipo em teste com os primeiros clientes.
Texto secundário com um link na cor da marca e uma palavra na terceira cor.
Você paga só pelo que usar no mês, sem fidelidade. Dá para cancelar quando quiser.
Ao vivo · 128 pessoas agora
Ana está digitando…
Cada cor no escuro e no claro. No claro, o tom de texto (-strong) escurece sozinho até passar no contraste AA. Clique para copiar.
AA = 4.5 para texto normal, 3.0 para texto grande e ícones. Calculado ao vivo.
| Par | Razão | Amostra | Resultado |
|---|---|---|---|
| Texto no fundo | 17.13 | Aa texto | AAA |
| Texto secundário no cartão | 6.85 | Aa texto | AA |
| Botão primário | 10.49 | Aa texto | AAA |
| Link / texto na primária | 10.49 | Aa texto | AAA |
| Link no cartão | 9.82 | Aa texto | AAA |
| Texto na cor de destaque | 7.47 | Aa texto | AAA |
| Botão de destaque | 7.47 | Aa texto | AAA |
| Texto na terceira cor | 5.96 | Aa texto | AA |
| Botão de perigo | 6.78 | Aa texto | AA |
| Selo de sucesso | 7.20 | Aa texto | AAA |
| Selo de aviso | 7.44 | Aa texto | AAA |
| Selo de erro | 5.02 | Aa texto | AA |
Cada lei ligada vira regra na skill e checagem no hook do kit. Os limites ajustados aqui vão para o design.config.json.
O tempo para decidir cresce com o número e a complexidade das opções.
Checagem automática: hick/nav-items, hick/select-options
O tempo para acertar um alvo depende da distância até ele e do tamanho dele.
Checagem automática: fitts/target-size
As pessoas passam a maior parte do tempo em outros sites e esperam que o seu funcione igual.
Checagem automática: jakob/clickable-non-interactive, jakob/anchor-without-href, jakob/placeholder-as-label
A memória de trabalho guarda poucos itens (7 ± 2) ao mesmo tempo.
Checagem automática: miller/ungrouped-fields
Entre itens parecidos, o que é diferente é o que se lembra.
Checagem automática: von-restorff/single-primary
Elementos ligados visualmente (mesmo contorno, mesma linha) são percebidos como um grupo.
Checagem automática: uniform-connectedness/choice-group
Toda tarefa tem uma complexidade mínima; ela deve ficar com o sistema, não com quem usa.
Checagem automática: tesler/autocomplete, tesler/input-type
Skills, hooks e scripts .mjs para o agente não sair do design, mais os tokens em CSS e Tailwind e a sua logo. Gerado no navegador.
README.md # Kit de design · Minha Marca Padrão **Simples**, paleta **Âmbar & Petróleo**, acabamento **Nenhum**, tipografia **Inter**, neutros **Tinta azulada**. Gerado em 26/10/2026 pelo brand design kit. ## O que tem aqui | Caminho | Para que serve | | ------- | -------------- | | `README.md` | Como instalar e usar o kit | | `.claude/skills/brand-design/SKILL.md` | Skill da marca: identidade, tokens, estilo, tipografia e proibições | | `.claude/skills/ux-laws/SKILL.md` | Skill das leis de UX como regras do projeto | | `.claude/commands/design-da-marca.md` | Atalho /design-da-marca para a skill brand-design | | `.claude/commands/leis-de-ux.md` | Atalho /leis-de-ux para a skill ux-laws | | `.claude/settings.json` | Liga os hooks SessionStart e PostToolUse | | `.claude/hooks/design/design.config.json` | Limites e leis ligadas (lido pelo verificador) | | `.claude/hooks/design/design-rules.mjs` | As regras de design (JavaScript puro, sem dependência) | | `.claude/hooks/design/check-design.mjs` | Verificador: varredura, hook e resumo para o agente | | `.claude/hooks/design/design-rules.test.mjs` | Testes das regras (node --test) | | `.claude/hooks/design/check-design.test.mjs` | Testes do verificador: hook, varredura e resumo (node --test) | | `design/tokens.css` | Tokens em CSS puro, claro e escuro | | `design/tailwind.css` | Tokens + tema do Tailwind v4 (bg-primary, text-foreground…) | | `design/reference.css` | Referência do padrão Simples e do acabamento Nenhum | ## Como instalar num projeto 1. **Copie a pasta `.claude/` para a raiz do projeto.** Se o projeto já tiver um `.claude/settings.json`, junte o bloco `hooks` deste com o de lá em vez de sobrescrever. 2. **Copie os tokens**: - Tailwind v4: `design/tailwind.css` para `src/`, importado logo depois de `@import 'tailwindcss';`. - CSS puro: `design/tokens.css`. 3. **Confira o Node**: os hooks são JavaScript puro (`.mjs`), sem dependência; basta o Node **22 ou mais novo** (`node --version`). Não há nada para instalar. 4. **Ajuste o escopo** em `.claude/hooks/design/design.config.json`: `scan.dirs` (padrão `src`) e `scan.tokenFiles` (onde cor crua é permitida). ## Como funciona - **Skills** (`.claude/skills/`, nomes em inglês): `brand-design` ensina a marca ao agente; `ux-laws` ensina as leis de UX como regras concretas. - **Atalhos em português** (`.claude/commands/`): chame pelo nome em inglês (`/brand-design`, `/ux-laws`) ou em português (`/design-da-marca`, `/leis-de-ux`); os dois fazem o mesmo. - **Hook `SessionStart`**: no início de toda sessão, o resumo das regras entra no contexto. - **Hook `PostToolUse`**: depois de cada `Edit`/`Write`, o arquivo é conferido. Violação de nível erro volta para o agente com linha e dica, e ele corrige antes de seguir. Rodar à mão ou no CI: ```bash node .claude/hooks/design/check-design.mjs # sai com código 1 se houver erro node --test ".claude/hooks/design/*.test.mjs" # testes das regras e do verificador ``` Sugestão de script no `package.json`: ```json "check:design": "node .claude/hooks/design/check-design.mjs" ``` ## Regras ativas - `brand/no-pure-black-white` (erro) — Preto puro e branco puro são proibidos pela marca. - `brand/tokens-only` (erro) — Cor só por token. Cor crua (hex, rgb, hsl, oklch) ou paleta padrão do Tailwind fica fora da marca. - `brand/no-arbitrary-values` (aviso) — Valor arbitrário de cor, raio, sombra ou fonte foge da escala do design. - `hick/nav-items` (aviso) — Menu com opções demais aumenta o tempo de decisão. - `hick/select-options` (aviso) — Select com opções demais obriga a ler a lista inteira. - `fitts/target-size` (erro) — Alvo de clique ou toque pequeno demais. - `jakob/clickable-non-interactive` (erro) — Elemento não interativo com clique: não recebe foco, não responde a teclado e não parece clicável. - `jakob/anchor-without-href` (erro) — Link sem destino: não abre em nova aba, não aparece para leitor de tela como link. - `jakob/placeholder-as-label` (aviso) — Campo só com placeholder: o rótulo some ao digitar. - `miller/ungrouped-fields` (aviso) — Formulário longo sem grupos sobrecarrega a memória de trabalho. - `von-restorff/single-primary` (aviso) — Ação primária demais na mesma tela: quando tudo se destaca, nada se destaca. - `uniform-connectedness/choice-group` (aviso) — Opções do mesmo grupo soltas, sem contorno comum. - `tesler/autocomplete` (aviso) — Campo comum sem autocomplete: a pessoa digita o que o navegador já sabe. - `tesler/input-type` (aviso) — Tipo de campo genérico: no celular abre o teclado errado e não valida.