MockzillaMockzilla

Referência da CLI

Atualizado em 29 de set. de 2026·5 min de leitura

A CLI mockzilla é o servidor mock de código aberto. Ela roda na sua máquina, não precisa de conta e funciona offline. Esta página lista o que você pode digitar.

Veja Instalar a CLI para colocar ela na sua máquina.

Servir um mock

Um argumento, e o que você apontar decide o que roda:

mockzilla petstore.yml                                       # um arquivo de spec
mockzilla https://petstore3.swagger.io/api/v3/openapi.json   # um spec por URL
mockzilla ./services/                                        # uma pasta
mockzilla petstore.mockz                                     # um pacote, do disco ou de uma URL
mockzilla response.json                                      # uma resposta estática, servida em GET /

O servidor sobe na porta 2200 com o explorador de API na raiz. Os arquivos carregados do disco ficam sob observação: salve um spec, um config.yml ou um context.yml e aquele serviço é trocado ao vivo, sem reiniciar.

Uma pasta é lida como um monte de specs, como um serviço único, ou como uma árvore services/.

Veja Simulações portable para as três formas de pasta e o que vai em cada uma.

Flags

  • --port N escolhe a porta. 0 pega qualquer porta livre que a máquina oferecer. Por padrão 2200.
  • --ready-stamp imprime uma linha JSON assim que o servidor está escutando, para os scripts que esperam por ele.

Mais quatro valem quando existe exatamente um serviço registrado, que é o caso de um arquivo de spec único ou de uma pasta de serviço única:

  • --latency D atrasa cada resposta por uma duração, tipo 100ms ou 1s.
  • --mount PATH define o prefixo de URL em que o serviço responde, tipo pets/v2.
  • --errors RULES responde uma parte das requisições com um status de erro. p5=500,p10=503 manda 500 para 5 por cento das requisições e 503 para os 5 seguintes.
  • --context FILE aponta para um YAML de contexto, os valores de substituição planos que dão forma aos dados gerados.

Quanto o servidor registra é uma variável de ambiente, não um flag. LOG_LEVEL aceita debug, info, warn, error ou none, e o padrão é info.

Olhar dentro de um spec

mockzilla info petstore.yml
mockzilla info https://petstore3.swagger.io/api/v3/openapi.json
mockzilla info petstore.mockz

Imprime um objeto JSON e sai: título, versão, versão do OpenAPI, quantidade de endpoints, e cada caminho com o método e o id de operação dele. Um pacote .mockz é desempacotado e resumido do mesmo jeito, então dá para ler o que um arquivo guarda antes de servir ele.

Simplificar um spec

mockzilla simplify openapi.yml

Descarta as propriedades opcionais que usam anyOf ou oneOf, reduz uma união obrigatória à primeira variante dela, e tira os campos de extensão x-*. Os exemplos ficam como estão. O resultado vai para o stdout a não ser que --output nomeie um arquivo.

As propriedades opcionais são cortadas de um de dois jeitos:

  • --optional N mantém exatamente N por schema. --optional 0 descarta todas.
  • --optional-min A --optional-max B mantém uma quantidade sorteada nessa faixa. Os dois flags andam juntos.

Deixe os dois de fora e toda propriedade opcional sobrevive. Eles não podem ser combinados.

  • --output FILE, ou -o, escreve num arquivo em vez do stdout.
  • --config FILE roda antes uma configuração de codegen: filtra por caminho, tag ou id de operação, aplica deltas de OpenAPI Overlay, e depois descarta as refs que isso deixou soltas.

Passe - como spec para ler do stdin:

curl -s https://example.com/openapi.json | mockzilla simplify -

O app faz o mesmo trabalho em um spec subido, em Opções do spec.

Veja Configurações do serviço.

Empacotar uma pasta

mockzilla pack ./

Escreve <pasta>.mockz ao lado da pasta: cada serviço que ele encontrou, mais um manifesto que nomeia cada um, a montagem e os arquivos dele. Sirva o resultado com mockzilla mocks.mockz, ou entregue para alguém que vá servir.

  • --output FILE, ou -o, escreve o arquivo em outro lugar.
  • --name e --description vão para o manifesto.
  • --min-version registra a versão mínima da CLI que consegue carregar o arquivo.
  • --skip-git deixa de fora o remoto, a ref e o commit do git, que são embutidos sempre que a pasta está dentro de uma árvore de trabalho do git.

Este é o arquivo que a GitHub Action empacota e sobe a cada push.

Veja GitHub Action.

Os projetos de codegen rodam sozinhos

Um projeto de codegen compila o próprio servidor. O go build produz um binário e esse binário serve o projeto, então a CLI não participa de rodar ele. Apontar o mockzilla para a pasta do projeto lê ela como specs.

Veja Simulações codegen.

Rodar uma simulação da sua conta

Uma simulação que você montou no app roda localmente no mesmo motor. Aponte a CLI para o link de compartilhamento dela:

mockzilla https://mockz.io/fxygibah

O arquivo .mockz dela funciona igual, direto do disco e sem rede nenhuma. A visão Rodar localmente da simulação escreve os dois comandos para você, já preenchidos com o link dela.

Veja Rodar uma simulação localmente.

Versão e ajuda

mockzilla --version
mockzilla --help
mockzilla simplify --help

Cada subcomando traz o próprio --help com os flags acima e os padrões deles.

Esta página ajudou?