Temas e CLI › CLI

Desenvolver com o tema dev

O denaryx tema dev é o jeito de trabalhar no código de um tema vendo a loja de verdade: cada arquivo salvo vai para a loja, os problemas aparecem no terminal, e a página aberta no navegador se atualiza sozinha. O CSS troca sem recarregar a página.

cd meu-tema
denaryx tema dev
Tema de desenvolvimento: Dev: meu-tema (5b0d6f1e-...), vence em 11/10/2026 18:57 se ficar sem gravação.
Conferência da loja: Nenhum problema.
Servidor local: http://127.0.0.1:9292
Observando esta pasta. Teclas: p abre a prévia, e o editor visual, c um link para compartilhar, q sai.

18:57:08 enviado sections/banner.liquid (180 ms)
18:57:21 enviado assets/tema.css (95 ms)

Pede o escopo write_themes (ver Entrar numa loja).

O tema de desenvolvimento

Cada pessoa trabalha no seu tema de desenvolvimento: um tema temporário, só dela, fora da biblioteca da loja. O tema que o cliente está aprovando, e a vitrine, não mudam enquanto você trabalha.

  • Na primeira vez, o CLI cria o tema com o código da pasta e com o conteúdo da loja: as seções, os blocos e os ajustes montados no editor visual do tema do projeto (o tema do denaryx.json) ou, sem ele, do tema publicado. Você vê a loja como o lojista a montou, com os produtos de verdade.
  • Nas vezes seguintes, o CLI continua no mesmo tema e envia o que mudou na pasta desde a última vez. No tema de desenvolvimento, a pasta é a verdade: se alguém gravou nele pelo painel, a pasta vence.
  • O tema vence 7 dias depois da última gravação e sai da loja sozinho. Se ele venceu ou foi excluído, o próximo denaryx tema dev cria outro.
  • Ele não conta nos 20 temas da biblioteca. São até 5 por integração (ou pessoa) e 30 por loja.
  • Ele não é publicado. Para pôr o código no ar, envie a pasta ao tema do projeto (denaryx tema push) e publique esse, depois da aprovação do cliente.
  • O painel mostra os temas de desenvolvimento na página Temas, em Em desenvolvimento, com quem criou, a última mudança e quando vence; dá para abrir no editor visual, ver a prévia e excluir.
  • denaryx tema list mostra os temas de desenvolvimento da loja, com o desta máquina marcado.

--nome dá o nome do tema de desenvolvimento quando ele é criado (o padrão é Dev: com o nome da pasta do projeto).

Quem trabalha sozinho e quer ver cada gravação no próprio tema do projeto usa --direto. Aí o envio segue as regras do push: se alguém gravou o mesmo arquivo pelo painel, o CLI avisa o conflito e não grava (traga o da loja com denaryx tema pull). O tema conectado a uma branch do GitHub recusa o --direto (409 theme_connected): ali o código muda pelo git push (O tema no GitHub).

O servidor local

O servidor local, em http://127.0.0.1:9292 (ou na porta seguinte livre; --porta escolhe outra), mostra a vitrine da loja com o seu tema, pela prévia. A página é exatamente a de produção: o <head> da plataforma, as rotas, o carrinho e os dados reais. O CLI não desenha nada sozinho, e por isso precisa de rede.

  • A prévia vale 60 minutos; o CLI cria outra aos 50, sem você perceber.
  • O carrinho funciona, e o checkout abre fora, no endereço de verdade.
  • O navegador não recebe nenhum cookie da loja: o CLI os guarda. O token (da integração ou do login pela conta) nunca chega ao navegador.
  • O servidor só atende pelo endereço local. --rede o abre para a rede local, para testar no celular: o CLI mostra os endereços. Quem alcança a porta na rede navega com a prévia e o carrinho desta sessão; use numa rede de confiança.
  • --sem-proxy, para a rede que não deixa o servidor local funcionar: o CLI só envia as gravações e mostra o endereço da prévia, que se atualiza sozinho a cada 3 segundos.

A atualização da página

  • Só CSS de assets/: o estilo troca na página aberta, sem recarregar e sem perder o que estava na tela.
  • Qualquer outra mudança (Liquid, JSON, JavaScript, locales): a página recarrega e volta à mesma rolagem.
  • Erro no que foi salvo: um aviso aparece sobre a página, com o arquivo, a linha e a mensagem, e a página fica como estava. O aviso some na próxima gravação certa. O erro também aparece no terminal, com os avisos do verificador.

O CLI junta as gravações de uma janela curta (o editor que salva vários arquivos de uma vez manda um envio só) e só envia o arquivo cujo conteúdo mudou mesmo. Cada envio é uma chamada à API, dentro do limite de 4 por segundo.

As teclas

TeclaO que faz
pAbre a página no navegador (o servidor local, ou a prévia com --sem-proxy).
eAbre o editor visual do tema no painel, para mexer no conteúdo.
cCria um link de prévia para compartilhar (7 dias, acompanhando o trabalho). Aparece uma vez só.
qSai. O tema de desenvolvimento fica na loja.
Ctrl+CTambém sai.

As opções

OpçãoO que faz
--diretoTrabalha no tema do projeto, sem o tema de desenvolvimento.
--porta <número>A porta do servidor local (padrão: 9292, ou a seguinte livre).
--redeAbre o servidor local para a rede (o celular).
--sem-proxySem o servidor local: só envia e mostra o endereço da prévia.
--nome <nome>O nome do tema de desenvolvimento, quando ele é criado.

Valem também as opções gerais, como --ambiente e --detalhes.

Os sistemas

O CLI observa as oito pastas do tema, cada uma com o observador de arquivos do Node, no Windows, no macOS e no Linux; a raiz do projeto, o node_modules e o .git não são observados. Quem gera o tema com um build (Sass, TypeScript, Tailwind) roda o build em modo de observação em outro terminal, com a pasta do denaryx.json apontando para a saída dele.