mirror of
https://github.com/GyulyVGC/sniffnet.git
synced 2026-08-28 12:32:03 +00:00
2.7 KiB
2.7 KiB
Contributing Manifesto
To keep Sniffnet quality high, we're very selective about submitted contributions.
For this reason, you're encouraged to read the following points before submitting a pull request (PR):
- purely LLM-generated code contributions are strongly discouraged and will most likely be rejected: you must understand and be able to defend every line you submit, and disclose AI assistance if any was used in the process
- before starting to work on a feature, make sure the corresponding issue isn't already assigned to someone else, and prefer picking up issues that are labeled with the tag "help wanted"
- in case there's no GitHub issue for the feature or fix you want to work on, please open an issue: if it's a feature we can discuss it and give you feedback; if it's a bug make sure the problem is real, reproducible, not already reported, and provide as much information as possible (including screenshots if applicable)
- reuse existing code and libraries where possible, and keep your PR small and focused, prioritizing quality over quantity
- if you end up adding a UI-facing sentence, make sure to internationalize it by adding a method to the
src/translationsmodule with the corresponding English translation (only add other languages if you natively speak them) - if you end up modifying the
Snifferstruct, include the new field in theConfstruct if it has to be persisted across runs of the app, or else consider cleaning it up inSniffer::reset()if it has to be reset at every capture session - include unit tests to assert the implementation is sound (if applicable), and make sure that
cargo test,cargo clippy -- -D warnings, andcargo fmt --all -- --checkall pass - be sure to update the
CHANGELOG.mdfile[UNRELEASED]section with a one-line description of the change, including a link to the corresponding PR and issue if applicable (following the format of the existing entries) - be mindful that reviewing the PR may take a while, especially if it introduces substantial changes
- be mindful that the contribution can still be rejected at our discretion (even if it satisfies all the points above) if it doesn't align with the project's vision or if it introduces unnecessary complexity
You can read the Build from source Wiki page to learn how to set up the development environment, and the Code of Conduct for the expected behavior in the community.
Despite our strictness, don't be afraid to share your thoughts: all proposals to enlarge or improve Sniffnet are warmly welcomed!