Files
sabia/CONTRIBUTING.pt-BR.md
T
Lucas RayanandClaude Sonnet 5.5 d885d92643
CI / Formatação e clippy (push) Successful in 49s
CI / Testes (Linux) (push) Successful in 49s
CI / Auditoria de dependências (push) Successful in 12s
CI / Compila o app desktop (Linux) (push) Successful in 1m12s
release 1.0.1: update from Gitea, Linux-only CLI, desktop app for Linux and Windows
The updater reads the latest release from Gitea. update::apply refuses to
overwrite anything but the CLI. Release workflow builds the Linux CLI;
scripts/build-gui.sh builds the Linux and Windows desktop app. Docs say Linux
and Windows only.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 13:17:32 -03:00

2.5 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

cargo fmt --all
cargo clippy --workspace --all-targets   # como no CI (RUSTFLAGS=-D warnings)
cargo test --workspace
node scripts/check-ui-i18n.mjs            # cobertura da tradução da interface

O CI roda só em Linux (o Gitea tem um único runner); rode esses comandos antes do push — quase tudo que faz o CI falhar aparece aqui em segundos. Mudanças só de documentação (*.md, docs/) são leves no 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, mas não roda no CI nem é compilado para release. são offline.

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.