Skip to content

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

  1. Check if the issue already exists
  2. Create a new issue with:
  3. Clear title
  4. Steps to reproduce
  5. Expected vs actual behavior
  6. Environment details

Suggesting Features

  1. Check existing feature requests
  2. Create an issue describing:
  3. The problem you're solving
  4. Your proposed solution
  5. Alternative approaches considered

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass: pytest
  6. Format code: black src/graphmem && isort src/graphmem
  7. Commit with clear messages
  8. 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

  1. PRs are reviewed by maintainers
  2. Address feedback promptly
  3. Squash commits when merging
  4. Maintainer will merge when approved

Questions?

  • Open a GitHub issue
  • Join our discussions

Thank you for making GraphMem better!