Brand Maker
  • Sem preto/branco puro
  • Contraste AA ok
  • Foge do roxo e do azul

Minha Marca

padrão Simples · Âmbar & Petróleo · Terroso

https://minha-marca.exemplo.com
Minha Marca

Minha Marca

Feito com cuidado, do jeito certo.

Uma frase curta sobre o que a marca faz e para quem. Ela aparece aqui embaixo do título e no README do kit.

No ar

Projeto Aurora

Lançado na semana passada, com 1.284 pessoas usando.

  • Web
  • Mobile
Revisão

Projeto Brisa

Em revisão final, publicação prevista para sexta.

  • API
Em teste

Projeto Coral

Protótipo em teste com os primeiros clientes.

  • Beta
  • Web

Visitas por canal

  • Busca
  • Social
  • Direto
  • E-mail
  • Outros

Receba novidades

Texto secundário com um link na cor da marca e uma palavra na terceira cor.

okavisoinfoerro

Carregando

Enviando arquivos64%

Esqueleto

Controles

Notificações por e-mail
Como funciona a cobrança?

Você paga só pelo que usar no mês, sem fidelidade. Dá para cancelar quando quiser.

Avisos

Nova mensagem de Ana sobre o Projeto Aurora.

Ao vivo · 128 pessoas agora

Ana está digitando…

Cores da marca

Cada cor no escuro e no claro. No claro, o tom de texto (-strong) escurece sozinho até passar no contraste AA. Clique para copiar.

Primária texto: #f2b84b / #94640b
Destaque texto: #4fb3a9 / #357b74
Terceira texto: #e07a5f / #c34726

Contraste (WCAG)

AA = 4.5 para texto normal, 3.0 para texto grande e ícones. Calculado ao vivo.

ParRazãoAmostraResultado
Texto no fundo17.13Aa textoAAA
Texto secundário no cartão6.85Aa textoAA
Botão primário10.49Aa textoAAA
Link / texto na primária10.49Aa textoAAA
Link no cartão9.82Aa textoAAA
Texto na cor de destaque7.47Aa textoAAA
Botão de destaque7.47Aa textoAAA
Texto na terceira cor5.96Aa textoAA
Botão de perigo6.78Aa textoAA
Selo de sucesso7.20Aa textoAAA
Selo de aviso7.44Aa textoAAA
Selo de erro5.02Aa textoAA

Leis de UX

Cada lei ligada vira regra na skill e checagem no hook do kit. Os limites ajustados aqui vão para o design.config.json.

  • Lei de Hick

    O tempo para decidir cresce com o número e a complexidade das opções.

    • Menu principal com no máximo 7 itens; o resto vai para "Mais" ou para a página certa.
    • Lista de escolha com mais de 10 opções vira campo com busca (combobox).
    • Uma tela, uma tarefa principal. Ações raras ficam em menu secundário.
    • Destaque a opção recomendada em vez de apresentar todas com o mesmo peso.
    Limites da Lei de Hick

    Checagem automática: hick/nav-items, hick/select-options

  • Lei de Fitts

    O tempo para acertar um alvo depende da distância até ele e do tamanho dele.

    • Todo alvo de toque ou clique tem pelo menos 40px de altura (botão, item de menu, campo).
    • A ação principal fica perto de onde a atenção já está (fim do formulário, canto da barra).
    • Ações destrutivas ficam longe das frequentes e pedem confirmação.
    • No celular, ações principais ficam ao alcance do polegar, na parte de baixo da tela.
    Limites da Lei de Fitts

    Checagem automática: fitts/target-size

  • Lei de Jakob

    As pessoas passam a maior parte do tempo em outros sites e esperam que o seu funcione igual.

    • Link é <a href>, ação é <button>. Nada de <div> ou <span> clicável.
    • Logo no canto superior esquerdo leva para o início; busca e conta ficam no canto direito.
    • Todo campo tem rótulo visível ou aria-label; placeholder não é rótulo.
    • Ícones consagrados mantêm o sentido de sempre: lixeira exclui, lupa busca.

    Checagem automática: jakob/clickable-non-interactive, jakob/anchor-without-href, jakob/placeholder-as-label

  • Lei de Miller

    A memória de trabalho guarda poucos itens (7 ± 2) ao mesmo tempo.

    • Formulário com mais de 7 campos é dividido em grupos (<fieldset> com <legend>) ou em etapas.
    • Números longos aparecem em blocos (CPF, telefone, cartão).
    • Listas longas ganham agrupamento, filtro ou paginação.
    Limites da Lei de Miller

    Checagem automática: miller/ungrouped-fields

  • Efeito Von Restorff

    Entre itens parecidos, o que é diferente é o que se lembra.

    • No máximo 1 ação primária (bg-primary) por tela: o destaque só funciona se for raro.
    • A cor de destaque (accent-hero) marca uma coisa por vez: o título, a novidade, o alerta.
    • Estado (erro, sucesso) nunca depende só da cor: vem com ícone ou texto.
    Limites da Efeito Von Restorff

    Checagem automática: von-restorff/single-primary

  • Conectividade Uniforme

    Elementos ligados visualmente (mesmo contorno, mesma linha) são percebidos como um grupo.

    • Opções do mesmo grupo (radio, checkbox) ficam dentro de <fieldset> ou role="radiogroup"/"group".
    • Itens relacionados dividem o mesmo cartão ou a mesma borda; itens sem relação, não.
    • As ações de um cartão ficam dentro dele, não soltas embaixo.

    Checagem automática: uniform-connectedness/choice-group

  • Lei de Tesler

    Toda tarefa tem uma complexidade mínima; ela deve ficar com o sistema, não com quem usa.

    • Campos de e-mail, telefone, nome e endereço têm type e autocomplete certos: o navegador preenche.
    • O sistema deduz o que puder (CEP preenche o endereço, a data padrão é hoje).
    • Valores padrão sensatos em vez de campos obrigatórios em branco.

    Checagem automática: tesler/autocomplete, tesler/input-type

Kit de design

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.