Contributing

Welcome and thank you for considering contributing to TensorInference.jl.

By following these guidelines, you make it easier for everyone to work together. It shows you value the time of the people who create and manage this open-source project. In return, we'll show you the same respect by quickly looking at your issues, reviewing your changes, and helping you with your pull requests.

Getting Started

Contributions are made to this repo via Issues and Pull Requests (PRs). A few general guidelines that cover both:

  • Search for existing Issues and PRs before creating your own.
  • We do our best to solve problems quickly. Still, some issues take longer to understand. Posting a comment can help, especially if you need a quick fix.

Issues

Issues should be used to report problems with the package, ask for a new feature, or discuss possible changes before creating a Pull Request (PR). When you open a new issue, please include all the details needed to look into it.

If you find an Issue that addresses the problem you're having, please add your own reproduction information to the existing issue rather than creating a new one.

Pull Requests

Pull Requests (PRs) to our package are always welcome. Submitting a PR is a quick way to have your changes considered for the next software release. Generally, your Pull Request should:

  • Either fix or add the functionality in question OR address widespread whitespace/style issues, not both.
  • Add unit or integration tests for any fixed or changed features.
  • Minimize the number of changed lines to address a single concern.
  • Include documentation in the repo, especially for implementations of new features.

For major changes that affect core functionality or would require a new major release, we recommend opening an Issue to discuss your ideas before creating a Pull Request. While this step is optional, it can save everyone time in both the creation and review phases.

In general, we follow the "fork-and-pull" Git workflow

  1. Fork the repository to your own GitHub account.
  2. Clone the project to your machine.
  3. Create a branch locally with a succinct but descriptive name.
  4. Commit changes to the branch.
  5. Follow any formatting and testing guidelines specific to this repo.
  6. Push changes to your fork.
  7. Open a PR in our repository and complete the PR template to help us efficiently review the changes.