Repository navigation
Contributing
bisu edited this page Sep 21, 2026
·
1 revision
Thanks for helping improve BinaryInspector. This page summarizes CONTRIBUTING.md in the repo.
- Rust 1.98.1 baseline; keep changes small and reviewable.
- Run all gates before committing:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo doc --no-deps- No new dependencies without documenting why the standard library and installed dependencies are insufficient.
- Never commit credentials, personal configuration, agent artifacts, or generated build directories.
Treat fixture binaries as generated artifacts:
- Commit the smallest source + a regeneration command beside each fixture
- Record the target architecture
- Never replace a fixture with an unexplained blob
(Security-relevant parser regressions are preferred as inline byte-array tests in src/elf.rs — see Fuzzing-and-Testing.)
The GUI is a separate executable, binary-inspector-gui. It must call the shared inspect function rather than reimplementing parsing. Validate with:
cargo build --release --bin binary-inspector-guiVisual smoke-testing is required on each supported desktop platform before a GUI release.
- Use GitHub issues for public bugs and feature requests.
- Use pull requests for changes.
- Do not report security issues publicly — follow SECURITY.md for private disclosure.
Anything touching src/elf.rs deserves extra scrutiny:
- Checked arithmetic everywhere; no indexing without bounds checks
- Respect the parser caps (see Safety-Model)
- Preserve deterministic output (file-order vectors, no hash-map iteration in output paths)
- Add a malformed-input regression for every fix
Installation