Thank you for your interest in contributing to the Recursive Memory Retrieval (RMR) framework. This guide will help you get started.
- Use GitHub Issues to report bugs or request features.
- Search existing issues before creating a new one to avoid duplicates.
- Include as much detail as possible: steps to reproduce, expected vs. actual behavior, environment info (OS, Python version, etc.).
For significant changes, please open an issue first to discuss your proposal. This helps avoid wasted effort and ensures your contribution aligns with the project's direction.
- Fork the repository and create a branch from
main. - Set up your development environment following the Quick Start guide.
- Make your changes in a focused, well-scoped branch.
- Test your changes thoroughly. If you're modifying the API, verify endpoints work as expected. If you're modifying the frontend, test in a browser.
- Write clear commit messages that explain the "why" behind your changes.
- Open a pull request against
mainwith a clear description of what your changes do and why.
- Vector database backends (FAISS, Milvus, Qdrant) as alternatives to SQLite
- Docker/container support
- Additional document format parsers
- Benchmarks against standard RAG datasets (HotpotQA, MuSiQue, etc.)
- Integration adapters for LangChain / LlamaIndex
git clone https://github.com/phatware/RMR.git
cd RMR
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m nltk.downloader punkt_tab
python -m spacy download en_core_web_smCopy env.example to .env and configure your settings before running.
- Follow existing code style and conventions in the project.
- Keep changes focused: one PR per feature or fix.
- Add comments only where the logic is not self-evident.
- Do not introduce new dependencies without discussing in an issue first.
- Ensure your code does not expose secrets, API keys, or credentials.
RMR is covered by a pending patent (US 63/825,970). By contributing, you agree that your contributions may be used in connection with the patented technology.
By submitting a contribution, you agree that your work will be licensed under the Apache License 2.0, the same license that covers the project.
All participants in this project are expected to follow our Code of Conduct. Please read it before contributing.
If you have questions about contributing, feel free to open an issue and we'll be happy to help.