Go para ferramentas de plataforma
Go é útil para ferramenta operacional distribuída como binário único, com inicialização rápida e tipos explícitos. Comece por uma CLI pequena, com entrada validada, saída legível e códigos de saída consistentes — não por um framework de subcomandos complexo.
go mod init exemplo.com/minha-cligo test ./...CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -o dist/minha-cli ./cmd/minha-cliPasse context.Context até chamadas de rede para respeitar cancelamento e prazo. Use
concorrência para I/O independente, com limite e coleta de erro; goroutines sem controle
podem sobrecarregar API de nuvem e perder falhas. Implemente --dry-run para operações
mutáveis e teste parser, decisões e cliente HTTP/Kubernetes com servidores falsos.
Publique checksums, versão e SBOM junto ao binário. -trimpath remove caminhos locais do
build; fixe módulos e compile em CI para plataformas suportadas. Uma CLI que altera cluster
deve usar credencial curta, escopo mínimo e log de auditoria — nunca kubeconfig de admin
embutido no binário.
Próximo passo: exponha a CLI via interface do repositório e entregue-a pelo pipeline de CI/CD.