Skip to content

Contributing

Thank you for your interest in contributing to fAIr Models! This project is part of HOT — Humanitarian OpenStreetMap Team and powers AI-assisted mapping for humanitarian response.

Ways to Contribute

The primary contribution path is adding a new base model to fAIr. See the Contributing a Model guide for the full specification.

Bug fixes, features, and documentation improvements to the fair-py-ops package are welcome.

Open an issue on GitHub with:

  • Clear description of the problem or suggestion
  • Steps to reproduce (for bugs)
  • Expected vs actual behavior

Development Setup

Set up local dev environment
git clone https://github.com/hotosm/fAIr-models.git
cd fAIr-models
just setup

Code Standards

Tip

  • Linting, formatting & type checking: ruff + ty : run just lint before submitting
  • Tests: pytest : run just test, all tests must pass
  • Validation: run just validate to check STAC items and model pipelines
  • Commits: Conventional Commits enforced via commitizen and pre-commit hooks

Pull Request Process

  1. Fork the repository and create a feature branch
  2. Make your changes with clear, atomic commits
  3. Ensure all checks pass:

    Run all checks
    just lint
    just test
    just validate
    
  4. Open a PR against master with a clear description

  5. CI will run lint, typecheck, tests, STAC validation, and model validation
  6. Maintainers will review and provide feedback

License

Warning

By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.