Contributing to Cascade
Thank you for your interest in contributing to Cascade! This document provides guidelines for contributing to the project.
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/cascade.git - Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
make test - Commit your changes:
git commit -m "Add feature: description" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
Development Setup
# Install dependencies
pip install poetry
poetry install
# Run tests
make test
# Run linting
make lint
# Format code
make format
# Start development server
make run
Code Style
- Follow PEP 8 guidelines
- Use type hints where appropriate
- Write docstrings for public functions
- Keep functions focused and small
- Add tests for new features
Testing
- Write unit tests for new features
- Ensure all tests pass before submitting PR
- Aim for >80% code coverage
- Test both happy path and edge cases
Commit Messages
Follow conventional commits:
feat:New featurefix:Bug fixdocs:Documentation changestest:Adding testsrefactor:Code refactoringchore:Maintenance tasks
Example: feat: add semantic caching with Qdrant
Pull Request Process
- Update README.md with details of changes if needed
- Update documentation
- Add tests for new functionality
- Ensure CI/CD pipeline passes
- Request review from maintainers
Questions?
Feel free to open an issue for questions or discussions!