Contributing to AlphaFlow¶
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or suggesting enhancements, your help is appreciated.
Getting Started¶
- Fork the repository on GitHub
-
Clone your fork locally:
-
Install dependencies using uv:
Development Workflow¶
Running Tests¶
Running Quality Checks¶
Code Coverage¶
Building Documentation¶
uv run mkdocs serve # Preview docs locally at http://127.0.0.1:8000
uv run mkdocs build # Build static site
Code Style¶
- We use ruff for linting and formatting
- We use ty for type checking
- All code must pass
make checkbefore being merged - Maintain 90%+ test coverage for new code
Pull Request Process¶
-
Create a feature branch:
-
Make your changes and commit with clear messages:
-
Push to your fork:
-
Open a Pull Request on GitHub with:
- Clear description of changes
- Any relevant issue numbers
-
Screenshots/examples if applicable
-
Ensure all checks pass:
- CI tests must pass
- Code coverage should not decrease
- All quality checks must pass
Areas for Contribution¶
High Priority¶
- Additional strategy implementations
- More data feed integrations
- Broker improvements (slippage, partial fills)
- Performance optimizations
Documentation¶
- API documentation improvements
- More examples and tutorials
- Case studies
Testing¶
- Edge case coverage
- Integration tests
- Performance benchmarks
Questions?¶
Open an issue on GitHub or start a discussion in the repository.
Code of Conduct¶
Be respectful, inclusive, and constructive in all interactions.