Contribute

If you'd like to contribute to the Limace.jl project a few guidelines are outlined here on how to participate, contribute, and collaborate.

How to contribute

1. Reporting Issues

  • Use GitHub Issues to report bugs.
  • Before submitting, check if a similar issue already exists.
  • Provide a clear title and description, including:
    • Minimal working example to reproduce the bug (if applicable).
    • Expected behaviour vs. observed behaviour.
    • Relevant details (e.g., Julia version, OS, error messages).

2. Submitting Pull Requests (PRs)

  • Fork the repository and create a new branch for your changes (e.g. git checkout -b feature-or-fix-name).
  • Ensure your code follows the project’s style and conventions (see Code Style below).
  • Document and test any added functionality.
  • Write clear commit messages (e.g., "Add feature X" or "Fix bug in Y").
  • Submit a PR with:
    • A descriptive title and explanation of your changes.
    • Reference any related issues (e.g., "Closes #123").

3. Documentation

  • Contributions to documentation are just as valuable as code contributions!
  • You can use the "Edit source on GitHub" shortcut in the top right symbols on a documentation page, or contribute through the usual git interface.
  • If adding examples, ensure that they are clear, functional, and provide sufficient context.

4. Feature Requests

  • Open an issue to discuss new features before submitting a PR.
  • Before submitting, check if a similar request already exists.
  • Explain the use case and potential benefits.

Code Style

To maintain consistency, please adhere to the following:

  • Follow Julia’s Style Guide.
  • Use 4 spaces for indentation (no tabs).
  • Keep functions concise and well-documented with docstrings.
  • Run tests before submitting (julia --project test/runtests.jl).
  • Avoid unnecessary package dependencies.

Review Process

  • All PRs will be reviewed by maintainers/contributors.
  • PRs should pass any existing tests and not introduce breaking changes unless justified.

Community Standards

We strive to make Limace.jl a positive and inclusive space. Please:

  • Be respectful and considerate in all interactions.
  • Use welcoming language and avoid harmful comments.
  • Focus on collaboration, not confrontation—disagreements are fine, but keep it civil.
  • Report any inappropriate behaviour to the maintainers directly.

Licensing

By contributing to Limace.jl, you agree that your contributions are licensed under the project’s LICENSE (European Union Public License 1.2). Ensure any code you submit is your own or compatible with this license.

Getting Help

  • Ask questions in the Discussions section or file an issue.
  • Reach out to maintainers directly (e.g. felixgerick at gmail.com).