Thank you for your interest in contributing to StudySage! This document provides guidelines for contributing to the project.
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
- Check existing issues to avoid duplicates
- Use the issue template when creating new issues
- Provide clear reproduction steps for bugs
- Include system information (OS, Python version, etc.)
- Fork the repository
- Create a feature branch from
main:git checkout -b feature/your-feature-name
- Make your changes following the coding standards below
- Test thoroughly - ensure bot works with your changes
- Commit with descriptive messages using conventional commits:
git commit -m "feat: add new knowledge domain for computer vision" git commit -m "fix: resolve async timeout in generation module" git commit -m "docs: improve installation instructions"
- Submit a pull request with a clear description
-
Clone your fork and install dependencies:
git clone https://github.com/YOUR_USERNAME/StudySage.git cd StudySage poetry install -
Set up your development environment:
cp .env.example .env # Configure your .env file -
Ensure Ollama is running:
ollama pull mistral ollama serve
- Python Style: Follow PEP 8
- Documentation: Add docstrings for all functions and classes
- Type Hints: Use type annotations where appropriate
- Error Handling: Include proper error handling and logging
- Testing: Test your changes thoroughly before submitting
- Knowledge Base Expansion: Add new AI/ML topic documents
- Performance Optimization: Improve vector search or LLM response times
- Error Handling: Enhance robustness and user experience
- Evaluation Metrics: Add response quality measurement tools
- Configuration: Improve setup and configuration flexibility
- Documentation: Enhance tutorials and examples
- Multi-language Support: Internationalization features
- Advanced RAG: Implement more sophisticated retrieval strategies
- Monitoring: Add performance monitoring and analytics
- Title: Use descriptive titles that explain the change
- Description: Include motivation, changes made, and testing notes
- Scope: Keep changes focused - one feature/fix per PR
- Testing: Verify your changes work with existing functionality
- Documentation: Update README or docs if needed
Feel free to open an issue for questions about contributing or reach out to the maintainers.
Thank you for contributing to StudySage!