Welcome Contributors
We’re excited that you want to contribute to boop network! This guide will help you get started with contributing code, documentation, and improvements.First time contributing? Start by reading our Code of Conduct and License.
Getting Started
Prerequisites
Before contributing, make sure you have:Development Environment
Complete the Local Development Setup
Running Services
Get familiar with Docker Setup
System Understanding
Read the System Architecture documentation
GitHub Account
Needed for submitting pull requests
Your First Contribution
1
Find an Issue
Browse GitHub Issues and look for issues labeled
good first issue or help wanted.2
Fork & Clone
3
Create Branch
4
Make Changes
Implement your changes following our coding standards
5
Test & Submit
Test your changes and submit a pull request
Types of Contributions
🐛 Bug Fixes
🐛 Bug Fixes
What: Fix existing bugs or issuesProcess:
- Reproduce the bug locally
- Write a test that demonstrates the bug
- Fix the bug
- Verify the test passes
- Submit a pull request
fix/issue-description✨ New Features
✨ New Features
What: Add new functionality to boop networkProcess:
- Discuss the feature in an issue first
- Get approval from maintainers
- Write tests for the new feature
- Implement the feature
- Update documentation
- Submit a pull request
feature/feature-name📚 Documentation
📚 Documentation
What: Improve or add documentationProcess:
- Identify documentation gaps
- Write clear, helpful content
- Test documentation examples
- Submit a pull request
docs/topic-name🔧 Refactoring
🔧 Refactoring
What: Improve code quality without changing functionalityProcess:
- Ensure tests pass before starting
- Make incremental changes
- Verify tests still pass
- Submit a pull request
refactor/component-nameCoding Standards
Rust Code Standards
Testing Standards
🧪 Unit Tests
🧪 Unit Tests
🔗 Integration Tests
🔗 Integration Tests
📈 Test Coverage
📈 Test Coverage
Commit Standards
We use Conventional Commits format:Pull Request Process
Before Submitting
1
Code Quality
2
Integration Tests
3
Documentation
4
Performance Check
Pull Request Template
When creating a pull request, use this template:Review Process
👥 Code Review
👥 Code Review
What happens:
- Automated checks run (CI/CD)
- Maintainers review your code
- Feedback is provided
- You address feedback
- PR is approved and merged
- Code quality and style
- Test coverage
- Documentation completeness
- Security considerations
- Performance implications
🔄 Addressing Feedback
🔄 Addressing Feedback
Development Guidelines
Security Considerations
🔒 Biometric Data Handling
🔒 Biometric Data Handling
- Never log raw biometric data
- Always use MPC for biometric operations
- Implement secure deletion of temporary data
- Use proper encryption for data at rest
🛡️ Input Validation
🛡️ Input Validation
🔐 Authentication & Authorization
🔐 Authentication & Authorization
Performance Guidelines
⚡ Database Optimization
⚡ Database Optimization
🚀 Async Programming
🚀 Async Programming
Release Process
Maintainers Only: This section is for maintainers who handle releases.
📦 Version Management
📦 Version Management
We use Semantic Versioning:
- Major (1.0.0): Breaking changes
- Minor (0.1.0): New features, backwards compatible
- Patch (0.0.1): Bug fixes, backwards compatible
🚀 Release Checklist
🚀 Release Checklist
- All tests pass
- Documentation updated
- Changelog updated
- Version numbers bumped
- Security review completed
- Performance benchmarks run
- Release notes prepared
Getting Help
GitHub Issues
Report bugs, request features, or ask questions
Discussions
General discussions about development and usage
Discord Community
Real-time chat with developers and community
Direct contact for sensitive issues
Thank you for contributing! Your contributions help make boop network better for everyone. Every contribution, no matter how small, is valuable and appreciated.