- Windows (required for runtime behavior and ETW integration)
- Rust stable toolchain
From repository root:
cd Vigil
cargo check
cargo testBefore opening a PR:
cd Vigil
cargo fmt --all -- --check
cargo clippy --all-targets --all-features
cargo test --all-targets --all-features- Keep changes focused and scoped.
- Include tests for behavioral changes.
- Update docs (
README.md,SECURITY.md, config examples) when behavior changes. - Describe operational impact (privileges, runtime requirements, log format changes).
- Use clear commit messages with intent and impact.
- Avoid mixing refactors with functional changes unless tightly related.
Extra care is required for:
Vigil/src/wintrust.rsVigil/src/etw.rsVigil/src/engine.rs
For these files, PR descriptions should explain threat model and false-positive/false-negative impact.