Thanks for helping improve rustnzb. GitHub is the canonical project home for issues, pull requests, releases, and source code.
- Search existing issues.
- Include the rustnzb version, operating system, installation method, and relevant non-secret logs.
- Remove provider credentials, API keys, NZB URLs, and personal paths from reports.
Security-sensitive reports must follow SECURITY.md, not the public issue tracker.
git clone https://github.com/TheDancingDeveloper-org/rustnzb.git
cd rustnzb
cargo build -p rustnzb
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspaceFor the Angular frontend:
cd apps/rustnzb/frontend
npm ci --no-audit --no-fund
npm test -- --watch=false
npm run build -- --configuration=productionCompatibility and security regression tests are deterministic and must remain network-independent. Use the focused harness gates while iterating:
cargo test -p nzb-web --tests --locked
cargo test -p rustnzb --tests --locked
cargo test -p nzb-postproc --tests --lockedGolden responses are reviewed as API contract changes: keep dynamic type markers for timestamps, rates, paths, and generated identifiers, and update the fixture README when the capture source changes. Do not add credentials, provider URLs, private hostnames, or personal paths to fixtures or logs.
The containerized task interface in ci/run provides local parity
with selected build tasks. See docs/DEVELOPMENT.md for
the supported commands.
AI coding agents and other AI-assisted tools are welcome contributors to this project. They are held to the same engineering and community standards as any other contribution.
The person submitting or merging an AI-assisted change remains responsible for:
- reviewing and understanding the complete change;
- running the required tests and accurately reporting their results;
- ensuring the change does not include credentials, private infrastructure details, personal data, generated artifacts, or copied material without an appropriate license; and
- responding to review feedback and maintaining the contribution after merge.
Use of AI does not require a co-author trailer or a contributor-credit entry. When it materially helps reviewers—for example, for a broad refactor or a generated test matrix—briefly describe the tool's role in the pull-request body. Do not present unverified AI output as tested or production-ready.
- Branch from current
mainand keep each pull request focused. - Add or update tests for behavior changes.
- Run the relevant Rust and frontend checks above before requesting review.
- Describe user-visible behavior, compatibility implications, and test coverage in the pull request.
- Do not include credentials, generated build output, or
node_modules.
By contributing, you agree to follow the Code of Conduct.