LikeC4 CLI
A CLI likec4 permite executar diversas operações e tarefas de automação, como:
- Iniciar um servidor de desenvolvimento para pré-visualizar diagramas (com atualização automática)
- Gerar um site estático para compartilhar e incorporar diagramas
- Exportar para PNG, JPEG, JSON, Mermaid, Dot, D2 e DrawIO
- Gerar artefatos de código-fonte:
- Componentes React
- Web Components
- Dados tipados
- Formatar arquivos-fonte (com modo de verificação adequado para CI)
Instalação
Seção intitulada “Instalação”Instalação local
Seção intitulada “Instalação local”Se você utiliza um projeto npm, instale a CLI como dependência de desenvolvimento:
npm i -D likec4pnpm add -D likec4yarn add -D likec4bun add -d likec4Você pode referenciá-la diretamente em package.json#scripts:
{ scripts: { dev: 'likec4 dev ...', build: 'likec4 build ...' }}Instalação global
Seção intitulada “Instalação global”Para obter e executar o pacote sem adicioná-lo às dependências:
npx likec4 startpnpx likec4 startyarn dlx likec4 startbunx likec4 startPara utilizá-lo em qualquer projeto sem npx, faça a instalação global:
npm install --global likec4
# Then, you can call `likec4` directly:likec4 [command]Como usar
Seção intitulada “Como usar”Quase todos os comandos aceitam --help e apresentam exemplos de utilização.
likec4 build -hlikec4 gen react -hPré-visualizar diagramas
Seção intitulada “Pré-visualizar diagramas”Em uma pasta com arquivos-fonte LikeC4:
likec4 serve# Aliases:likec4 startlikec4 devO comando procura recursivamente arquivos *.c4 e *.likec4 na pasta atual, processa seu conteúdo e disponibiliza os diagramas por um servidor web local.
Qualquer alteração nos arquivos-fonte atualiza imediatamente a visualização no navegador.
| Opção | Descrição |
|---|---|
--port |
Porta do servidor de desenvolvimento (padrão: 5173, ou variável PORT) |
--hmr-port |
Porta WebSocket do HMR (padrão: detectada entre 24678–24690, ou variável HMR_PORT) |
--listen, -l |
Endereço IP para escuta (padrão: 127.0.0.1, ou 0.0.0.0 dentro de um contêiner) |
--no-react-hmr |
Desativa o HMR do React (útil para CI e pré-visualizações estáticas) |
--use-dot, --use-dot-bin |
Utiliza o executável local Graphviz (dot) em vez do WASM incluído; padrão false, ou true em contêineres |
--public, --public-dir |
Diretório cujos arquivos são disponibilizados sem alterações (Vite publicDir) |
--allowed-host |
Nome de host autorizado a acessar o servidor de desenvolvimento (Vite server.allowedHosts); pode ser informado mais de uma vez. Por padrão, permite todos os hosts. |
Gerar um site estático
Seção intitulada “Gerar um site estático”A CLI pode gerar um site contendo os diagramas, pronto para publicação ou incorporação.
Após publicar o site, use o botão “Compartilhar” (“Share”) para obter um link direto para um diagrama específico.
O site resultante utiliza o caminho base informado (por padrão, /).
Para gerar uma aplicação que funcione em outros caminhos, utilize --base "./".
likec4 build -o ./dist| Opção | Descrição |
|---|---|
--output |
Diretório de saída |
--base, --base-url |
URL base da aplicação, por exemplo, “/”, “/pages/” ou “./” para permitir mudança de caminho |
--use-hash-history |
Navegação baseada em hash, por exemplo, “/#/view” em vez de “/view” |
--use-dot, --use-dot-bin |
Utiliza os executáveis locais Graphviz (“dot”) em vez do WASM incluído; padrão false, ou true em contêineres |
--webcomponent-prefix |
Prefixo para web components; por exemplo, “c4” gera <c4-view ../> |
--title |
Título base das páginas da aplicação (padrão: “LikeC4”) |
--output-single-file |
Gera um único arquivo HTML independente |
--public, --public-dir |
Diretório cujos arquivos são copiados sem alterações para a saída (Vite publicDir); também preservado com --output-single-file |
Há também um comando complementar para pré-visualizar o resultado da geração:
likec4 preview -o ./distPor exemplo, esse comando pode ser usado em CI para comparar diagramas com os de uma compilação anterior ou da branch principal.
Exportar para PNG
Seção intitulada “Exportar para PNG”likec4 export png -o ./assetslikec4 export jpg -o ./assets --quality 90Esse comando inicia um servidor web local e utiliza o Playwright para capturar imagens.
Se pretende utilizá-lo em CI, consulte a documentação do Playwright
ou considere utilizar as GitHub Actions do LikeC4
Utilize likec4 export jpg para exportar arquivos JPEG. O comando oferece as mesmas opções de captura de tela, além de --quality.
| Opção | Descrição |
|---|---|
--outdir, -o |
Diretório de saída dos arquivos PNG/JPEG; se omitido, as imagens são salvas junto aos arquivos-fonte. --output é aceito como alias por compatibilidade. |
--project |
Seleciona o projeto LikeC4 a exportar pelo nome (por exemplo, “my-project”) ou pelo caminho Se omitido, exporta todos |
--theme |
Esquema de cores a utilizar: “light” (padrão) ou “dark” |
--dark |
Utiliza o tema escuro; atalho para –theme=dark |
--light |
Utiliza o tema claro; atalho para –theme=light |
--use-dot, --use-dot-bin |
Utiliza os executáveis locais Graphviz (“dot”) em vez do WASM incluído; padrão false, ou true em contêineres |
--seq, --sequence |
Utiliza layout sequencial para visões dinâmicas |
--flat, --flatten |
Coloca todas as imagens diretamente no diretório de saída, ignorando a estrutura original |
-f, --filter |
Inclui visões cujos IDs correspondam aos padrões informados (vários padrões são combinados com OU) |
--quality, -q |
Qualidade JPEG de 1 a 100 (padrão: 80); usada apenas por likec4 export jpg |
-i, --ignore |
Continua mesmo se a exportação falhar em algumas visões |
-t, --timeout |
Tempo limite do Playwright em segundos; padrão: 15 |
--max-attempts |
Máximo de tentativas de exportação de uma visão com falha; 1 desabilita novas tentativas (padrão: 3) |
--server-url |
Utiliza essa URL em vez de iniciar outro servidor LikeC4 |
--chromium-sandbox |
Habilita o sandbox do Chromium (consulte a documentação do Playwright) |
--notation |
Inclui a notação da visão nos arquivos PNG/JPEG exportados |
--description |
Inclui o título e a descrição Markdown da visão nos arquivos PNG/JPEG exportados |
Exportar para JSON
Seção intitulada “Exportar para JSON”likec4 export json -o dump.jsonExportar para DrawIO
Seção intitulada “Exportar para DrawIO”Exporte visões para DrawIO (.drawio) para editar os diagramas no draw.io ou reutilizá-los em ferramentas compatíveis. Cada visão gera um arquivo .drawio.
likec4 export drawiolikec4 export drawio -o ./diagramslikec4 export drawio -o ./diagrams src/likec4 export drawio --profile leanix -o ./diagrams| Opção | Descrição |
|---|---|
path |
Caminho do projeto (padrão: diretório atual) |
--outdir, -o |
Diretório de saída dos arquivos .drawio (padrão: diretório atual ou path) |
--all-in-one |
Gera um único arquivo .drawio com todas as visões em abas |
--roundtrip |
Aplica o layout, cores/larguras de traços e pontos intermediários das arestas a partir de comentários de intercâmbio bidirecional DrawIO nos arquivos .c4 (por exemplo, após importação) |
--uncompressed |
Grava o XML do diagrama sem compactação (arquivo maior; útil se Draw.io não abrir a exportação compactada) |
--profile |
Perfil de exportação: default (bidirecional) ou leanix (metadados gerenciados pela integração LeanIX). Padrão: default |
--project |
Seleciona projeto LikeC4 pelo nome ou caminho; se omitido, exporta todos |
--use-dot, --use-dot-bin |
Utiliza Graphviz (dot) local para layout em vez do WASM incluído; padrão false, ou true em contêineres |
Gerar Mermaid, Dot, D2 e PlantUml
Seção intitulada “Gerar Mermaid, Dot, D2 e PlantUml”Por geração de código:
likec4 gen mmdlikec4 gen mermaidlikec4 gen dotlikec4 gen d2likec4 gen plantumlJunto à exportação para DrawIO, isso permite que equipes reutilizem diagramas em Mermaid, Dot, D2, PlantUML ou DrawIO.
Validar
Seção intitulada “Validar”likec4 validateEste comando verifica:
- Erros de sintaxe
- Divergências de layout (layout manual desatualizado)
Se houver erros, o comando termina com um código de saída diferente de zero.
Formatar
Seção intitulada “Formatar”Formate arquivos-fonte .c4 diretamente:
# Format all files in current workspacelikec4 format# Aliaslikec4 fmt
# Format a specific workspace directorylikec4 format ./my-project
# Format only specific project(s) in a multi-project workspacelikec4 format --project alpha --project beta
# Format specific fileslikec4 format --files src/model.c4 --files src/views.c4
# Check mode (CI-friendly, exits with code 1 if any file needs formatting)likec4 format --check| Opção | Descrição |
|---|---|
path |
Caminho do workspace (padrão: diretório atual; usa LIKEC4_WORKSPACE como alternativa) |
--project, -p |
Formata apenas os projetos indicados pelo nome (repetível) |
--files |
Formata apenas os arquivos indicados (repetível) |
--check |
Verifica a formatação sem alterar arquivos |
Servidor de linguagem (LSP)
Seção intitulada “Servidor de linguagem (LSP)”Inicie o servidor de linguagem LikeC4 para utilizá-lo em editores compatíveis com o Language Server Protocol:
likec4 lsp --stdiolikec4 lsp --node-ipclikec4 lsp --socket 3000likec4 lsp --pipe /tmp/likec4.pipeÉ necessário informar uma das opções de transporte (--stdio, --node-ipc, --socket, --pipe).
| Opção | Descrição |
|---|---|
--stdio |
Utiliza transporte stdio |
--node-ipc |
Utiliza transporte node-ipc |
--socket <port> |
Utiliza transporte socket na porta indicada |
--pipe <name> |
Utiliza transporte pipe com o nome indicado |
--watch, -w |
Habilita o monitoramento integrado (desabilitado por padrão) |
--no-manual-layouts |
Desativa layouts manuais (habilitados por padrão) |
--use-dot, --use-dot-bin |
Utiliza Graphviz (dot) local para layout em vez do WASM incluído; padrão false, ou true em contêineres |