Skip to content

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

cd OpenAdapt
git checkout -b feature/my-change

4. Install in Development Mode

pip install -e ".[dev]"

5. Make Your Changes

Edit the code, add tests, update documentation.

6. Run Tests

pytest

7. Submit a Pull Request

git add .
git commit -m "Description of change"
git push origin feature/my-change

Then open a pull request on GitHub.

Development Setup

Main Package

git clone https://github.com/OpenAdaptAI/OpenAdapt
cd OpenAdapt
pip install -e ".[dev]"

Sub-packages

git clone https://github.com/OpenAdaptAI/openadapt-ml
cd openadapt-ml
pip install -e ".[dev]"

Guidelines

Code Style

  • Follow existing code style
  • Use type hints for function signatures
  • Format with ruff format or black
  • Lint with ruff check or flake8

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?

Recognition

Contributors are recognized in:

  • GitHub contributor graphs
  • Release notes
  • Project documentation

Thank you for helping make OpenAdapt better!