Contributing
Contributions to Aragog are welcome. Here is how to get started.
Setting up for development
-
Clone the repository:
git clone git@github.com:FormingWorlds/aragog.git cd aragog -
Install in editable mode with the development extras:
pip install -e ".[docs,test,jax]" -
Verify your setup:
pytest tests/
Development workflow
-
Create a feature branch from
main:git checkout -b your-name/short-description -
Make your changes. Follow the existing code style:
- Docstrings on all public functions and classes (NumPy style)
- Type hints where practical
-
Inline comments for non-obvious logic
-
Lint and format before committing:
ruff check --fix src/ tests/ ruff format src/ tests/ -
Run the test suite:
pytest tests/ -
Open a pull request against
main.
Reporting issues
If you find a bug or have a feature request, please open an issue on GitHub.
Code of Conduct
All contributors are expected to follow our Code of Conduct.