Contributing to OpenAdapt¶
Thank you for your interest in contributing to OpenAdapt!
Architecture¶
OpenAdapt uses a modular meta-package architecture. The main openadapt package coordinates these sub-packages:
| Package | Purpose | Repository |
|---|---|---|
| openadapt-capture | GUI recording | openadapt-capture |
| openadapt-ml | ML training/inference | openadapt-ml |
| openadapt-evals | Benchmark evaluation | openadapt-evals |
| openadapt-viewer | HTML visualization | openadapt-viewer |
| openadapt-grounding | UI element localization | openadapt-grounding |
| openadapt-retrieval | Multimodal retrieval | openadapt-retrieval |
| openadapt-privacy | PII/PHI scrubbing | openadapt-privacy |
Where to Contribute¶
- This repository: Meta-package, CLI, documentation, CI/CD
- Sub-packages: Open issues in the relevant repository above
Getting Started¶
1. Fork the Repository¶
Click the "Fork" button on GitHub for the repository you want to contribute to.
2. Clone Your Fork¶
git clone https://github.com/YOUR-USERNAME/OpenAdapt
# or for a sub-package:
git clone https://github.com/YOUR-USERNAME/openadapt-ml
3. Create a Branch¶
4. Install in Development Mode¶
5. Make Your Changes¶
Edit the code, add tests, update documentation.
6. Run Tests¶
7. Submit a Pull Request¶
Then open a pull request on GitHub.
Development Setup¶
Main Package¶
Sub-packages¶
Guidelines¶
Code Style¶
- Follow existing code style
- Use type hints for function signatures
- Format with
ruff formatorblack - Lint with
ruff checkorflake8
Testing¶
- Add tests for new functionality
- Ensure existing tests pass
- Use pytest for test framework
Documentation¶
- Update docstrings for API changes
- Update README for feature changes
- Add examples where helpful
Pull Requests¶
- Keep PRs focused and small
- Write clear descriptions
- Reference related issues
- Respond to review feedback
Code of Conduct¶
Be respectful and inclusive. We follow the Contributor Covenant.
Questions?¶
- Discord - Real-time chat
- GitHub Discussions - Longer discussions
- GitHub Issues - Bug reports and features
Recognition¶
Contributors are recognized in:
- GitHub contributor graphs
- Release notes
- Project documentation
Thank you for helping make OpenAdapt better!