Ir para o conteúdo

Setup de desenvolvimento e make check

Um ambiente local

Clone o repositório e use uma configuração local, não de produção (TLS desligado com accept_insecure_http: true, o renderizador no loopback, a chave mestra fora do diretório de dados). O README do repositório tem os passos exatos de dev local; o formato é: criar os diretórios de dados, rodar o sidecar de renderização num virtualenv Python, depois migrar e rodar.

make migrate        # aplica as migrações ao banco local
make seed           # opcional: popula um engajamento de demonstração
make run            # a superfície interna (:8080)
make run-portal     # o portal (:8081), opcional

O make run no primeiro acesso pede para criar o administrador com TOTP, exatamente como uma instalação real. Esse caminho local é só para desenvolvimento; ele omite o isolamento de rede do renderizador que as units de systemd carregam, então nunca o trate como produção.

make check é igual ao CI

O único comando que importa é o make check: ele roda os mesmos gates que o CI impõe (build, vet, golangci-lint com gosec, gitleaks, govulncheck, o gate de sintaxe JS, comprimento de linha, gofmt, i18n-check, e os testes). Se o make check está verde localmente, o CI vai estar verde, e uma mudança que reprovaria no CI reprova antes na sua máquina. Rode antes de enviar qualquer coisa.

O build é Go puro, sem etapa de build

Não há Node nem build de front-end no release: a interface são páginas estáticas servidas por go:embed, com o Lit vendorizado sob web/vendor/. Então um build completo é go build, e os testes de navegador precisam de um Chrome ou Chromium disponível. Mantenha assim; a ausência de etapa de build é uma escolha arquitetural, não uma omissão.