Files
sabia/CONTRIBUTING.pt-BR.md
T
Lucas Rayan 659701b2d4
CI / Formatação e clippy (push) Successful in 1m9s
CI / Auditoria de dependências (push) Successful in 12s
CI / Testes (Linux) (push) Successful in 1m34s
Release / Cria a release (push) Successful in 5s
CI / Compila o app desktop (Linux) (push) Successful in 1m36s
Release / CLI (linux-aarch64) (push) Successful in 1m23s
Release / CLI (linux-x86_64) (push) Successful in 1m40s
Release / App desktop (linux-aarch64) (push) Successful in 7m32s
Release / App desktop (linux-x86_64) (push) Failing after 9m5s
Release / App desktop (windows) (push) Failing after 6m20s
chore: padroniza arquitetura Ciberfauna, logo na raiz, hooks de verificação e CI multi-arch no runner ARM
2026-10-30 17:38:58 -03:00

2.8 KiB

Contribuindo com o Sabiá

English · Português

Obrigado por ajudar! Regras de ouro:

  1. Só auditoria autorizada. Todo recurso novo é para testar redes próprias ou com autorização. Operações sensíveis (desautenticação) exigem confirmação explícita e ficam na trilha de auditoria. PRs que escondem atividade da trilha ou removem as confirmações são recusados.
  2. Teste os parsers com dados reais. Novos leitores (radiotap, 802.11, EAPOL, pcap) precisam de teste com quadros conhecidos — veja crates/sabia-core/tests/ e os ajudantes em crates/sabia-core/src/testutil.rs. Nada de parser sem teste.
  3. Seja honesto sobre o que funciona. Se um recurso só roda no Linux, ou só cobre WPA2-PSK, diga isso no --help, no README e no teste.

Fluxo

scripts/instalar-hooks.sh        # uma vez: roda a verificação rápida antes de cada push
scripts/verificar.sh             # rápido (segundos): fmt, clippy como no CI, tradução, scripts, workflows
scripts/verificar.sh --completo  # inclui cargo test --workspace e cargo audit

O CI roda em Linux; rode a verificação antes do push: quase tudo que faz o CI falhar aparece aqui em segundos. Mudanças só de documentação (*.md, docs/) pulam o CI.

A captura ao vivo só existe no Linux (AF_PACKET + netlink); o código dos caminhos de Windows e macOS continua compilando e é coberto pelo cargo check.

Releases

Enviar uma tag v* faz o CI do Gitea criar a release (as notas vêm do CHANGELOG.md, então atualize-o antes) e anexar o CLI para Linux (x86_64 e aarch64) e o app desktop para Linux (x86_64 e aarch64) e Windows.

Não há build para macOS: ele exige o SDK e a assinatura da Apple, que um runner Linux não tem.

Onde mexer

Mapa dos módulos em docs/pt-BR/arquitetura.md. O que falta e o que é bem-vindo está no ROADMAP.

  • Parsing de quadros: radiotap.rs, dot11.rs, eapol.rs.
  • Rádio e sistema: iface.rs, netlink.rs, scan.rs, capture.rs, inject.rs.
  • Handshake e quebra: handshake.rs, crack.rs.
  • App e API: crates/sabia-cli/src/ e apps/gui/.

Interface e tradução

O texto-fonte da interface é em português; o inglês vem de apps/gui/ui/i18n-en.js, aplicado em tempo de execução por i18n.js. Ao adicionar ou mudar texto visível, rode node scripts/check-ui-i18n.mjs e inclua a tradução — o CI recusa português sem par em inglês. Não traduza dados do usuário (SSID, BSSID, valores) nem termos técnicos (WPA, EAPOL, pcap…).

Documentação

Mantenha o par pt/en: todo arquivo *.md e docs/* tem a versão em português (*.pt-BR.md, docs/pt-BR/) e em inglês.

Licença

Ao contribuir, você concorda em licenciar sob MIT ou Apache-2.0, como o resto do projeto.