| -n "nome do projeto" | Nome do projeto. **Obrigatório**. | |
| -d "diretório do projeto" | Diretório de projeto a criar | Nome do projeto |
| -g | Inicializar o repositório git | |
| -l | Listar modelos de projetos disponíveis | |
| -q | Suprimir saída no console | |
| -t "nome do template" | O modelo do projeto a ser usado. Este pode ser o nome de um template padrão ou um URL para um template remoto hospedado no github. | vanilla |
| -compiler "compiler" | Use um compilador de ida diferente para realizar build, por exemplo, go1.15beta1 | go |
| -debug | Retains debug information in the application and shows the debug console. Permite o uso das ferramentas devtools na janela do aplicativo | |
| -devtools | Allows the use of the devtools in the application window in production (when -debug is not used). Ctrl/Cmd+Shift+F12 may be used to open the devtools window. *NOTE*: This option will make your application FAIL Mac appstore guidelines. Use for debugging only. | |
| -dryrun | Prints the build command without executing it | |
| -f | Forçar compilação de aplicação | |
| -garbleargs | Argumentos para passar para o garble | `-literals -tiny -seed=random` |
| -ldflags "flags" | Ldflags adicionais para passar para o compilador | |
| -m | Skip mod tidy before compile | |
| -nopackage | Não empacotar aplicação | |
| -nocolour | Disable colour in output | |
| -nosyncgomod | Do not sync go.mod with the Wails version | |
| -nsis | Generate NSIS installer for Windows | |
| -o nome de arquivo | Nome do Arquivo de Saída | |
| -obfuscated | Ofuscar a aplicação usando [garble](https://github.com/burrowers/garble) | |
| -platform | Compila para as plataformas [(delimitadas por vírgula)](../reference/cli.mdx#platforms) por exemplo. `windows/arm64`. Note, se você não der arquitetura, `runtime.GOARCH` é usado. | platform = `variável de ambiente GOOS` se determinado `runtime.GOOS`.<br/>arch = `GOARCH` variável de envrionment se for dado `runtime.GOARCH`. |
| -race | Realiza build com o Go race detector | |
| -s | Pular build do frontend | |
| -skipbindings | Skip bindings generation | |
| -tags "extra tags" | Compilar tags para passar para o compilador Go. Deve ser citado. Separados por espaço ou vírgula (mas não ambos) | |
| -trimpath | Remove todos os caminhos do sistema de arquivo do executável resultante. | |
| -u | Atualiza o `go.mod` do seu projeto para usar a mesma versão de Wails que o CLI | |
| -upx | Comprimir binário final usando "upx" | |
| -upxflags | Flags para passar para o upx | |
| -v int | Nível de verbosidade(0 - silencioso, 1 - padrão, 2 - verbose) | 1 |
Há alguns [problemas](https://github.com/upx/upx/issues/446) com o uso de UPX com o Apple Silicon.
:::
:::info UPX no Windows
Alguns fornecedores de antivírus marcam como falsos positivos os binários `upx` comprimidos como vírus, veja [problema](https://github.com/upx/upx/issues/437).
| windows | Windows 10/11 + architecture of build machine |
| windows/amd64 | Windows 10/11 AMD64 |
| windows/arm64 | Windows 10/11 ARM64 |
| linux | Linux + architecture of build machine |
| linux/amd64 | Linux AMD64 |
| linux/arm64 | Linux ARM64 |
## doctor
`wails doctor` executará o diagnóstico para garantir que seu sistema esteja pronto para desenvolvimento.
Exemplo:
```
Wails CLI v2.0.0-beta
Scanning system - Please wait (this may take a long time)...Done.
System
------
OS: Windows 10 Pro
Version: 2009 (Build: 19043)
ID: 21H1
Go Version: go1.18
Platform: windows
Architecture: amd64
Dependency Package Name Status Version
---------- ------------ ------ -------
WebView2 N/A Installed 93.0.961.52
npm N/A Installed 6.14.15
*upx N/A Installed upx 3.96
* - Optional Dependency
Diagnosis
---------
Your system is ready for Wails development!
```
## dev
`wails dev` é usado para executar sua aplicação em um modo de "desenvolvimento ao vivo". Isso significa que:
- O aplicativo `go.mod` será atualizado para usar a mesma versão do Wails como a CLI
- A aplicação é compilada e executada automaticamente
- Um observador é iniciado e acionará uma reconstrução do seu aplicativo de desenvolvimento se ele detectar alterações em seus arquivos go
- Um servidor web foi iniciado em `http://localhost:34115` que serve sua aplicação (não apenas frontend) sobre http. Isso permite que você use suas extensões de desenvolvimento de navegador favoritas
- Todos os conteúdos do aplicativo são carregados do disco. Se forem alterados, o aplicativo irá recarregar automaticamente (não reconstruir). Todos os navegadores conectados também recarregarão
| -assetdir "./caminho/para/midias" | Serve os arquivos a partir do diretório fornecido em vez de usar os arquivos FS fornecidos | Valor em `wails.json` |
| -browser | Abre um navegador para `http://localhost:34115` na inicialização | |
| -compiler "compiler" | Use um compilador de ida diferente para realizar build, por exemplo, go1.15beta1 | go |
| -debounce | O tempo de esperar por recarregar depois que uma alteração de ativo for detectada | 100 (milliseconds) |
| -devserver "host:port" | O endereço para vincular o servidor de desenvolvimento de wails a | "localhost:34115" |
| -race | Realiza build com o Go race detector | false |
| -reloaddirs | Diretórios adicionais para acionar recarregamentos (separados por vírgula) | Valor em `wails.json` |
| -s | Pular build do frontend | false |
| -save | Salva o `assetdir`, `reloaddirs`,`wailsjsdir`,`debounce`,`devserver` e `frontenddevserverurl` passado, flag em `wails.json` para realizar chamadas subsequentes. | |
| -skipbindings | Skip bindings generation | |
| -tags "extra tags" | Compilar tags para passar para o compilador (citado e espaço separado) | |
| -v | Nível de verbosidade(0 - silencioso, 1 - padrão, 2 - verbose) | 1 |
| -wailsjsdir | O diretório para gerar os módulos gerados do Wails JS | Valor em `wails.json` |
`wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser`
Este comando fará o seguinte:
- Compilação do aplicativo e execução (mais detalhes [aqui](../guides/manual-builds.mdx)
- Gerar os módulos JS de Wails em `./frontend/src`
- Assistir por atualizações em arquivos em `./frontend/dist` e recarregar em qualquer alteração
- Abrir um navegador e conectar-se ao aplicativo
Há mais informações sobre como usar este recurso com scripts de framework existentes [aqui](../guides/application-development.mdx#live-reloading).
## generate
### template
A Wails usa modelos para a geração de projeto. O comando `wails generate template` ajuda a fazer um template para que ele possa ser usado para gerar projetos.