Skip to content

Contributing

Contributions to Aragog are welcome. Here is how to get started.

Setting up for development

  1. Clone the repository:

    git clone git@github.com:FormingWorlds/aragog.git
    cd aragog
    

  2. Install in editable mode with the development extras:

    pip install -e ".[docs,test,jax]"
    

  3. Verify your setup:

    pytest tests/
    

Development workflow

  1. Create a feature branch from main:

    git checkout -b your-name/short-description
    

  2. Make your changes. Follow the existing code style:

  3. Docstrings on all public functions and classes (NumPy style)
  4. Type hints where practical
  5. Inline comments for non-obvious logic

  6. Lint and format before committing:

    ruff check --fix src/ tests/
    ruff format src/ tests/
    

  7. Run the test suite:

    pytest tests/
    

  8. 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.