Menu

Fechar

Menu

Fechar

Do Figma para Drupal: Guia de boas práticas para criar componentes no Drupal Canvas

Drupal

Imagem de destaque artigo figma para drupal

Durante anos, levar um layout do Figma para Drupal foi um processo manual, demorado e cheio de ruído. Designers entregavam telas impecáveis. Desenvolvedores precisavam reinterpretar cada detalhe para transformá-las em componentes Drupal. No caminho, nuances se perdiam, decisões eram refeitas e o retrabalho virava regra.

Esse cenário está mudando com Drupal Canvas e a integração via Model Context Protocol (MCP). Agora, é possível gerar componentes funcionais a partir do design, em minutos, não horas.

Mas existe uma condição que separa um fluxo produtivo de um caos automatizado: a qualidade do output depende diretamente da qualidade do input. A IA não faz mágica. Ela interpreta estrutura, nomenclatura, hierarquia e intenção. Um design bem preparado gera código previsível. Um design desorganizado gera problemas em velocidade recorde.

Este guia reúne boas práticas que fazem a diferença entre um componente que funciona de primeira e outro que exige horas de ajuste. O conteúdo está organizado em três pilares:

  • Estrutura: como organizar design e código para que se entendam;

  • Comunicação: como transmitir intenções do design para o código;

  • Iteração: como refinar até chegar ao resultado ideal.

Converse com um especialista Dexa

Converse com um especialista Dexa

Pilar 1 - Estrutura

Como organizar o Figma para o Drupal Canvas gerar componentes consistentes

Antes de falar em automação ou IA, é preciso falar de base. Estrutura é o que permite que design e código se encontrem sem interpretação excessiva. Quando essa base é sólida, a geração automática funciona. Quando não é, cada componente vira um ponto de ajuste manual.

Nomenclatura que humanos e máquinas entendem

A nomenclatura das camadas no Figma é um dos fatores mais determinantes para o sucesso da geração automática de componentes. A IA utiliza esses nomes para entender hierarquia, função e relação entre elementos. Nomes genéricos simplesmente não comunicam intenção.

O padrão recomendado

Use a estrutura Componente/Variante/Estado para nomear componentes e nomes descritivos para camadas internas.

Exemplos

Para camadas dentro do componente

Convenções que facilitam a interpretação

Para reduzir a ambiguidade, é essencial adotar convenções simples e consistentes. Elas ajudam tanto quem mantém o arquivo quanto a IA que vai interpretar o design.

O que evitar

  • Nomes duplicados: quando duas camadas têm o mesmo nome, a IA não consegue distinguir corretamente a função de cada elemento. Isso costuma gerar mapeamento errado de estilos, props aplicadas no lugar errado ou estrutura HTML confusa.

  • Caracteres especiais: acentos, espaços e símbolos dificultam a normalização dos nomes e tendem a gerar classes e props inconsistentes no código. Para evitar problemas, use apenas camelCase ou PascalCase, sem caracteres especiais.

  • Nomes muito longos: nomes extensos misturam múltiplas responsabilidades em uma única camada e dificultam a interpretação automática. Mantenha o nome base simples e use variantes do Figma para representar estados, tamanhos e variações visuais.

  • Abreviações obscuras: abreviações reduzem a clareza semântica e aumentam a chance de interpretação incorreta pela IA. Prefira nomes completos e descritivos.

Arquitetura de componentes

A forma como você estrutura componentes no Figma deve espelhar como eles existirão no Drupal Canvas. Isso significa pensar em reutilização desde o início e evitar que cada tela vire uma peça única.

Aqui, Atomic Design ajuda a manter uma hierarquia saudável.

A hierarquia que funciona

Quando criar um componente vs. uma variante

Antes de definir qualquer componente no Drupal Canvas, é essencial diferenciar o que realmente exige uma nova estrutura do que pode ser resolvido com variações controladas. Essa decisão impacta diretamente a reutilização, a manutenção e a clareza do sistema de componentes. Criar componentes demais fragmenta o design system; criar poucos demais gera estruturas rígidas e difíceis de evoluir.

A tabela abaixo ajuda a orientar essa escolha.

Situação

Decisão

Justificativa

Mesmo layout, cores diferentes

Variante

Estrutura idêntica, muda apenas o estilo

Mesmo layout, com ou sem imagem

Variante

Mesma base estrutural, elemento opcional

Layouts completamente diferentes

Componente novo

Estrutura diferente exige componente distinto

Versão mobile vs. desktop

Variante

Mesmo componente com breakpoint diferente

Card de produto vs. Card de blog

Componente novo

Props e contexto de uso muito diferentes

Estrutura interna que o Canvas espera

No Drupal Canvas, componentes trabalham com props (dados configuráveis) e slots (áreas flexíveis para composição). Seu design precisa refletir isso, porque esse é um dos pontos que mais afeta a reutilização do componente.

Exemplo conceitual de componente no Canvas
Como refletir props e slots no Figma

No Figma, identifique visualmente o que é prop e o que é slot usando nomenclatura, cores ou prefixos nas camadas.

Design tokens como fonte única

Design tokens são variáveis que representam decisões de design, como cores, tipografia, espaçamento e sombras. Eles garantem consistência entre Figma e Drupal.

Por que tokens fazem diferença

Sem tokens, pequenas divergências se acumulam. Com tokens, qualquer mudança é centralizada, previsível e escalável. Eles reduzem erros, facilitam manutenção e alinham design e desenvolvimento.

Estrutura recomendada de tokens

  • Tokens primitivos: valores base, como cores, espaçamentos e fontes.

  • Tokens semânticos: intenção de uso, como cor primária, fundo, texto ou espaçamento de componente.

Estrutura recomendada de tokens

Fluxo dos tokens até o Drupal

  • Criação no Figma com ferramentas como Tokens Studio

  • Exportação em JSON

  • Transformação com ferramentas como Style Dictionary

  • Geração de variáveis CSS

  • Consumo direto nos componentes do Canvas

Pilar 2 – Comunicação

Como traduzir intenções do Figma para um CSS limpo no Drupal

Estrutura define o o quê. Comunicação define o como. Mesmo um design bem organizado pode gerar código confuso se o comportamento não estiver claro.

Neste pilar, o foco é garantir que a IA consiga interpretar como os elementos devem se comportar, não apenas como eles parecem.

Auto Layout no Figma: como ele vira Flexbox e Grid

A forma como você constrói layouts no Figma determina diretamente a qualidade do CSS gerado. Auto Layout é a chave, mas não qualquer Auto Layout.

Exemplo prático: card de produto com Auto Layout

No Figma, o objetivo é que a estrutura de camadas já deixe claro o comportamento do layout. Quando o layout é lógico no Figma, o CSS nasce previsível.

No Figma (estrutura de camadas com Auto Layout)

CSS gerado (esperado)

A ideia é simples: quando o layout é lógico no Figma, o CSS nasce previsível. A IA não precisa adivinhar intenção. Ela traduz.

Constraints no Figma: como viram comportamento no CSS

Responsividade: o que definir no Figma vs. no código

Para evitar componentes bonitos só em um breakpoint, combine decisões corretas no Figma com ajustes corretos no código. Figma define intenção, código define precisão.

Defina no Figma

  • Comportamento de redimensionamento (Fill, Hug, Fixed)

  • Proporções e relações entre elementos

  • Breakpoints principais como frames separados (Mobile, Tablet, Desktop)

  • Quais elementos somem ou aparecem em cada breakpoint

Ajuste no código

  • Media queries exatas

  • Valores específicos de breakpoints

  • Animações de transição

  • Comportamentos de overflow e scroll

Documentação no Figma

Os campos de descrição do Figma são ignorados por muitos designers, mas podem influenciar a geração. A ideia é simples: se a intenção está escrita, a IA tem menos lacunas para preencher com suposições.

Inclua na descrição

  • Propósito do componente

  • Props e seus tipos

  • Slots

  • Estados

  • Requisitos de acessibilidade

Props, estados e valores padrão explícitos

Use o painel de propriedades do Figma para definir variantes e seus valores. Quanto mais explícito, mais previsível vira o mapeamento no Canvas.


Propriedade

Tipo

Valores

Padrão

Size

Enum

small, medium, large

medium

Variant

Enum

primary, secondary, ghost

primary

State

Enum

default, hover, active, disabled

default

ShowIcon

Boolean

true, false

false

IconPosition

Enum

left, right

left

O arquivo de instruções como ponte

O arquivo .github/copilot-instructions.md é onde você documenta padrões específicos do projeto, incluindo estrutura SDC, padrões de CSS e convenções Twig e YAML.

Restrições visuais que evitam CSS frágil

Algumas decisões de design parecem inofensivas, mas geram problemas no código. Restrições bem definidas reduzem CSS frágil e evitam exceções difíceis de manter.

Boas práticas

  • Priorizar Auto Layout com gap

  • Evitar posicionamento absoluto

  • Usar Fill e Hug de forma consciente

  • Definir larguras fixas apenas quando necessário

  • Limitar textos por linhas no design

Problemas comuns

  • Elementos sem container pai

  • Margens negativas para alinhamento

  • Breakpoints sem regra clara

  • Componentes que só funcionam com conteúdo específico


Pilar 3 – Iteração

Como refinar até chegar ao resultado ideal

Mesmo com uma boa estrutura no Figma e uma comunicação clara das intenções de layout, o primeiro output gerado via Drupal Canvas dificilmente será definitivo. Isso não é um problema do processo, é parte natural de qualquer fluxo de desenvolvimento orientado a componentes.

A diferença entre um time que se frustra com a automação e um time que escala com ela está na forma como a iteração é conduzida. Iterar bem não significa consertar código, mas ajustar o insumo que gera o código.

Neste pilar, o foco é entender como evoluir componentes de forma controlada, previsível e sem comprometer a consistência do sistema.

Iterar por componente, não por página

Testar o fluxo direto em páginas completas costuma atrapalhar mais do que ajudar. Em uma página, vários componentes se misturam. Um erro de estrutura, layout ou nomenclatura fica difícil de rastrear. Você não sabe se o problema veio do card, do grid, do slot, do token ou de uma variante específica.

O ideal é trabalhar em ciclos curtos e controlados, sempre no nível do componente:

  • Gerar um componente isolado

  • Validar estrutura, props e slots

  • Ajustar o design no Figma, se o problema for estrutural

  • Regenerar o componente para confirmar o comportamento

  • Só depois usar esse componente para compor páginas

Esse método reduz o impacto de erros porque você corrige a causa na origem, antes que ela se espalhe pela interface. E acelera o aprendizado, porque cada iteração gera feedback claro sobre o que mudou no Figma e como isso apareceu no Canvas.

O ciclo de feedback rápido

Um workflow eficiente entre Figma e Drupal Canvas depende de ciclos curtos, repetíveis e previsíveis. A lógica é simples: gerar, testar, avaliar e ajustar, sem longos intervalos entre cada etapa. Quanto menor o ciclo, menor o retrabalho.

1. Gerar

Execute a sincronização do componente informando o nome do componente e a URL exata do nó no Figma. Esse passo cria a base do componente no Canvas a partir da estrutura de design definida.

2. Testar

Após a geração, limpe o cache e visualize o componente no editor Canvas. O objetivo não é validar estética, mas confirmar se o componente renderiza corretamente e está disponível no ambiente.

3. Avaliar

Realize uma checagem objetiva de qualidade técnica:

  • Estrutura HTML semântica

  • Padrão consistente de classes CSS

  • Uso de variáveis CSS em vez de valores fixos

  • Props corretamente mapeadas

  • Responsividade funcional

  • Estados de interação implementados

  • Acessibilidade básica atendida

4. Ajustar

Se algo não estiver correto, refine e repita o ciclo:

  • Ajustar no Figma e regenerar, quando o problema for estrutural

  • Ajustar diretamente no código, quando o erro for pontual, atuando em YAML, Twig ou CSS

Esse ciclo reduz correções tardias, mantém design e código alinhados e transforma a geração de componentes em um processo previsível, técnico e controlável.

Quando o output está bom o suficiente

Buscar perfeição absoluta pode atrasar o projeto sem gerar valor proporcional. No fluxo Figma para Drupal, o objetivo não é eliminar todo detalhe imperfeito, mas garantir que o componente seja sólido, reutilizável e coerente com o sistema. Saber priorizar é o que mantém a velocidade sem comprometer a qualidade.

Problemas de baixo impacto podem ser aceitos ou resolvidos com ajustes rápidos. Questões estruturais devem ser corrigidas no Figma e regeneradas para evitar que o erro se propague. Problemas de experiência ou acessibilidade não são negociáveis e exigem correção imediata.

Problema

Impacto

Ação

Classe CSS com nome estranho

Baixo

Aceitar ou ajuste rápido manual

Estrutura HTML incorreta

Alto

Ajustar no Figma e regenerar

Falta um estado (hover)

Médio

Adicionar manualmente

Props não mapeadas

Alto

Revisar descrição do componente no Figma

Responsividade quebrada

Alto

Verificar Auto Layout no Figma

Espaçamentos inconsistentes

Médio

Verificar tokens ou ajustar manual

Designer e desenvolvedor em sincronia

O fluxo Figma para Drupal não elimina a colaboração entre design e desenvolvimento. Ele a torna mais objetiva. Em vez de longas traduções e retrabalho, o processo se concentra em validações rápidas e decisões conjuntas baseadas no comportamento real do componente.

Essa proximidade reduz ruído, acelera entregas e cria entendimento comum sobre limites técnicos e possibilidades de design.

Ritual de revisão conjunta

  1. Designer prepara o componente no Figma seguindo os padrões

  2. Desenvolvedor executa a geração e testa no Canvas

  3. Juntos revisam o resultado em uma chamada rápida de 15 a 30 minutos

  4. Decisão conjunta: aceitar, ajustar no Figma ou ajustar no código

Feedback bidirecional: quando o código informa o design

O fluxo não é apenas Figma para Código. Em muitos casos, o código revela limitações ou oportunidades que não estavam evidentes no design. Auto Layout que não gera Flexbox consistente, hierarquias muito profundas que produzem CSS complexo ou slots mal definidos que limitam reutilização são exemplos comuns.

Quando isso acontece, ajustar o Figma não melhora apenas o componente atual. Melhora todo o sistema que será gerado a partir dele.

Documentação compartilhada como base do processo

Para que a iteração escale e não dependa apenas da memória do time, é essencial registrar decisões. Um documento simples no Notion, Confluence ou Google Docs já sustenta o processo.

Vale documentar a biblioteca de componentes e seus status, padrões de nomenclatura, tokens, estrutura, decisões técnicas relevantes e problemas conhecidos com suas soluções.

Erros comuns no fluxo Figma para Drupal e como evitá-los

Quando o componente não aparece no Canvas, a causa costuma ser cache não limpo. HTML genérico demais geralmente indica camadas sem nomes semânticos. CSS estranho costuma ser resultado de hierarquias excessivamente aninhadas. Props ausentes quase sempre vêm de descrições incompletas no Figma.

Problemas de estrutura

Cores hardcoded indicam ausência de tokens. Flexbox quebrado costuma ser reflexo de Auto Layout mal configurado. Responsividade falha normalmente vem do uso inconsistente de Fill e Hug.

Problema

Causa provável

Solução

Componente não aparece no Canvas

Cache não foi limpo

Execute ddev drush cr após cada geração

HTML gerado com divs genéricas

Camadas sem nomes semânticos

Renomeie todas as camadas no Figma

CSS com seletores estranhos

Estrutura de camadas muito aninhada

Simplifique a hierarquia, máximo 4–5 níveis

Props não aparecem no painel

Descrição do componente incompleta

Documente todas as props na descrição do Figma

Problemas de código

Código irrelevante geralmente aponta para um arquivo de instruções ausente ou incompleto. Erros recorrentes são comuns quando os prompts são genéricos demais. Output muito distante do design costuma acontecer quando elementos estão fora do frame do componente no Figma.

Problem

Likely cause

Solution

Hardcoded colors in CSS

Tokens not configured

Implement Design Tokens before generating

Flexbox does not behave as expected

Auto Layout is misconfigured

Verify that all containers use Auto Layout

Broken responsiveness

Inconsistent constraints

Use Fill and Hug consistently, and avoid Fixed

Fonts not applied

Font stack not defined

Configure font-family in your tokens

Problemas de workflow

Código irrelevante geralmente aponta para um arquivo de instruções ausente ou incompleto. Erros recorrentes são comuns quando os prompts são genéricos demais. Output muito distante do design costuma acontecer quando elementos estão fora do frame do componente no Figma.

Problema

Causa provável

Solução

Copilot gera código irrelevante

Arquivo de instruções ausente ou incompleto

Adicione .github/copilot-instructions.md detalhado

Erros constantes na geração

Prompt muito genérico

Divida em passos menores e valide a estrutura primeiro

MCP não conecta

Servidor não iniciado

Verifique Figma Preferences e habilite Enable MCP Server

Resultado muito diferente do design

Elementos fora do componente no Figma

Certifique-se de que tudo está dentro do frame do componente

Identificar esses padrões cedo evita que pequenos erros se transformem em gargalos ao longo do projeto.

Conclusão

A ponte entre Figma e Drupal Canvas não é mágica, é um método. Com estrutura clara, comunicação eficiente e iteração disciplinada, a promessa de design para código em minutos se torna realidade prática.

Os três pilares formam um ciclo virtuoso:

  • Estrutura bem definida facilita a comunicação

  • Comunicação clara acelera a iteração

  • Iteração rápida revela melhorias na estrutura

Comece pequeno. Escolha um componente simples, aplique as boas práticas e observe o resultado. Ajuste, aprenda e repita. Em pouco tempo, o workflow que parecia complexo se torna natural e a distância entre design e código desaparece.

Importante: este artigo foi inspirado pelo trabalho pioneiro de Witze Van der Straeten, cuja experimentação com Figma MCP e Drupal Canvas foi apresentada na DrupalCon Vienna 2025 e chamou a atenção de Dries Buytaert, fundador do Drupal. Vamos conversar sobre o seu projeto. Preencha o formulário e entraremos em contato.

Fale conosco

Fale conosco

Checklist final

Antes de escalar o fluxo Figma para Drupal, rode um checklist simples. Ele ajuda a identificar gargalos rapidamente e evita que pequenos descuidos comprometam o processo.

Para designers

  • Camadas nomeadas semanticamente

  • Componentes seguindo o padrão Componente/Variante/Estado

  • Auto Layout aplicado em todos os containers

  • Design Tokens configurados

  • Descrição do componente preenchida com props e slots

  • Variantes criadas para todos os estados

  • Versões responsivas organizadas

  • Constraints configurados consistentemente

Para desenvolvedores

  • Ambiente configurado com DDEV, Drupal 11 e Canvas

  • VS Code integrado com Copilot e MCP

  • Arquivo .github/copilot-instructions.md criado

  • Tokens disponíveis como variáveis CSS

  • Estrutura SDC preparada

  • Script de rebuild de cache pronto

Para o time

  • Padrões de nomenclatura documentados

  • Biblioteca de componentes atualizada

  • Ritual de revisão conjunta estabelecido

  • Canal de comunicação definido

  • Documentação compartilhada acessível

Esse checklist funciona como um freio de segurança. Se tudo estiver marcado, o fluxo tende a ser previsível. Se algo falhar, o problema aparece cedo, antes de virar retrabalho em larga escala.

Foto de autor Dexa - Diego Marinez.

Diego Martinez

Diretor executivo e CEO na Dexa

Designer com expertise em UX/UI, Drupal, branding, desenvolvimento de negócios e plataformas de experiência digital.

Newsletter

Receba nossas novidades e atualizações na sua caixa de entrada.

Ao se inscrever, você concorda com a Política de Privacidade. Não se preocupe, não enviamos SPAM.



Ao se inscrever, você concorda com a Política de Privacidade. Não se preocupe, não enviamos SPAM.

Newsletter

Receba nossas novidades e atualizações na sua caixa de entrada.

Newsletter

Receba nossas novidades e atualizações na sua caixa de entrada.

Ao se inscrever, você concorda com a Política de Privacidade. Não se preocupe, não enviamos SPAM.



Pronto para elevar sua jornada digital?

MATERIAIS EXCLUSIVOS

Baixe nossos e-books e relatórios e desbloqueie o potencial do seu ecossistema digital.

E-BOOK

Como criar um site de alta conversão: estratégias práticas para transformar visitas em leads

WHITEPAPER

Um mercado de Educação a Distância com 10 milhões de estudantes - e uma fatia dele pode ser sua.

Pronto para elevar sua jornada digital?

MATERIAIS EXCLUSIVOS

Baixe nossos e-books e relatórios e desbloqueie o potencial do seu ecossistema digital.

E-BOOK

Como criar um site de alta conversão: estratégias práticas para transformar visitas em leads

WHITEPAPER

Um mercado de Educação a Distância com 10 milhões de estudantes - e uma fatia dele pode ser sua.

Pronto para elevar a sua jornada digital?

MATERIAIS EXCLUSIVOS

Baixe nossos e-books e relatórios e desbloqueie o potencial do seu ecossistema digital.

E-BOOK

Como criar um site de alta conversão: estratégias práticas para transformar visitas em leads

WHITEPAPER

Um mercado de Educação a Distância com 10 milhões de estudantes - e uma fatia dele pode ser sua.

Pronto para elevar sua jornada digital?

MATERIAIS EXCLUSIVOS

Baixe nossos e-books e relatórios e desbloqueie o potencial do seu ecossistema digital.

E-BOOK

Como criar um site de alta conversão: estratégias práticas para transformar visitas em leads

WHITEPAPER

Um mercado de Educação a Distância com 10 milhões de estudantes - e uma fatia dele pode ser sua.