Pular para o conteúdo
Skillpedia
Sites e telas (frontend)40 mil · #5356

salesforce-component-standards

Ajuda seu agente a criar componentes de interface para o Salesforce. Garante que eles sigam padrões de qualidade, acessibilidade e segurança.

O que ela faz

Este guia ajuda a criar componentes de interface para o Salesforce que são seguros, acessíveis e seguem as melhores práticas. Ele garante que os componentes funcionem bem com o design do Salesforce (SLDS) e sejam fáceis de usar.

Quando usar

  • ✓Ao criar novas partes visuais (componentes) para o Salesforce.
  • ✓Ao revisar componentes existentes para garantir que estão seguros e eficientes.
  • ✓Quando quiser que seus componentes sigam os padrões de qualidade do Salesforce.

Exemplo do que pedir para a IA

“Como posso garantir que meu componente Lightning Web seja acessível para todos os usuários?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/salesforce-component-standards/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/salesforce-component-standards/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O guia detalha regras específicas para diferentes tipos de componentes (LWC, Aura, Visualforce). Ele explica como lidar com dados, segurança, estilo visual e testes, garantindo que tudo siga os padrões definidos.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill salesforce-component-standards

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/salesforce-component-standards/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Padrões de Qualidade de Componentes Salesforce

Aplique estas verificações a todos os LWCs, componentes Aura e páginas Visualforce que você escrever ou revisar.

Seção 1 — Padrões de Qualidade LWC

1.1 Seleção de Padrão de Acesso a Dados

Escolha o padrão de acesso a dados correto antes de escrever o código do controlador JavaScript:

Caso de uso Padrão Por quê
Ler um único registro reativamente (segue a navegação) @wire(getRecord, { recordId, fields }) Lightning Data Service — em cache, reativo
Formulário CRUD padrão para um único objeto <lightning-record-form> ou <lightning-record-edit-form> FLS, CRUD e acessibilidade integrados
Consulta de servidor complexa ou lista filtrada @wire(apexMethodName, { param }) em um método cacheable=true Permite cache; wire é reativado na mudança de parâmetro
Ação acionada pelo usuário, DML ou chamada de servidor não cacheável apexMethodName(params).then(...).catch(...) imperativo Necessário para DML — métodos com wire não podem ser @AuraEnabled sem cacheable=true
Comunicação entre componentes (sem pai compartilhado) Lightning Message Service (LMS) Desacoplado, funciona entre limites do DOM
Relacionamentos de gráfico multi-objeto GraphQL @wire(gql, { query, variables }) Uma única viagem de ida e volta para dados relacionados complexos

1.2 Regras de Segurança

Regra Aplicação
Nenhum dado bruto do usuário em innerHTML Use a ligação {expression} no template — o framework escapa automaticamente. Nunca use this.template.querySelector('.el').innerHTML = userValue
Métodos Apex @AuraEnabled aplicam CRUD/FLS Use WITH USER_MODE em SOQL ou verificações explícitas de Schema.sObjectType
Nenhum ID específico da organização codificado no JavaScript do componente Consulte ou passe como prop — nunca incorpore IDs de registro no código-fonte
Propriedades @api do pai: valide antes de usar Um pai pode passar qualquer coisa — valide o tipo e o intervalo antes de usar como parâmetro de consulta

1.3 Padrões de SLDS 2 e Estilização

  • Nunca codifique cores: color: #FF3366 → use color: var(--slds-c-button-brand-color-background) ou um token SLDS semântico.
  • Nunca substitua classes SLDS com !important — componha com propriedades CSS personalizadas.
  • Use componentes base <lightning-*> onde quer que existam: lightning-button, lightning-input, lightning-datatable, lightning-card, etc.
  • Componentes base incluem SLDS 2 integrado, modo escuro e acessibilidade — evite reimplementar seu comportamento.
  • Se estiver usando CSS personalizado, teste em modo claro e modo escuro antes de declarar como concluído.

1.4 Requisitos de Acessibilidade (WCAG 2.1 AA)

Todo componente LWC deve passar em todos estes antes de ser considerado concluído:

  • Todas as entradas de formulário têm <label> ou aria-label — nunca use placeholder como o único rótulo
  • Todos os botões apenas com ícone têm alternative-text ou aria-label descrevendo a ação
  • Todos os elementos interativos são alcançáveis e operáveis por teclado (Tab, Enter, Espaço, Escape)
  • A cor não é o único meio de transmitir status — combine com texto, ícone ou atributos aria-*
  • Mensagens de erro são associadas à sua entrada via aria-describedby
  • O gerenciamento de foco está correto em modais — o foco se move para dentro do modal ao abrir e volta ao fechar

1.5 Regras de Comunicação de Componentes

Direção Mecanismo
Pai → Filho Propriedade @api ou chamada de um método @api
Filho → Pai CustomEvent — this.dispatchEvent(new CustomEvent('eventname', { detail: data }))
Componentes irmãos / não relacionados Lightning Message Service (LMS)
Nunca use document.querySelector, window.* ou bibliotecas Pub/Sub

Para componentes de tela do Flow:

  • Eventos que precisam alcançar o tempo de execução do Flow devem definir bubbles: true e composed: true.
  • Exponha @api value para ligação bidirecional com a variável do Flow.

1.6 Regras de Desempenho JavaScript

  • Sem efeitos colaterais em connectedCallback: ele é executado em cada anexo do DOM — evite DML, computação pesada ou mutações de estado de renderização aqui.
  • Proteja renderedCallback: sempre use uma proteção booleana para evitar loops de renderização infinitos.
  • Evite armadilhas de propriedade reativa: definir uma propriedade reativa dentro de renderedCallback causa uma nova renderização — use-a apenas quando necessário e protegida.
  • Não armazene grandes conjuntos de dados no estado do componente — pagine ou transmita grandes resultados em vez disso.

1.7 Requisitos de Teste Jest

Todo componente que lida com interação do usuário ou recupera dados Apex deve ter um teste Jest:

// Expectativas mínimas de cobertura de teste

…
Perguntas frequentes

O que são LWC, Aura e Visualforce?

São diferentes tecnologias usadas para construir a interface do usuário dentro do Salesforce.

O que é SLDS 2?

É o sistema de design do Salesforce, que define a aparência e o comportamento dos componentes para manter a consistência visual.

O que significa 'acessibilidade' (WCAG 2.1 AA)?

Significa que os componentes devem ser utilizáveis por todas as pessoas, incluindo aquelas com deficiências visuais, auditivas ou motoras, seguindo um padrão internacional.

Detalhes

Descrição original do autor

Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages. Covers SLDS 2 compliance, accessibility (WCAG 2.1 AA), data access pattern selection, component communication rules, XSS prevention, CSRF enforcement, FLS/CRUD in AuraEnabled methods, view state management, and Jest test requirements. Use this skill when building or reviewing any Salesforce UI

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5356
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas