Skip to content

Contributing to SBMLImporter.jl

First, thanks for taking the time to contribute to SBMLImporter.jl! Contributions of all kinds helps make the package better for everyone.

Ways to contribute

Contributions are welcome in the form of:

  • Reporting bugs

  • Suggesting features or enhancements

  • Submitting fixes or improvements via pull requests (PRs)

  • Improving documentation (typos, examples, clarifications, tutorials)

Reporting bugs

If you find a bug, please open an issue on GitHub and include:

  • A clear, descriptive title

  • Steps to reproduce the problem, ideally with a minimal working example (MRE). For more about MREs, see Wikipedia and Stack Overflow.

  • What you expected to happen

  • What actually happened

  • Relevant error messages, logs, or screenshots (if applicable)

  • Version information (Julia version, SBMLImporter.jl version, and OS)

Suggesting enhancements

New ideas are welcome. Before opening a new issue, check the issue tracker to see whether it has already been suggested. If not, open a new issue describing:

  • The enhancement you would like

  • Why it would be useful

  • Any implementation ideas (optional, but helpful)

Pull request process

Before submitting a PR:

  1. Ensure there is an open issue related to the change (or create one).

  2. Fork the repository and create a new branch from main:

bash
git checkout -b feature/my-feature
  1. Make changes:
  • Keep changes focused and well-documented

  • Add or update tests where appropriate

  • If needed, update documentation

  1. Run the test suite. From the repository root, launch Julia with julia --project=. and then run:
julia
 ] test
  1. Format code with Runic.jl.

  2. Submit a pull request and reference the related issue (if applicable).

Pull request checklist

  • [ ] Code follows the project style (Runic.jl)

  • [ ] Tests added/updated as appropriate

  • [ ] Documentation updated as needed

  • [ ] Linked to an issue (if applicable)

Code style and documentation guidelines

  • Follow the formatting/style conventions enforced by Runic.jl.

  • Write clear docstrings for exported functions (see the API documentation for examples).

  • Prefer focused PRs that are easy to review.