-
-
Notifications
You must be signed in to change notification settings - Fork 0
Development pt BR
🇺🇸 English
Requer Go 1.24+.
git clone https://github.com/gsjonio/netwp.git
cd netwp
go build ./...
go test ./...
go vet ./...
gofmt -l . # não deve imprimir nadaTodo push e PR roda, no Windows e no Ubuntu:
-
go build,go vet,go test ./... golangci-lint-
go test -race ./...(Ubuntu, precisa de cgo, então não faz parte da checagem local numa máquina sem toolchain C) - uma passada curta de fuzzing sobre os parsers de wire de DNS/mDNS/ARP
O -race precisa de um toolchain C (cgo), então não está no go test local
padrão. Os jobs de race e fuzz cobrem os caminhos concorrentes da descoberta e os
parsers de entrada de rede não confiável.
O netwp é hexagonal (veja Arquitetura). A regra prática ao adicionar uma capacidade:
- Lógica de domínio (um caso de uso novo, um tipo, uma heurística) vai em
internal/core, atrás de uma interface de porta. Ocorenunca importanet,os/execousyscall. - Qualquer coisa que fale com o SO ou a rede vai em
internal/adapter/*, implementando uma porta do core. Código específico de plataforma é dividido por build tags (_windows.go,_linux.go,_other.go). - O wiring da CLI fica fino, em
cmd/netwp. - A renderização no terminal vai em
internal/tui.
Lógica não trivial (um branch, um parser, uma heurística) vem com um teste. Os parsers que leem bytes de rede também têm alvos de fuzz.
O README e o README.pt-BR são bilíngues e devem ficar estruturalmente idênticos. Se uma mudança é algo que um iniciante precisa que expliquem, atualize o par do guia também.
Guia completo do contribuidor, convenções de mensagem de commit e checklist de PR: CONTRIBUTING.md. Este projeto segue o Código de Conduta.
netwp · MIT · made by gsjonio · buy me a coffee ☕