Communitygithub.com

vercel/building-components

Guia para construir componentes de UI modernos, acessíveis e compostíveis. Use ao criar novos componentes, implementar acessibilidade, criar APIs compostíveis, configurar design tokens, publicar no npm/registry ou escrever documentação de componentes.

O que é building-components?

Este é um guia abrangente para desenvolvedores que desejam construir componentes de interface de usuário (UI) modernos, acessíveis e altamente reutilizáveis. Ele cobre desde os fundamentos do Design System e tokens visuais até a implementação de componentes acessíveis e a criação de APIs que favorecem a composição e extensibilidade. O guia também aborda o processo de publicação de pacotes de componentes para registros como npm, além de práticas recomendadas para documentar cada componente de forma clara e eficiente. É útil tanto para projetos que usam React, Vue ou outras bibliotecas de componentes, fornecendo princípios universais de design e código que podem ser aplicados em qualquer stack moderna.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vercel/components.build/tree/main/skills/building-components

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que building-components faz?

Guia para construir componentes de UI modernos, acessíveis e compostíveis. Use ao criar novos componentes, implementar acessibilidade, criar APIs compostíveis, configurar design tokens, publicar no npm/registry ou escrever documentação de componentes.

Princípios Fundamentais

  • Moderno: utilize padrões atuais (como React hooks, Vue composition API) e aproveite recursos de plataforma
  • Acessível: garanta que todos os componentes sigam a WCAG 2.1 AA
  • Compostível: crie APIs previsíveis que permitam combinar e estender componentes facilmente

Design Tokens

Use tokens para garantir consistência visual:

// exemplo de tokens
--color-primary: #0070f3;
--spacing-unit: 8px;
--border-radius: 4px;

Acessibilidade

Para cada componente:

  • Atributos ARIA necessários (aria-label, aria-expanded, etc.)
  • Foco gerenciável e visível (tabIndex, :focus-visible)
  • Suporte a navegação por teclado (onKeyDown, role)
  • Testes automatizados de acessibilidade (axe, Lighthouse)

Publicação

  1. Configure package.json com main, module, types
  2. Use versionamento semântico (major.minor.patch)
  3. Inclua um README.md com exemplos de uso
  4. Publique com npm publish (ou pnpm publish, yarn publish)

Documentação

  • Documente cada componente com exemplos de código ao vivo
  • Inclua variações de estado (carregando, vazio, erro)
  • Forneça tabelas de props com descrições, tipos e valores padrão

Recursos Adicionais


Este guia é mantido pela comunidade da Vercel. Contribuições são bem-vindas!

Habilidades Relacionadas