Contributing
Memory is open source and welcomes contributions. Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
Ways to Contribute
Report Bugs
Found something broken? Open an issue with steps to reproduce.
Request Features
Have an idea? Open a discussion to explore new capabilities.
Submit Code
Fix bugs or implement features via pull requests.
Improve Docs
Help make Memory easier to understand and use.
Add Connectors
Build new data source integrations for more platforms.
Share Feedback
Try Memory and share your experience in discussions.
Development Setup
-
Fork the repository
Click "Fork" on the GitHub repo.
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/memory.git
cd memory -
Set up development environment
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,web,all-sources]" -
Create a branch
git checkout -b feature/your-feature-name -
Run tests
pytest tests/
ruff check src/
Pull Request Guidelines
- Keep PRs focused - One feature or fix per PR
- Write tests - New features need test coverage
- Update docs - If your change affects documentation
- Follow style - Run
ruff formatbefore committing - Clear description - Explain what and why
Issue Guidelines
Good Issue Example
Title: Gmail connector fails with "token expired" after 7 days
Description: Steps to reproduce: 1. Connect Gmail, 2. Wait 7 days, 3. Try to sync.
Expected: Token auto-refreshes. Actual: 401 error.
Environment: Memory 0.1.0, Python 3.11, macOS 14.2
Less Helpful Issue Example
Title: Gmail doesn't work
Description: It's broken, please fix.
Code of Conduct
Be respectful, constructive, and welcoming. We're all here to build something useful.
- Be kind and patient with newcomers
- Assume good intentions
- Focus on the work, not the person
- No harassment, discrimination, or personal attacks
Getting Help
If you're stuck or have questions:
- GitHub Discussions - General questions
- GitHub Issues - Bug reports
- Email - Direct contact
First Time Contributing?
Look for issues labeled good-first-issue on GitHub.
These are beginner-friendly and well-scoped.