Thank you for your interest in contributing to this project! This document provides guidelines for contributing to the Open WebUI AB-MCTS & Multi-Model Pipeline Project.
- Docker and Docker Compose
- Python 3.11+
- Git
- Ollama with models:
deepseek-r1:1.5b,gemma3:1b,llama3.2:1b
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/openwebui-ab-mcts.git - Initialize submodules:
git submodule update --init --recursive - Start services:
docker-compose up -d - Access Open WebUI at
http://localhost:3000and Backend API docs athttp://localhost:8095/api/docs
- Follow PEP 8 for Python code
- Use type hints where appropriate
- Write docstrings for all functions and classes
- Keep functions small and focused
Use conventional commit format:
feat:for new featuresfix:for bug fixesdocs:for documentation changesstyle:for formatting changesrefactor:for code refactoringtest:for adding tests
- Create a feature branch from
main - Make your changes
- Add tests if applicable
- Update documentation
- Submit a pull request
# Run all tests
docker-compose exec backend-api python -m pytest
# Run specific test file
docker-compose exec backend-api python -m pytest tests/test_ab_mcts.py- Aim for >80% test coverage
- Write unit tests for new features
- Include integration tests for API endpoints
- Update README.md for major changes
- Update API_REFERENCE.md for API changes
- Update ARCHITECTURE.md for architectural changes
- Update DEPLOYMENT.md when docker-compose or commands change
- Update PROJECT_STATUS.md and PROJECT_HANDOFF_PROMPT.md when limitations/status change
- Add inline comments for complex logic
When reporting bugs, please include:
- Description of the issue
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment details (OS, Docker version, etc.)
When requesting features, please include:
- Description of the feature
- Use case and motivation
- Proposed implementation (if any)
- Alternative solutions considered
- Create an issue for questions
- Join our discussions for general chat
- Check existing issues before creating new ones
By contributing, you agree that your contributions will be licensed under the MIT License.
Contributors will be recognized in:
- CONTRIBUTORS.md file
- Release notes
- Project documentation
Thank you for contributing! 🎉