Thank you for your interest in contributing to Open RLM Memory! This document provides guidelines for contributing to the project.
We welcome contributions in many forms:
- Reporting Bugs: Help us fix issues by reporting bugs
- Suggesting Features: Request new features or enhancements
- Writing Code: Submit pull requests with bug fixes or features
- Improving Documentation: Fix typos, improve clarity, add examples
- Answering Questions: Help other users in discussions
Follow these steps to set up your development environment:
git clone https://github.com/TykoDev/open-rlm-memory.git
cd open-rlm-memorycd backend
python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\activate
pip install -r requirements.txtcd frontend
npm installcp .env.example .env
# Edit .env with your local configuration# Backend
cd backend
pytest
# Frontend
cd frontend
npm run testUse descriptive branch names:
feature/add-user-authentication
bugfix/memory-delete-error
docs/update-api-documentationFollow Conventional Commits:
feat: add user authentication
fix: resolve search performance issue
docs: update API documentation
style: format code with ruff
refactor: simplify cache service
test: add unit tests for RLM service
chore: update dependencies
- Update your branch with latest main
- Ensure all tests pass locally
- Create pull request to main branch
- Fill out the PR template completely
- Link any related issues
- Request review from maintainers
- Be open to constructive feedback
- Review others' PRs when possible
- Keep feedback constructive and actionable
- Style: Follow PEP 8 and use
rufffor linting - Type Hints: Include type hints on all functions
- Documentation: Add docstrings to public classes and methods
- Testing: Write tests for new functionality
- Async: Use async/await for I/O operations
- Style: Use ESLint with Prettier
- Type Safety: No
anytypes, enable strict mode - Components: Use functional components with proper typing
- Testing: Write tests with Vitest and @testing-library/react
- Backend: All PRs must pass
pytest - Frontend: All PRs must pass
npm run testandnpm run typecheck - Coverage: Aim for 80%+ coverage on new code
- Bug Fixes: Include regression tests
- Update relevant documentation for user-facing changes
- Update CHANGELOG.md for notable changes
- Ensure code examples are accurate
- Check Documentation first
- Search Issues for similar questions
- Join Discussions for general conversation
By contributing, you agree that your contributions will be licensed under the AGPLv3. See also COMMERCIAL-LICENSE.md for commercial licensing.
Thank you for contributing to Open RLM Memory!