Thank you for your interest in contributing to pycu!
-
Rust 1.85 or later (stable toolchain - edition 2024)
-
rustfmtandclippycomponents:rustup component add rustfmt clippy
cargo buildcargo test --all-featuresTests are fully offline - no network calls are made. Fixtures live in tests/fixtures/.
To run a single test module:
cargo test parsers
cargo test versionCI enforces formatting, linting, and tests. Run these before pushing:
cargo fmt
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-featuresAll warnings are treated as errors. Fix them before opening a PR.
- Create
src/parsers/<format>.rsimplementing theDependencyParsertrait. - Register it in
src/parsers/mod.rs- add detection logic todetect_parser. - Add a fixture file under
tests/fixtures/and tests in your new parser module.
- Fork the repository and create a branch off
main. - Make your changes, add tests, ensure all checks above pass.
- Open a pull request with a clear description of what changes and why.
For large changes, open an issue first to discuss the approach before investing time in an implementation.
Use the bug report template.
Please do not open a public issue for security vulnerabilities. See SECURITY.md for responsible disclosure instructions.