We love contributions! Here's how to get involved in Slashsum development:
- Fork the repository
- Clone your fork:
git clone https://github.com/NDXDeveloper/slashsum.git
- Set up environment:
rustup override set stable cargo install --locked --path .
- Check existing issues
- Create new issue with:
- Detailed description
- Steps to reproduce
- Rust version (
rustc --version) - OS and architecture
- Open issue with
enhancementlabel - Describe:
- Use case
- Potential benefits
- Implementation ideas (optional)
- Create feature branch:
git checkout -b feat/my-awesome-feature
- Follow code style guidelines
- Add relevant tests
- Run verifications:
cargo check cargo test cargo clippy -- -D warnings cargo fmt --check - Push branch and open PR
- Formatting: Use
cargo fmt - Linting: Adhere to
cargo clippystandards - Documentation:
- Rustdoc comments for public APIs
- Explicit type annotations
- Comprehensive error handling
Tests are located in src/main.rs using Rust's built-in test framework (#[cfg(test)] module).
Run all tests:
cargo test --verboseRun specific test:
cargo test test_name- Keep README updated
- Follow RFC 1574 conventions
- Generate local docs:
cargo doc --open
Maintainers will verify:
- ✅ Passing tests
- ✅ Maintained coverage (>85%)
- ✅ Updated documentation
- ✅ No performance regressions
- ✅ Cross-platform compatibility
| Label | Description |
|---|---|
bug |
Defect needing fix |
enhancement |
New feature proposal |
documentation |
Documentation improvements |
performance |
Optimization opportunities |
good first issue |
Beginner-friendly entry point |
All contributors must adhere to our Code of Conduct
By contributing, you agree to license your work under the MIT License
💡 Pro Tip: Before starting major work, discuss your approach in an issue to ensure alignment with project goals!