Skip to content

Latest commit

 

History

History
72 lines (47 loc) · 2.8 KB

File metadata and controls

72 lines (47 loc) · 2.8 KB

Contributing to RMR

Thank you for your interest in contributing to the Recursive Memory Retrieval (RMR) framework. This guide will help you get started.

How to Contribute

Reporting Issues

  • 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.).

Suggesting Changes

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.

Submitting Pull Requests

  1. Fork the repository and create a branch from main.
  2. Set up your development environment following the Quick Start guide.
  3. Make your changes in a focused, well-scoped branch.
  4. 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.
  5. Write clear commit messages that explain the "why" behind your changes.
  6. Open a pull request against main with a clear description of what your changes do and why.

Areas Where Contributions Are Especially Valuable

  • 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

Development Setup

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_sm

Copy env.example to .env and configure your settings before running.

Code Guidelines

  • 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.

Patent Notice

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.

License

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.

Code of Conduct

All participants in this project are expected to follow our Code of Conduct. Please read it before contributing.

Questions?

If you have questions about contributing, feel free to open an issue and we'll be happy to help.