🚀 Guia Rápido de Comandos
March 25, 2026 · View on GitHub
Comandos mais usados no dia a dia de desenvolvimento do Evolution GO.
📋 Comandos Essenciais
Desenvolvimento
# Ver todos os comandos disponíveis
make help
# Rodar em modo desenvolvimento
make dev
# Rodar com hot reload (recarrega automaticamente ao salvar)
make watch
Build e Instalação
# Compilar a aplicação
make build
# Compilar para todas as plataformas (Linux, Windows, macOS)
make build-all
# Instalar no GOPATH
make install
Testes
# Rodar todos os testes
make test
# Rodar testes com relatório de cobertura
make test-coverage
# Rodar testes com verificação de race conditions
make test-race
# Rodar benchmarks
make bench
Qualidade de Código
# Formatar código
make fmt
# Executar linter
make lint
# Executar go vet
make vet
# Executar todas as verificações (fmt + vet + lint + test)
make check
Docker
# Build da imagem Docker
make docker-build
# Rodar container Docker
make docker-run
# Iniciar todos os serviços com docker-compose
make docker-compose-up
# Parar todos os serviços
make docker-compose-down
# Ver logs do docker-compose
make docker-compose-logs
Banco de Dados
# Executar migrations
make migrate-up
# Reverter migrations
make migrate-down
Documentação
# Gerar documentação Swagger
make swagger
# Abrir documentação local
make docs
Dependências
# Instalar dependências
make deps
# Atualizar dependências
make deps-update
# Limpar dependências não utilizadas
make deps-clean
Limpeza
# Remover arquivos de build
make clean
# Limpeza completa (incluindo cache do Go)
make clean-all
🎯 Workflows Comuns
Setup Inicial
# 1. Clone o repositório
git clone https://git.evoai.app/Evolution/evolution-go.git
cd evolution-go
# 2. Setup completo do ambiente
make setup
# 3. Configure o .env
cp .env.example .env
# Edite o .env com suas configurações
# 4. Rode em modo desenvolvimento
make dev
Desenvolvimento Diário
# Rodar com hot reload
make watch
# Em outro terminal, rodar testes em watch mode
# (requer: go install github.com/cespare/reflex@latest)
reflex -r '\.go$' -s -- make test
Antes de Fazer Commit
# Executar todas as verificações
make check
# Se tudo passar, commit e push
git add .
git commit -m "feat: sua feature"
git push
Preparar para Deploy
# 1. Rodar todos os testes
make test
# 2. Build da imagem Docker
make docker-build
# 3. Testar localmente
make docker-run
# 4. Se tudo ok, fazer tag e push
docker tag evolution-go:latest seu-registry/evolution-go:v1.0.0
docker push seu-registry/evolution-go:v1.0.0
Debug e Profiling
# Ver status da aplicação
make status
# Ver logs em tempo real
make logs
# Profile de CPU (aplicação deve estar rodando)
make profile-cpu
# Profile de memória (aplicação deve estar rodando)
make profile-mem
# Ver informações de versão
make version
🔧 Ferramentas Opcionais
Instale estas ferramentas para habilitar recursos adicionais:
# Hot reload
go install github.com/cosmtrek/air@latest
# Linter
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
# Swagger generator
go install github.com/swaggo/swag/cmd/swag@latest
# Watch mode para testes
go install github.com/cespare/reflex@latest
💡 Dicas
- Use
make helpsempre que esquecer um comando - Use
make watchdurante desenvolvimento para hot reload automático - Use
make checkantes de fazer commit - Use
make setupem uma nova máquina para configurar tudo de uma vez - Configure seu IDE para rodar
make fmtao salvar arquivos
📚 Documentação Completa
Para documentação completa da API e guias detalhados:
- Documentação Oficial - Guias, tutoriais e referência
- API Swagger - Documentação interativa (quando servidor estiver rodando)
❓ Problemas Comuns
"make: command not found"
- macOS:
xcode-select --install - Ubuntu/Debian:
sudo apt-get install build-essential - Windows: Use WSL ou instale Make para Windows
"air: command not found" ao usar make watch
go install github.com/cosmtrek/air@latest
"golangci-lint: command not found" ao usar make lint
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Porta 4000 já em uso
# Mude a porta no .env
SERVER_PORT=8080
Dica Final: Rode make help para ver a lista completa e atualizada de comandos!