Thank you for your interest in contributing to the iGenius RAG Pipeline project! This document provides guidelines and instructions for contributing.
- Fork the repository
- Create a feature branch
- Make your changes
- Write or update tests
- Submit a pull request
- Follow PEP 8 for Python code
- Use type hints
- Write docstrings for functions and classes
- Keep functions focused and small
- Use meaningful variable names
Before submitting a PR:
- Run unit tests:
pytest - Run load tests:
python tests/load_test.py - Check code coverage:
pytest --cov=app
Update documentation when you:
- Add new features
- Change existing functionality
- Fix bugs that affect user interaction
Follow conventional commits:
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- test: Test updates
- refactor: Code refactoring
- chore: Maintenance tasks
- Update README.md with details of changes
- Update requirements.txt if adding dependencies
- Update tests to cover new functionality
- Ensure CI/CD pipeline passes
- Request review from maintainers
- Clone your fork:
git clone https://github.com/yourusername/igenius-rag.git
cd igenius-rag- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up pre-commit hooks:
pre-commit install# Run all tests
pytest
# Run with coverage
pytest --cov=app
# Run specific test file
pytest tests/test_rag_pipeline.py- All submissions require review
- Changes must have tests
- PR must pass CI/CD pipeline
- Documentation must be updated
Open an issue or contact the maintainers.