Skip to content

Contributing

The most impactful way to contribute to AI-Hydro is adding domain tools — knowledge that currently lives in papers and custom scripts, packaged so any AI agent can discover and use it.


Plugin Contributions

See the Plugin Guide for complete walkthroughs.

High-priority domains:

  • Flood frequency analysis and extreme event statistics
  • Sediment transport and reservoir sedimentation
  • Groundwater modelling, well analysis, and recharge estimation
  • Remote sensing workflows (MODIS snow, Landsat ET, SAR soil moisture)
  • Water quality and nutrient cycling
  • Snow hydrology and glaciology
  • Irrigation scheduling and water resources management
  • Hydraulic modelling and 2D flood mapping

Core Contributions

For contributions to the core platform:

  1. Fork AI-Hydro/AI-Hydro or AI-Hydro/aihydro-tools
  2. Create a branchfeat/your-feature or fix/your-bug
  3. Write tests — see python/tests/ for examples
  4. Open a pull request with a description of what and why

Running Tests

cd python
pip install aihydro-tools[dev]
pytest tests/ -m "not live" -v

The not live marker skips tests that require internet access and full dependencies. These run in CI.

Code Style

Python: Ruff (ruff check . and ruff format .)
TypeScript: Biome (npx biome check .)


Documentation Contributions

This documentation site is built with MkDocs Material.

pip install mkdocs-material mkdocs-minify-plugin
mkdocs serve

Open http://localhost:8000 to preview changes locally.


Reporting Issues


License

By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.