Communitygithub.com

Vincenius/wwebdev

Construir, servir e verificar páginas do wweb.dev em um navegador real para validar alterações na superfície renderizada.

O que é wwebdev?

Esta habilidade permite que você compile e sirva o site estático wweb.dev (construído com Astro e ilhas React) e o verifique em um navegador real. Ela é útil para garantir que alterações no código fonte sejam refletidas corretamente na interface renderizada, incluindo componentes hidratados. O fluxo de trabalho envolve construir o site com Yarn, iniciar um servidor de produção em `http://localhost:4321`, e usar o Playwright (com o Chrome do sistema) para automatizar interações como verificar estilos computados, capturar screenshots em diferentes resoluções e validar que não há erros no console. A habilidade também documenta peculiaridades importantes, como a inabilitação de inline de assets do Vite para evitar violações de CSP, e a necessidade de um diretório de baseline para testes de paridade, que não substituem a verificação no navegador.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Vincenius/wwebdev/tree/HEAD/.claude/skills/verify

Perguntar na sua IA favorita

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

Documentação

Verificar uma alteração no wweb.dev

Site Astro totalmente estático com ilhas React — a verificação significa carregar a página compilada em um navegador e interagir com as ilhas hidratadas.

Compilar + servir

yarn install          # se as dependências do servidor estiverem faltando (server.mjs precisa de compression/express)
yarn build            # compilação estática → dist/ (TZ=UTC embutido)
yarn serve            # servidor de produção em http://localhost:4321 (NÃO astro preview)

node server.mjs falha diretamente em configurações adjacentes ao Yarn PnP — sempre use yarn serve. Execute em segundo plano; teste com curl -s -o /dev/null -w "%{http_code}" http://localhost:4321/<rota>.

Controlar a página

Não há Playwright no repositório. Instale playwright-core em um diretório temporário e use o Chrome do sistema (chromium.launch({ channel: 'chrome', headless: true })) — nenhum download de navegador é necessário. As ilhas são client:visible, então aguarde um seletor renderizado pela ilha antes de fazer asserções, e dê ~1s para animações.

Verificações úteis para as ferramentas geradoras:

  • estilos computados da saída <style> injetada (animation-name, position, size)
  • textarea .inputValue() para o código HTML/CSS copiável
  • capturas de tela em 1440px e ~480px (várias barras laterais de ferramentas mudam para column-reverse no mobile)

Peculiaridades

  • O console deve estar livre de erros. O inline de assets do Vite está desabilitado (assetsInlineLimit: 0 em astro.config.mjs) porque fontes data-URI violam CSP font-src 'self' — se erros CSP de data-URI reaparecerem, essa configuração foi perdida.
  • yarn test:parity precisa de test/baseline/ (snapshots HTML de produção) que não está versionado; sem ele, o harness falha com ENOENT. Não substitui a verificação no navegador de qualquer forma.

Habilidades Relacionadas