Skip to content

Latest commit

History

History
72 lines (49 loc) 路 3.48 KB

contributing.md

File metadata and controls

72 lines (49 loc) 路 3.48 KB

Contributing

We're happy you want to contribute! 馃挏

You may:

Paths to become a contributor

  1. To propose changes or write code, the repo is open-source so you're ready to go 馃殌
  2. If you make loved contributions, we'll surely contact you and invite you to join as a volunteer (join the Slack, become a repo collaborator...) 馃挭
  3. You may then go further and help with reviews, merges, managing ops. At this point, we'll be in touch 馃槈

Proposing a change

  1. Check if there is something matching in issues. If yes, please discuss on it.
  2. Otherwise, create a new issue and mention our matching champions.

Writing code

  1. Select an issue from the roadmap or issues.
  2. Check issue priority: P0 is highest priority, P3 the lowest.
  3. Drop a comment to say you want to work on it.
  4. Setup your dev environment and rock on 馃幐.
  5. Create a pull-request (we use the Github flow).

Recommended practices when taking an issue

  • Look for issues tagged good first issue for your 1st contribution.
  • Drop a comment to say you'll work on it.
    • If possible mention an approximate ETA.
    • Repo admins will assign the issue to you and help if possible.

Recommended practices for pull-requests

  • Be verbose in your description: what have you done, why and screenshots are welcome.
  • Link the original issue to your PR.
  • Ask for feedback early, don't hesitate to ask for help. Mention our champions.
  • Mark your PR as draft until you're done and ready for a formal review.
  • Check all Github actions are green.
  • Ask for review using Github's feature.

Merge process

  • Only some contributors are authorized to merge (see champions to see who).
  • More are allowed to review, easing the work of those who can merge.
  • Merging in main will automatically deploy to production.

Reviewing code

We have a preference for contributors who also write code, but if you only have time for reviews and you have a significative Rails experience, that will help!

  • If you want to help with reviews, we'll add you as a collaborator of the repository. Send an email to [email protected].
  • Once you're in, look at pull requests and choose one
  • Don't forget to assign yourself to the PR so others will look at others
  • If you need help, mention one of our champions
  • Once the PR is approved, one of the admins will be able to merge it with a faster review, so thanks in advance for the time you saved them 馃檹

Review guidelines

  • Keep code consistent with the Rails-way and Ruby idioms
  • Keep things simple: this is a time-limited project so no need for tech perfection, over-engineering or extraneous features
  • Never forget to check for security risks and how personal data is processed

We favor explicit doubts and discussion so don't hesitate to be verbose when commenting a PR to trigger a discussion. Still, let's keep discussion short and efficient!

Of course, you're expected to follow our code of conduct in all interactions, in particular reviews!

Thanks in advance for your help 馃檹