Contribuicao¶
Como contribuir¶
- Faca um fork do repositorio
- Crie uma branch:
git checkout -b feature/nova-feature - Commit:
git commit -m "feat: add nova feature" - Push:
git push origin feature/nova-feature - Abra um Pull Request
Padroes de commit¶
Usamos Conventional Commits em ingles:
| Prefixo | Uso |
|---|---|
feat: | Nova funcionalidade |
fix: | Correcao de bug |
docs: | Alteracao na documentacao |
refactor: | Refatoracao sem mudanca de comportamento |
test: | Adicao ou correcao de testes |
build: | Mudanca no sistema de build ou dependencias |
ci: | Mudanca nos arquivos de CI/CD |
Exemplos:
feat: add Discord webhook detection rule
fix: resolve false positive on JWT detection
docs: update CLI reference with new config commands
Ambiente de desenvolvimento¶
git clone https://github.com/DevGreick/ThreatDeflect.git
cd ThreatDeflect
# Setup com uv
uv sync
uv run threatdeflect --help
uv run threatdeflect-gui
# Rust engine (opcional)
pip install maturin
maturin develop --release
Estrutura do projeto¶
threatdeflect/
cli/main.py # CLI (Typer)
ui/main_gui.py # GUI (PySide6)
core/engine.py # Analysis engine
core/repository_analyzer.py # Analisador de repositorios
core/rules.yaml # Regras de deteccao
api/api_client.py # Cliente de APIs
utils/utils.py # Utilidades
rust_core/
src/lib.rs # Rust engine (PyO3)
Cargo.toml # Config Rust
Licenca¶
Ao submeter um Pull Request, voce concorda que suas contribuicoes serao licenciadas sob a mesma licenca GPLv3 do projeto.