Thank you for your interest in contributing to IPSL-AID! This document provides guidelines for contributing to the project.
We want to make contributing to this project as easy and transparent as possible.
For detailed workflow instructions, refer to the documentation:
- Overview – Project overview and context
- Installation – Complete installation guide
- Quickstart Guide – Getting started with development
- Testing Philosophy – How we test and validate changes (Read This First)
- Project Structure – Understanding the codebase organization
- Pre-Push Workflow – Complete step-by-step guide before pushing changes
- Cartopy Configuration – Geospatial visualization setup
- Diffusion Models – Diffusion-specific implementations
- Neural Architectures – Model architecture guidelines
- Training Strategy – Training configurations and strategies
- Inference Modes – Inference workflows and options
IPSL_AID / IPSL-AID
We actively welcome your pull requests. To ensure a smooth contribution process, please follow these steps:
Fork the repository and create your branch from main
git checkout -b feature/your-feature-name
Add your changes – If you've added code, add the corresponding tests
Update documentation – If you've changed APIs or added new features, update the documentation accordingly
Run the test suite – Ensure all tests pass
python -m tests.test_all
Run pre-commit hooks – Make sure your code passes all pre-commit checks
pre-commit run --all-files
Commit your changes using conventional commits format:
- feat: for new features
- fix: for bug fixes
- docs: for documentation updates
- test: for test additions or changes
- refactor: for code refactoring
- perf: for performance improvements
Push to your fork and submit a pull request
git push origin feature/your-feature-name
- Use a descriptive branch name (e.g., feature/add-attention-unet, fix/data-normalization)
- Keep pull requests focused on a single feature or fix
- Reference any related issues in the pull request description
- Request review from relevant team members
- Respond to feedback and address requested changes promptly
All submissions, including submissions by project maintainers, require review. We use GitHub pull requests for this purpose. A reviewer will:
- Check code quality and style
- Verify test coverage
- Ensure documentation is complete
- Test the changes locally if necessary
Pull requests are merged once they:
- Pass all continuous integration checks
- Have at least one approval from a maintainer
- Have no unresolved comments or requested changes
If you have questions about contributing, please:
- Open a GitHub issue for discussion
- Refer to the Pre-Push Workflow for detailed instructions
- Check the Quickstart Guide for setup help
---
Thank you for contributing to IPSL-AID!