CLI
A entrada interna da imagem é php blog <comando>. No repositório, use os
recipes do justfile, que executam build, servidor, testes e estilo dentro do
Docker (just build, just dev, just test, just pint). Os recipes de build
montam storage/framework/build-cache/ para preservar o cache incremental entre
execuções. A aplicação informa
o nome pocket_banana e versão 0.1.0.
build
php blog build [--fast] [--cover-jobs=JOBS] [--refresh-fonts] [--no-cache] [--profile]
Sem opções, executa dezesseis estágios e produz o artefato completo. --fast omite
apenas as capas sociais, deixando quinze estágios. A validação do Tailwind ocorre
antes da limpeza; Pagefind, Mermaid CLI/Chromium e Shiki/Node.js também são validados quando
as respectivas features estão habilitadas. Depois que as validações passam,
dist/ é limpo e uma execução rápida não preserva capas de builds anteriores.
--cover-jobs aceita um inteiro entre 1 e 16. Quando omitido, usa o menor valor entre os processadores disponíveis e 4. --refresh-fonts ignora o cache válido e baixa novamente o CSS e os WOFF2 configurados. --profile imprime o tempo de cada estágio além do total. Um valor inválido falha antes da limpeza de dist/.
O build usa por padrão um cache incremental de artefatos em
storage/framework/build-cache/. Ele reutiliza compressões Brotli/gzip e
covers quando o conteúdo derivado não mudou, mas sempre remonta dist/ do
zero para remover saídas obsoletas. --no-cache ignora e não grava esse cache;
ele não desativa o cache próprio de fontes, que continua controlado por
--refresh-fonts.
dev
php blog dev [--host=HOST] [--port=PORT] [--refresh-fonts]
--host usa 127.0.0.1 quando omitido. --port usa server.port, com fallback 8000. Antes do watcher, publica as fontes do cache em public/assets/; --refresh-fonts renova esse cache. Depois inicia o Tailwind e o servidor PHP com public/index.php. Ctrl+C encerra também o watcher. Requer o ambiente de desenvolvimento com public/.
config:lint
php blog config:lint
Valida config.yaml, incluindo tipos das chaves conhecidas e variáveis de ambiente interpoladas, sem renderizar páginas nem executar o build.
serve
php blog serve [--host=HOST] [--port=PORT]
Usa os mesmos defaults de rede. Executa build primeiro; se ele falhar, o servidor não inicia. Depois serve dist/ com public/dist-router.php.
make:page
php blog make:page sobre
Exige um argumento formado por letras minúsculas ASCII, números e hífens. Cria na raiz de Content/Pages/:
Content/Pages/sobre.blade.php
Content/Pages/sobre.meta.yaml
O template estende layouts.app, usa <x-blocks.prose> e deriva o título do nome. Nome inválido ou arquivo existente retorna falha. Não aceita caminho aninhado.
make:component
php blog make:component ui/hero
php blog make:component ui/forms/input
O primeiro segmento deve ser ui, layout ou blocks. Todos os segmentos aceitam minúsculas ASCII, números e hífens. Cria Content/Views/Components/<nome>.blade.php com @props, $attributes e $slot. Nome inválido ou arquivo existente retorna falha.
Comandos make:* exigem Content/ gravável. O mount :ro indicado para builds impede sua execução.
Comandos e opções globais
list, help e completion são fornecidos pelo console Illuminate. As opções globais incluem ajuda, versão, silêncio, quiet, ANSI, não interação, ambiente e níveis -v, -vv e -vvv.
Na imagem builder, o entrypoint é php blog build; opções podem ser anexadas diretamente, como docker run <imagem> --fast. Para executar outro comando, substitua o entrypoint por php e passe blog <comando>; dev e serve não funcionam nesse alvo porque public/ não está presente.
config:lint
Valida config.yaml, incluindo tipos das chaves conhecidas e variáveis de ambiente interpoladas, sem renderizar páginas nem executar o build.