Contributing Guidelines
Thank you for your interest in contributing to FlavumHive! This document outlines the process and guidelines for contributing to the project.
Code of Conduct
Our Pledge
We are committed to making participation in our project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
Our Standards
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
How to Contribute
1. Setting Up Development Environment
- Fork the repository
- Clone your fork
- Set up development environment
- Run tests to ensure everything works
2. Making Changes
- Create a new branch
- Make your changes
- Write/update tests
- Update documentation
- Run linters and tests
- Commit changes
3. Submitting Changes
- Push to your fork
- Create a Pull Request
- Fill in the PR template
- Wait for review
Development Guidelines
Code Style
- Follow PEP 8 guidelines
- Use meaningful variable names
- Write descriptive comments
- Keep functions focused and small
- Use type hints where possible
Testing
- Write unit tests for new features
- Update existing tests when needed
- Ensure all tests pass locally
- Add integration tests for complex features
Documentation
- Update relevant documentation
- Add docstrings to new functions
- Include example usage
- Update README if needed
Pull Request Process
-
Branch Naming
- feature/feature-name
- bugfix/bug-description
- docs/documentation-change
- test/test-addition
-
Commit Messages
- Use present tense
- Be descriptive
- Reference issues
- Keep it concise
-
PR Description
- Describe changes
- List related issues
- Include screenshots if relevant
- Mention breaking changes
-
Review Process
- Address review comments
- Update PR as needed
- Request re-review
- Merge when approved
Best Practices
Code Quality
- Write self-documenting code
- Follow DRY principles
- Use consistent formatting
- Handle errors appropriately
Security
- Never commit credentials
- Use environment variables
- Follow security best practices
- Report security issues privately
Performance
- Consider performance impact
- Optimize where necessary
- Profile code changes
- Document performance considerations
Getting Help
- Join our Discord server
- Check existing issues
- Ask questions in discussions
- Read the documentation