Thank you for your interest in contributing to NDS! We welcome contributions from the community.
- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch for your feature or bug fix
- Make your changes
- Run tests to ensure everything works
- Commit your changes
- Push to your fork
- Create a Pull Request
# Clone your fork
git clone https://github.com/yourusername/nds.git
cd nds
# Build the project
cargo build
# Run tests
cargo test
# Format code
cargo fmt
# Run linter
cargo clippy- Follow Rust standard formatting (use
cargo fmt) - Write clear, self-documenting code
- Add comments for complex logic
- Keep functions small and focused
- Use meaningful variable and function names
- Write tests for new functionality
- Ensure all tests pass before submitting PR
- Include both unit and integration tests where appropriate
We follow conventional commit format:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting, etc)refactor:Code refactoringtest:Adding or updating testschore:Maintenance tasks
Example: feat: add session export functionality
- Update the README.md with details of changes if needed
- Ensure your PR description clearly describes the problem and solution
- Link any relevant issues
- Request review from maintainers
- Make requested changes if any
- Once approved, your PR will be merged
When reporting issues, please include:
- Operating system and version
- Rust version (
rustc --version) - Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any error messages or logs
We welcome feature requests! Please:
- Check if the feature has already been requested
- Provide a clear use case
- Explain why this feature would be useful
- Be open to discussion about implementation
Please be respectful and considerate in all interactions:
- Be welcoming to newcomers
- Be respectful of different opinions
- Accept constructive criticism gracefully
- Focus on what's best for the project
- Show empathy towards other contributors
Feel free to open an issue for any questions about contributing.
Thank you for helping make NDS better!