wp-build

Estágio 3 de uma construção WordPress com wp-site-kit - site DDEV local, plugin must-use principal (módulos), tema filho apenas de apresentação com skins, modelo de conteúdo (tipos de post personalizados, meta, WP_Query, funções de renderização) e pipeline de consultas que salva leads antes de encaminhar. Use ao construir ou alterar recursos, templates, tipos de conteúdo, formulários ou módulos de plugin em um site wp-site-kit.

O que é wp-build?

Este skill, chamado `wp-build`, representa o terceiro estágio do processo de construção de um site WordPress usando o kit `wp-site-kit`. Ele orienta o desenvolvedor a configurar o ambiente local com DDEV, renomear o tipo de conteúdo de exemplo para o negócio real, modelar os campos personalizados como metadados de post, e criar templates que dependem exclusivamente de funções do núcleo do plugin. O pipeline de consultas (enquiries) é implementado para salvar leads, enviar e-mails e purgar os dados de forma segura. O skill também cobre a geração de conteúdo a partir de arquivos de dados, a adição de novos módulos, e impõe regras rigorosas, como nunca colocar lógica de negócios no tema e sempre usar funções de sanitização e escape. Ele é projetado para garantir que o site funcione corretamente em ambiente local e que todos os testes estruturais e de linting passem antes do commit.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/umairmsm/wp-site-kit/tree/HEAD/skills/wp-build

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Estágio 3: Construção

Objetivo: o site roda localmente. Itens reais são renderizados por funções do núcleo. Consultas são salvas, encaminhadas e depois purgadas. Os testes estruturais estão verdes.

Leia primeiro: o AGENTS.md do projeto, depois references/architecture.md.

Passos

  1. Site local. Siga a seção "Primeira execução" do README.md do projeto. Depois verifique: ddev wp eval 'echo wp_get_environment_type();' deve imprimir local. Se não imprimir, veja references/local-env.md. Até imprimir local, o site pensa que está em produção: pode ser indexado e pode enviar e-mails para clientes reais.
  2. Renomeie o tipo de conteúdo de exemplo. Faça isso antes de existir conteúdo. <prefixo>_offer se torna a palavra do negócio (tour, serviço, curso): o tipo de post, o slug de reescrita e os rótulos em modules/content.php, além dos nomes das funções (_get_offers, _render_offer_card), do arquivo parts/offer-card.php e dos testes. Nomes de tipos de post têm limite de 20 caracteres.
  3. Modele o conteúdo. Encontre cada campo que o resumo do projeto precisa. Registre cada um como meta de post com um callback de sanitização e um callback de autorização. Preços são números em meta. 0 significa "sob consulta", nunca "grátis". Se os editores precisarem de telas de campos mais ricas, adicione ACF (grátis) por cima, mas leia os valores apenas através de funções do núcleo.
  4. Arquivos de dados → gerador (quando o proprietário fornecer muitos itens):
    • mantenha um arquivo Markdown ou JSON por item em docs/data/<tipo>/;
    • escreva um script WP-CLI idempotente que cria ou atualiza posts a partir desses arquivos;
    • dê a ele uma opção --dry-run;
    • execute-o com ddev wp eval-file - < scripts/<nome>.php. Os arquivos são a verdade revisável; o banco de dados é a cópia.
  5. Templates chamam uma função do núcleo por seção.
    • O layout vive no tema: templates, parts/, sobreposições de skin.
    • Dados, consultas, preços, frases de política e formulários vêm do núcleo.
    • Proteja cada chamada com function_exists(), para que um template nunca gere erro fatal se o plugin estiver ausente.
  6. Consultas. Mantenha o pipeline em modules/enquiry.php (references/forms-and-leads.md).
    • Adicione campos em três lugares juntos: o formulário, o manipulador e a caixa de detalhes.
    • Defina a caixa de entrada e o remetente em constantes do wp-config.php, nunca no código.
  7. Texto de política (termos, depósitos, cancelamento): coloque-o no núcleo como uma função (por exemplo <prefixo>_policy( 'cancellation' )). Os templates imprimem essa função, e um teste falha se um template codificar manualmente uma frase de política.
  8. Novo módulo? Adicione um arquivo em modules/, uma linha require_once no bootstrap, e atualize tests/structure/core.spec.ts no mesmo commit.
  9. Verifique e faça commit.
    • Execute npm run test:structure e npm run lint:php (0 erros).
    • Peça ao agente wp-rules-reviewer para revisar o diff.
    • Faça commit (Commits Convencionais).

Portão (marque em SITE_STATUS.md)

  • wp_get_environment_type() = local
  • Plugin principal e tema filho ativos; skin carrega
  • Itens reais renderizados por funções do núcleo; sem cartões, preços ou slugs codificados manualmente
  • Consulta: salva → enviada por e-mail → retentativa → purgada; testada de ponta a ponta no Mailpit
  • Testes estruturais verdes; PHPCS 0 erros

Nunca

  • Lógica de negócios, WP_Query, preços, chamadas pll_* ou texto de política no tema.
  • $_POST ou $_GET brutos sem wp_unslash + uma função de sanitização; saída sem esc_*.
  • Chaves de API ou endpoints de terceiros em HTML ou JS. Encaminhe do servidor.
  • Alternar módulos de plugin com wp option update bruto. Use a interface própria do plugin ou CLI, depois verifique novamente cada página que ele afeta.
  • Funções, opções, hooks, chaves de meta ou nonces sem prefixo.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

umairmsm/wp-content

Stage 4 of a wp-site-kit WordPress build - real copy and photos. Content truth (facts only from the owner), AI drafts and owner approval, claims audits, banned words and fake proof, legal pages, the photo pipeline (dedupe, real-only, EXIF strip, WebP sizes, alt text, AI image register), and recorded content changes. Use for "write the copy", "add photos", "the owner sent new photos", "check for duplicates", "update prices or text on the live site", "legal pages".

umairmsm/wp-design

Stage 2 of a wp-site-kit WordPress build - design direction, a static HTML/CSS prototype with design tokens, owner sign-off with screenshots, self-hosted fonts, and porting the approved look into a swappable WordPress skin. Use for "design the site", "new look", "redesign", "change colours or fonts", "make a new skin", "port the prototype to WordPress".

umairmsm/wp-kickoff

Stage 1 of a wp-site-kit WordPress build. Use when starting a new WordPress website or taking over or rebuilding an existing one - discovery brief, stack decision, creating the project with bin/wp-site-new, locked decisions, private repo and credentials inventory. Triggers - "new WordPress site", "start a client website", "rebuild this site", "take over this WordPress site".

umairmsm/wp-operate

Stage 8 of a wp-site-kit WordPress build and everything after launch - backups with an off-machine copy, restore drills, the disaster-recovery runbook, credentials inventory, update policy, alerts, and working from more than one machine (bridge file, workstation doctor, encrypted state bundle, rescuing unpushed work). Use for "backup", "restore", "move to a new machine/server", "update plugins", "what if the server dies", "work from the cloud box", "set up a second machine".

umairmsm/wp-seo

Stage 5 of a wp-site-kit WordPress build - titles and descriptions, canonical URLs, one schema owner and JSON-LD, sitemaps, robots.txt and llms.txt, AI crawler access, redirects (301 vs 302), legacy URL maps, Search Console, and adding languages one pilot at a time with Polylang (hreflang, .po/.mo strings, native review). Use for "SEO", "schema", "redirect", "old URLs", "translate the site", "add French/Spanish", "hreflang", "canonical".

umairmsm/wp-ship

Stage 7 of a wp-site-kit WordPress build - staging behind Cloudflare Access, server hardening, safe deploys from a commit (scripts/deploy-safe.sh), database content changes, the launch audit, DNS cutover without breaking a running business, and the first week after launch. Use for "deploy", "set up staging", "go live", "launch", "cutover", "move DNS", "harden the server".

umairmsm/wp-site

Start here for any WordPress website built with wp-site-kit, from an empty folder to a live site. Use when someone says "build a WordPress site", "new website for a client", "where are we on the site", "what is next before launch", or asks to continue a site project. Finds the current stage from SITE_STATUS.md, applies the hard rules, and hands over to the right stage skill.

Habilidades Relacionadas