Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 3.17 KB

CONTRIBUTING.md

File metadata and controls

73 lines (55 loc) · 3.17 KB

Contributing to Iris

This document describes contributing guidelines for the Iris project.

You're encouraged to read this document before your first contribution to Iris. Spending your time familiarising yourself with these guidelines is much appreciated because following this guide ensures the most positive outcome for contributors and maintainers! 💖

How to contribute

Everyone is welcome to contribute as long as they follow our rules for polite and respectful communication!

And you can contribute to Iris in multiple ways:

  1. Share your success stories or confusion moments when using Iris under Discussions.
  2. Open Issues with bug reports or feature suggestions.
  3. Open Pull Requests (PRs) with documentation improvements, changes to the code or even implementation of desired changes!

If you would like to open a PR, create the issue first if it doesn't exist. Discussing implementation details or various architecture decisions avoids spending time inefficiently.

You may argue that sometimes it's easier to share your vision with exact code changes via a PR. Still, it's better to start a Discussion or an Issue first by mentioning that you'll open a PR later with your thoughts laid out in code.

If you want to take an existing issue, please, share your intention to work on something in the comment section under the corresponding issue. This avoids the situation when multiple people are working on the same problem concurrently.

Pull Requests requirements

Generally, the process of submitting, reviewing and accepting PRs should be as lightweight as possible if you've discussed the implementation beforehand. However, there're still a few requirements:

  1. Be polite and respectful in communications. Follow our Code of Conduct.
  2. The code should be formatted with fourmolu using the Iris-specific configuration. Your changes will be rejected if they don't follow the formatting requirements.
  3. Add a @since x.x.x.x annotation to all newly introduced and exported types, classes, functions, fields and instances.
  4. Add an entry to CHANGELOG.md describing your changes in the format similar to other changes.

That's all so far!

ℹ️ NOTE: PRs are merged to the main branch using the "Squash and merge" button. You can produce granular commit history to make the review easier or if it's your preferred workflow. But all commits will be squashed when merged to main.

Write access to the repository

If you want to gain write access to the repository, open a discussion with the Commit Bits category and mention your willingness to have it.

I (@chshersh) grant write access to everyone who contributed to Iris.