Contribution Guidelines¶
Thank you for contributing to GraphMem!
Code of Conduct¶
Be respectful and inclusive. We welcome contributors of all backgrounds.
How to Contribute¶
Reporting Bugs¶
- Check if the issue already exists
- Create a new issue with:
- Clear title
- Steps to reproduce
- Expected vs actual behavior
- Environment details
Suggesting Features¶
- Check existing feature requests
- Create an issue describing:
- The problem you're solving
- Your proposed solution
- Alternative approaches considered
Pull Requests¶
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Add tests for new functionality
- Ensure all tests pass:
pytest - Format code:
black src/graphmem && isort src/graphmem - Commit with clear messages
- Push and create a Pull Request
Coding Standards¶
Style¶
- Follow PEP 8
- Use type hints
- Maximum line length: 88 characters
- Use Black for formatting
Documentation¶
- Add docstrings to all public functions
- Update relevant documentation
- Include examples for new features
Testing¶
- Write tests for new features
- Maintain test coverage above 80%
- Test edge cases
Commits¶
- Use clear, descriptive commit messages
- Reference issues when applicable
- Keep commits focused
Review Process¶
- PRs are reviewed by maintainers
- Address feedback promptly
- Squash commits when merging
- Maintainer will merge when approved
Questions?¶
- Open a GitHub issue
- Join our discussions
Thank you for making GraphMem better!